Interface TransformerConfig
-
- All Known Implementing Classes:
TransformerConfigImpl
@AlfrescoPublicApi public interface TransformerConfigProvides access to transformer configuration and current performance data.- Author:
- Alan Davis
-
-
Field Summary
Fields Modifier and Type Field Description static Collection<String>ALL_SUFFIXESAll suffixes to property names used to transformer configurationstatic StringAMPThe suffix to property names to indicate which Alfresco AMPs the transformer is available with.static StringANYWild card mimetype and mimetype extension.static StringAVAILABLEThe suffix to property names to indicate that a transformer is available.static StringBLACKLISTThe suffix to property names for the blacklist.static StringCONTENTPrefix before the transformer name of all property names that contain transformer informationstatic StringDEBUG_ENTRIESThe number of debug lines to keep.static StringDEFAULT_TRANSFORMERThe 'transformer name' for system wide defaults for all transformersstatic StringEDITIONThe suffix to property names to indicate which Alfresco version the transformer is available with.static StringENTRIESstatic StringERROR_TIMEThe suffix to property names for the error time.static StringEXTENSIONSThe separator between the transformer name and two mimetype extensions in a property name.static StringFAILOVERThe suffix to property names for creating dynamic failover transformersstatic StringINITIAL_COUNTThe suffix to property names for the the average count.static StringINITIAL_TIMEThe suffix to property names for the the average time.static String[][]LIMIT_PAIR_SUFFIXESSuffix pairs (max and limit values) to property names used to define transformation limitsstatic Collection<String>LIMIT_SUFFIXESSuffixes to property names used to define transformation limitsstatic StringLOG_ENTRIESThe number of log lines to keep.static StringMAX_PAGESstatic StringMAX_SOURCE_SIZE_K_BYTESSuffixes for limits.static StringMIMETYPESThe separator between the transformer name and wildcarded mimetypes rather than extensions in a property name.static Collection<String>NO_SUFFIXESNo suffixes to property names used to define transformer settings.static StringPAGE_LIMITstatic charPIPESeparator between transformers and mimetype extensions in a dynamic compound property value.static StringPIPELINEThe suffix to property names for creating dynamic complex transformersstatic StringPREFIXThe combined content and transformer name prefix of for all property names that contain transformer informationstatic StringPRIORITYThe suffix to property names for the priority.static intPRIORITY_DEFAULTBy default transformers have a priority of 100.static intPRIORITY_EXPLICITTo support the historical concept of EXPLICIT transformers, all such transformers are given aPRIORITY_EXPLICIT(50).static StringREAD_LIMIT_K_BYTESstatic StringREAD_LIMIT_TIME_MSstatic String[]SEPARATORSBoth extension and minetype separators.static StringSTRICT_MIMETYPE_CHECK_WHITELIST_MIMETYPESA white list of declared and detected mimetypes, that don't match, but should still be transformed.static StringSUMMARY_TRANSFORMER_NAMEName given to the 'SUMMARY' dummy (does not exist) transformer that gathers data from all root level transformationsstatic StringSUPPORTEDThe suffix to property names for supported and unsupported combinations.static StringTHRESHOLD_COUNTThe suffix to property names for the threshold count.static StringTIMEOUT_MSstatic StringTRANSFORMERPrefix for all transformer namesstatic StringUSEAn optional separator appended after the normal suffix and following value that identifies the 'use' or 'application' of the property.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<org.alfresco.service.cmr.repository.NodeRef>getBlacklist(ContentTransformer transformer, String sourceMimetype, String targetMimetype)Returns a list of blacklisted NodeRefs of the specified transformer for the the combination of source and target mimetype.TransformationOptionLimitsgetLimits(ContentTransformer transformer, String sourceMimetype, String targetMimetype, String use)Returns the limits defined for the combination of transformer, sourceMimetype and targetMimetype.intgetPriority(ContentTransformer contentTransformerHelper, String sourceMimetype, String targetMimetype)Returns the priority of the specified transformer for the the combination of source and target mimetype.StringgetProperties(boolean changesOnly)Returns a sorted set of all transformer properties, their values and includes comments about the properties.StringgetProperty(String name)Returns a transformer property value.TransformerStatisticsgetStatistics(ContentTransformer transformer, String sourceMimetype, String targetMimetype, boolean createNew)Returns and creates if needed theTransformerStatisticsobject for the combination of transformer, sourceMimetype and targetMimetype.intgetThresholdCount(ContentTransformer contentTransformerHelper, String sourceMimetype, String targetMimetype)Returns the threshold of the transformer.booleanisSupportedTransformation(ContentTransformer transformer, String sourceMimetype, String targetMimetype, TransformationOptions options)Returns true if the supplied mimetype transformation pair is allowed by the list of supported and unsupported transformations.intremoveProperties(String propertyNames)Removes transformer properties.intsetProperties(String propertyNamesAndValues)Sets a transformer property values.booleanstrictMimetypeCheck(String declaredMimetype, String detectedMimetype)When strict mimetype checking is performed before a transformation, this method is called.
-
-
-
Field Detail
-
ANY
static final String ANY
Wild card mimetype and mimetype extension.- See Also:
- Constant Field Values
-
CONTENT
static final String CONTENT
Prefix before the transformer name of all property names that contain transformer information- See Also:
- Constant Field Values
-
TRANSFORMER
static final String TRANSFORMER
Prefix for all transformer names- See Also:
- Constant Field Values
-
PREFIX
static final String PREFIX
The combined content and transformer name prefix of for all property names that contain transformer information- See Also:
- Constant Field Values
-
DEFAULT_TRANSFORMER
static final String DEFAULT_TRANSFORMER
The 'transformer name' for system wide defaults for all transformers- See Also:
- Constant Field Values
-
SUMMARY_TRANSFORMER_NAME
static final String SUMMARY_TRANSFORMER_NAME
Name given to the 'SUMMARY' dummy (does not exist) transformer that gathers data from all root level transformations- See Also:
- Constant Field Values
-
USE
static final String USE
An optional separator appended after the normal suffix and following value that identifies the 'use' or 'application' of the property. Example uses include 'index' 'doclib' and 'preview'. The corresponding configuration value is only used in the context of the specified usage.- See Also:
- Constant Field Values
-
EXTENSIONS
static final String EXTENSIONS
The separator between the transformer name and two mimetype extensions in a property name.- See Also:
- Constant Field Values
-
MIMETYPES
static final String MIMETYPES
The separator between the transformer name and wildcarded mimetypes rather than extensions in a property name. Effectively equivalent to multiple properties using theEXTENSIONS.- See Also:
- Constant Field Values
-
SEPARATORS
static final String[] SEPARATORS
Both extension and minetype separators.
-
PIPELINE
static final String PIPELINE
The suffix to property names for creating dynamic complex transformers- See Also:
- Constant Field Values
-
FAILOVER
static final String FAILOVER
The suffix to property names for creating dynamic failover transformers- See Also:
- Constant Field Values
-
AVAILABLE
static final String AVAILABLE
The suffix to property names to indicate that a transformer is available. If not specified, defaults to true, indicating it may be selected rather only being available as a component of another transformer.- See Also:
- Constant Field Values
-
PIPE
static final char PIPE
Separator between transformers and mimetype extensions in a dynamic compound property value.- See Also:
- Constant Field Values
-
SUPPORTED
static final String SUPPORTED
The suffix to property names for supported and unsupported combinations.- See Also:
- Constant Field Values
-
PRIORITY
static final String PRIORITY
The suffix to property names for the priority.- See Also:
- Constant Field Values
-
BLACKLIST
static final String BLACKLIST
The suffix to property names for the blacklist.- See Also:
- Constant Field Values
-
EDITION
static final String EDITION
The suffix to property names to indicate which Alfresco version the transformer is available with. If not specified it is not restricted. So if set to "Enterprise" it is not available to Community.- See Also:
AMP, Constant Field Values
-
AMP
static final String AMP
The suffix to property names to indicate which Alfresco AMPs the transformer is available with. The value should be the AMP's ID. If not specified it is not restricted.- See Also:
EDITION, Constant Field Values
-
THRESHOLD_COUNT
static final String THRESHOLD_COUNT
The suffix to property names for the threshold count.- See Also:
- Constant Field Values
-
ERROR_TIME
static final String ERROR_TIME
The suffix to property names for the error time.- See Also:
- Constant Field Values
-
INITIAL_TIME
static final String INITIAL_TIME
The suffix to property names for the the average time. Only used in the initial setup of TransformerData. This is a historical property used by the 'Transformation Server' to set an effective priority.- See Also:
- Constant Field Values
-
INITIAL_COUNT
static final String INITIAL_COUNT
The suffix to property names for the the average count. Only used in the initial setup of TransformerData. This is a historical property used by the 'Transformation Server' to set an effective priority.- See Also:
- Constant Field Values
-
MAX_SOURCE_SIZE_K_BYTES
static final String MAX_SOURCE_SIZE_K_BYTES
Suffixes for limits.- See Also:
- Constant Field Values
-
TIMEOUT_MS
static final String TIMEOUT_MS
- See Also:
- Constant Field Values
-
MAX_PAGES
static final String MAX_PAGES
- See Also:
- Constant Field Values
-
READ_LIMIT_K_BYTES
static final String READ_LIMIT_K_BYTES
- See Also:
- Constant Field Values
-
READ_LIMIT_TIME_MS
static final String READ_LIMIT_TIME_MS
- See Also:
- Constant Field Values
-
PAGE_LIMIT
static final String PAGE_LIMIT
- See Also:
- Constant Field Values
-
PRIORITY_EXPLICIT
static final int PRIORITY_EXPLICIT
To support the historical concept of EXPLICIT transformers, all such transformers are given aPRIORITY_EXPLICIT(50). By default transformers have a default of 10. A value of 5 allows better transformers to be added later.- See Also:
- Constant Field Values
-
PRIORITY_DEFAULT
static final int PRIORITY_DEFAULT
By default transformers have a priority of 100.- See Also:
- Constant Field Values
-
LIMIT_SUFFIXES
static final Collection<String> LIMIT_SUFFIXES
Suffixes to property names used to define transformation limits
-
LIMIT_PAIR_SUFFIXES
static final String[][] LIMIT_PAIR_SUFFIXES
Suffix pairs (max and limit values) to property names used to define transformation limits
-
ALL_SUFFIXES
static final Collection<String> ALL_SUFFIXES
All suffixes to property names used to transformer configuration
-
NO_SUFFIXES
static final Collection<String> NO_SUFFIXES
No suffixes to property names used to define transformer settings.
-
ENTRIES
static final String ENTRIES
- See Also:
- Constant Field Values
-
DEBUG_ENTRIES
static final String DEBUG_ENTRIES
The number of debug lines to keep. Turned off if <= 0.- See Also:
- Constant Field Values
-
LOG_ENTRIES
static final String LOG_ENTRIES
The number of log lines to keep. Turned off if <= 0.- See Also:
- Constant Field Values
-
STRICT_MIMETYPE_CHECK_WHITELIST_MIMETYPES
static final String STRICT_MIMETYPE_CHECK_WHITELIST_MIMETYPES
A white list of declared and detected mimetypes, that don't match, but should still be transformed.
-
-
Method Detail
-
getProperty
String getProperty(String name)
Returns a transformer property value.- Parameters:
name- of the property.- Returns:
- a transformer property or
nullif not set.
-
getProperties
String getProperties(boolean changesOnly)
Returns a sorted set of all transformer properties, their values and includes comments about the properties.- Parameters:
changesOnly- only custom values will be included.- Returns:
- a multi-line String which is never {code null}.
-
removeProperties
int removeProperties(String propertyNames)
Removes transformer properties.- Parameters:
propertyNames- new line separated names. Any values will be ignored.- Returns:
- the number of properties removed.
- Throws:
IllegalArgumentException- if the properties were not set or the list contains errors.
-
setProperties
int setProperties(String propertyNamesAndValues)
Sets a transformer property values. These will be stored in the database but on an MBean reset is cleared.- Parameters:
propertyNamesAndValues- new line separated name and values- Returns:
- the number of properties set.
- Throws:
IllegalArgumentException- the list contains errors.
-
getStatistics
TransformerStatistics getStatistics(ContentTransformer transformer, String sourceMimetype, String targetMimetype, boolean createNew)
Returns and creates if needed theTransformerStatisticsobject for the combination of transformer, sourceMimetype and targetMimetype. When transformer is null this is the system wide summary object for a combination of sourceMimetype and targetMimetype. When both sourceMimetype and targetMimetype are null this is the transformer's summary object. When all three parameters are null this is the system wide summary for all transformers.- Parameters:
transformer- the transformer for which data is being recorded.sourceMimetype- the source mimetype.targetMimetype- the source mimetype.createNew- indicates if a new object should be created if it does not exist.- Returns:
- the requested
TransformerStatistics.
-
getLimits
TransformationOptionLimits getLimits(ContentTransformer transformer, String sourceMimetype, String targetMimetype, String use)
Returns the limits defined for the combination of transformer, sourceMimetype and targetMimetype. When the transformer is null, this is a default value. When both sourceMimetype and targetMimetype are null this is a default for the specified transformer.- Parameters:
transformer-sourceMimetype-targetMimetype-use- to which the limits will be put. For example "index", "webpreview", "doclib", "syncRule", "aysncRule".nullis the default.- Returns:
- the combined (takes into account defaults from higher levels) limits for the combination.
-
isSupportedTransformation
boolean isSupportedTransformation(ContentTransformer transformer, String sourceMimetype, String targetMimetype, TransformationOptions options)
Returns true if the supplied mimetype transformation pair is allowed by the list of supported and unsupported transformations.- Parameters:
transformer-sourceMimetype-targetMimetype-options- not currently used
-
getPriority
int getPriority(ContentTransformer contentTransformerHelper, String sourceMimetype, String targetMimetype)
Returns the priority of the specified transformer for the the combination of source and target mimetype.- Parameters:
contentTransformerHelper-sourceMimetype-targetMimetype-- Returns:
- the priority. To support the historical concept of EXPLICIT transformers, all such transformers
are given a
PRIORITY_EXPLICIT(50). By default transformers have a default of 100.
-
getBlacklist
List<org.alfresco.service.cmr.repository.NodeRef> getBlacklist(ContentTransformer transformer, String sourceMimetype, String targetMimetype)
Returns a list of blacklisted NodeRefs of the specified transformer for the the combination of source and target mimetype.- Parameters:
transformer-sourceMimetype-targetMimetype-- Returns:
- the blacklist or null is none.
-
strictMimetypeCheck
boolean strictMimetypeCheck(String declaredMimetype, String detectedMimetype)
When strict mimetype checking is performed before a transformation, this method is called. There are a few issues with the Tika mimetype detection. As a result we still allow some transformations to take place even if there is a discrepancy between the detected and declared mimetypes.- Parameters:
declaredMimetype- the mimetype on the source nodedetectedMimetype- returned by Tika having looked at the content.- Returns:
- true if the transformation should take place. This includes the case where the detectedMimetype is null (returned by Tika when the mimetypes are the same), or the supplied pair of mimetypes have been added to the transformer.strict.mimetype.check.whitelist.
-
getThresholdCount
int getThresholdCount(ContentTransformer contentTransformerHelper, String sourceMimetype, String targetMimetype)
Returns the threshold of the transformer. It is only after this number of transformation attempts that the average time is used.- Parameters:
contentTransformerHelper-sourceMimetype-targetMimetype-- Returns:
- the threshold.
-
-