@Exported public class AssetFacadeImpl extends Object implements AssetFacade
Constructor and Description |
---|
AssetFacadeImpl(ICS ics) |
Modifier and Type | Method and Description |
---|---|
protected Object |
evaluateProfileExpression(String profileName,
Map<String,Object> profileValues,
String pattern)
Evaluate the profile expression value against the profile data, returning the profile value.
|
List<AssetResultRow> |
executeContentQuery(String siteName,
Long assetId,
String assetName,
int limit,
String sortingField,
boolean ascending)
Execute a ContentQuery to retrieve the results.
|
AssetId |
filterSingleAsset(AssetId asset,
String desiredLocale,
String dimensionSetName)
Filter an asset based on a DimensionSet and a preferred locale.
|
List<String> |
getAllAssociations(AssetId id)
Get a list of all defined associations for a given asset.
|
List<String> |
getAllAttributes(AssetId id)
Get a list of all defined attributes back for given asset id.
|
AssetId |
getAssetByName(String siteName,
String assetType,
String assetName)
Retrieve an asset id from an asset name; for the possible multiple returns (assets with same names),
we will return the first asset from the list.
|
AssetId |
getDimensionAssetId(String locale,
AssetId asset,
String dimensionSet)
It returns the desired translation of the asset using the locale and dimensionSet filter.
|
protected String |
getExpressionForProfileName(String valueSource,
String profileName)
Returns the appropriate expression for the given profileName from the valueSource field of the visitor attribute.
|
String |
getField(String assettype,
String id,
String fieldName)
Get a field for a given asset type and id.
|
String |
getICSVar(String name)
Get an ICS variable given name.
|
List<AssetId> |
getImmediateChildren(String siteName,
AssetId assetId)
Get the immediate children of a given flex parent asset.
|
Long |
getPublicationId(String assetName)
Get the publication id given a publication name.
|
List<RecommendedAssetId> |
getRecommendations(String recommendationName,
String visitorId,
String profileName,
Map<String,Object> profile,
String segments,
String sitename,
boolean keepSegments)
Get a list of recommended assets.
|
AssetId |
getRelative(AssetId asset,
String locale)
Get a relative of a given asset using the preferred locale.
|
Collection<AssetId> |
getRelatives(AssetId assetId)
Retrieve the relatives of a given asset in a Collection.
|
List<AssetId> |
getSegments(String alias,
String profileName,
Map<String,Object> profile,
String sitename)
Get the segments that the visitor belongs to with visitor alias and visitor attributes.
|
String |
getSubtype(AssetId asset)
Get the subtype for a given asset.
|
boolean |
isAssetInSite(AssetId asset,
String site) |
boolean |
isAttributeExist(AssetData assetData,
String attribute)
Check if an Attribute exist in current assetData.
|
boolean |
isValid(AssetId id,
Date date)
Check an asset is valid or not for a given date.
|
String |
makeBlobLink(BlobLinkInfo linkInfo)
Generate a blob link given table, identifierColumnName, identifier, and columnname with given BlobLinkInfo
|
String |
makeLink(LinkInfo linkInfo)
Generate a link given asset, template name, and LinkInfo.
|
String |
makeRevisionBlobLink(String attribute,
BlobObject blob,
RevisionAssetId assetId) |
protected void |
populateScalarDataFromProfile(com.openmarket.gator.interfaces.IVisitorDataManager vdm,
String profileName,
Map<String,Object> profileData,
Long siteId,
Map<String,String> scalarAttributesSet)
Populates ScalarVars data from the given profile.
|
String |
processEmbeddedLink(InputStream data)
Process the embeddedLink inside a binary attribute and return the processed result.
|
String |
processEmbeddedLink(String data)
Process the embeddedLink inside a String/Text attribute and return the processed result.
|
AssetData |
read(AssetId assetId,
List<String> attributes)
Reads given set attribute data and returns an AssetData instance containing them.
|
Iterable<AssetData> |
read(List<AssetId> assetIds,
boolean immediateOnly)
Read a list of AssetData given a list of AssetIds.
|
void |
recordBlobDependency(String blobkey,
String depns) |
protected void |
restoreVisitorAttributes(com.openmarket.gator.interfaces.IVisitorDataManager vdm,
Map<String,String> scalarAttributesSet) |
List<AssetId> |
retainSegments(String alias,
String profileName,
Map<String,Object> profile,
String segments,
String sitename)
Get the segments from the specified list that the visitor belongs to with visitor alias and visitor attributes
|
public AssetFacadeImpl(ICS ics)
public Iterable<AssetData> read(List<AssetId> assetIds, boolean immediateOnly) throws AssetAccessException
AssetFacade
read
in interface AssetFacade
assetIds
- The list of asset ids to read.AssetAccessException
- Rethrown exception.public AssetData read(AssetId assetId, List<String> attributes) throws AssetAccessException
AssetFacade
read
in interface AssetFacade
assetId
- AssetId to read attributes for.attributes
- Names of the attributes.AssetAccessException
- Is thrown if the AssetId does not exist or attribute names passed are incorrect
for the asset. AssetAccessException also wraps any AssetExceptions thrown by the internal implementation.public List<String> getAllAttributes(AssetId id)
AssetFacade
getAllAttributes
in interface AssetFacade
id
- The asset ID to get attributes for.public List<String> getAllAssociations(AssetId id)
AssetFacade
getAllAssociations
in interface AssetFacade
id
- The asset id to get attributes for.public String getICSVar(String name)
AssetFacade
getICSVar
in interface AssetFacade
name
- The name of the ICS variable.public String getField(String assettype, String id, String fieldName)
AssetFacade
getField
in interface AssetFacade
assettype
- The asset type.id
- The ID of the asset.fieldName
- The name of the field to get value for.public String getSubtype(AssetId asset) throws AssetAccessException
AssetFacade
getSubtype
in interface AssetFacade
asset
- The asset id.AssetAccessException
- an AssetAccessExceptionpublic boolean isValid(AssetId id, Date date)
AssetFacade
isValid
in interface AssetFacade
id
- The asset ID.date
- The date of interest.public AssetId getRelative(AssetId asset, String locale)
AssetFacade
getRelative
in interface AssetFacade
asset
- The asset.locale
- The interested locale.public String makeLink(LinkInfo linkInfo) throws AssetAccessException
AssetFacade
makeLink
in interface AssetFacade
linkInfo
- The link information.AssetAccessException
- an AssetAccessException.public String makeBlobLink(BlobLinkInfo linkInfo) throws AssetAccessException
AssetFacade
makeBlobLink
in interface AssetFacade
linkInfo
- The blob link information.AssetAccessException
- an AssetAccessExceptionpublic List<AssetId> getSegments(String alias, String profileName, Map<String,Object> profile, String sitename)
AssetFacade
getSegments
in interface AssetFacade
alias
- The visitor alias.profileName
- The name of the visitor profile.profile
- The visitor's profile (which is a map containing the attributes).sitename
- The site name.public List<AssetId> retainSegments(String alias, String profileName, Map<String,Object> profile, String segments, String sitename)
AssetFacade
retainSegments
in interface AssetFacade
alias
- The visitor aliasprofileName
- The name of the visitor profile.profile
- The visitor's profile (which is a map containing the attributes).segments
- The list of segment names separated by ",".sitename
- The site name.public List<RecommendedAssetId> getRecommendations(String recommendationName, String visitorId, String profileName, Map<String,Object> profile, String segments, String sitename, boolean keepSegments) throws AssetAccessException
AssetFacade
getRecommendations
in interface AssetFacade
recommendationName
- the recommendation asset name to retrieve assets from.visitorId
- The visitor alias.profileName
- The name of the visitor profile.profile
- The visitor's profile (which is a map containing the attributes).segments
- The list of segment names separated by "," if known.sitename
- The site name.AssetAccessException
- an AssetAccessExceptionprotected void populateScalarDataFromProfile(com.openmarket.gator.interfaces.IVisitorDataManager vdm, String profileName, Map<String,Object> profileData, Long siteId, Map<String,String> scalarAttributesSet) throws com.openmarket.basic.interfaces.AssetException, NoSuchFieldException
vdm
- an IVisitorDataManagerprofileName
- a StringprofileData
- a MapsiteId
- a LongscalarAttributesSet
- a MapNoSuchFieldException
- a NoSuchFieldExceptioncom.openmarket.basic.interfaces.AssetException
protected String getExpressionForProfileName(String valueSource, String profileName)
valueSource
- The valuesource field value defined in the VMSCALARATTRIBUTEDEF table.profileName
- The profile name whose expression should be retrieved.protected Object evaluateProfileExpression(String profileName, Map<String,Object> profileValues, String pattern)
profileName
- The name of the profile, perhaps "PROF2"profileValues
- The profile map of valuespattern
- The pattern expression to extract, perhaps PROF2.userData[2].customer.ageprotected void restoreVisitorAttributes(com.openmarket.gator.interfaces.IVisitorDataManager vdm, Map<String,String> scalarAttributesSet)
public boolean isAttributeExist(AssetData assetData, String attribute)
AssetFacade
isAttributeExist
in interface AssetFacade
assetData
- The AssetData.attribute
- The attribute name to check.public AssetId filterSingleAsset(AssetId asset, String desiredLocale, String dimensionSetName) throws com.fatwire.mda.DimensionException
AssetFacade
filterSingleAsset
in interface AssetFacade
asset
- The asset to filter.desiredLocale
- The preferred locale.dimensionSetName
- name of the DimensionSet to be used.com.fatwire.mda.DimensionException
- an DimensionExceptionpublic Collection<AssetId> getRelatives(AssetId assetId)
AssetFacade
getRelatives
in interface AssetFacade
assetId
- The asset id of interested asset.public List<AssetId> getImmediateChildren(String siteName, AssetId assetId)
AssetFacade
getImmediateChildren
in interface AssetFacade
siteName
- The site name of the site children are interested in.assetId
- The asset id.public AssetId getAssetByName(String siteName, String assetType, String assetName)
AssetFacade
getAssetByName
in interface AssetFacade
siteName
- The site name.assetType
- The asset type.assetName
- The asset name.public String processEmbeddedLink(String data)
AssetFacade
processEmbeddedLink
in interface AssetFacade
data
- The attribute value that needs to be processed.public String processEmbeddedLink(InputStream data)
AssetFacade
processEmbeddedLink
in interface AssetFacade
data
- The attribute value that needs to be processed.public List<AssetResultRow> executeContentQuery(String siteName, Long assetId, String assetName, int limit, String sortingField, boolean ascending) throws AssetAccessException
AssetFacade
executeContentQuery
in interface AssetFacade
siteName
- The site name.assetId
- The ContentQuery ID.assetName
- The ContentQuery name, one of the id or name needs to present for this method to work.limit
- The limit of how many assets will be returned.sortingField
- The sorting field to sort the results.ascending
- whether sort in ascending or descending order.AssetAccessException
public Long getPublicationId(String assetName)
AssetFacade
getPublicationId
in interface AssetFacade
assetName
- The publication name.public boolean isAssetInSite(AssetId asset, String site)
isAssetInSite
in interface AssetFacade
public void recordBlobDependency(String blobkey, String depns)
recordBlobDependency
in interface AssetFacade
public String makeRevisionBlobLink(String attribute, BlobObject blob, RevisionAssetId assetId)
public AssetId getDimensionAssetId(String locale, AssetId asset, String dimensionSet)
locale
- a localeasset
- asset id