Overview  Package   Class  Use  Tree  Deprecated  Index  Help 
PREV CLASS   NEXT CLASS FRAMES    NO FRAMES    All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

org.alfresco.repo.content.transform
Class RuntimeExecutableContentTransformerWorker
java.lang.Object
  org.alfresco.repo.content.transform.ContentTransformerHelper
      org.alfresco.repo.content.transform.RuntimeExecutableContentTransformerWorker
All Implemented Interfaces:
ContentTransformerWorker, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.Aware

@org.alfresco.api.AlfrescoPublicApi
public class RuntimeExecutableContentTransformerWorker
extends ContentTransformerHelper
implements ContentTransformerWorker, org.springframework.beans.factory.InitializingBean
This configurable wrapper is able to execute any command line transformation that accepts an input and an output file on the command line.

The following parameters are use:

Provided that the command executed ultimately transforms the source file and leaves the result in the target file, the transformation should be successful.

NOTE: It is only the contents of the files that can be transformed. Any attempt to modify the source or target file metadata will, at best, have no effect, but may ultimately lead to the transformation failing. This is because the files provided are both temporary files that reside in a location outside the system's content store.

This transformer requires the setting of the explicitTransformations property.

Since:
1.1
Author:
Derek Hulley
See Also:
org.alfresco.util.exec.RuntimeExec

Field Summary
static String
VAR_PAGE_RANGE
static String
VAR_SOURCE
static String
VAR_TARGET
Fields inherited from class org.alfresco.repo.content.transform.ContentTransformerHelper
transformerConfig
Constructor Summary
RuntimeExecutableContentTransformerWorker()
Method Summary
void
afterPropertiesSet()
          Executes the check command, if present.
getComments(boolean available)
          Overridden to supply a comment or String of commented out transformation properties that specify any (hard coded or implied) supported transformations.
getVersionString()
          Gets the version string captured from the check command.
boolean
isAvailable()
          Signals whether this transformer is available.
boolean
isTransformable(String sourceMimetype, String targetMimetype, TransformationOptions options)
          If the initialization failed, then it returns 0.0.
void
setCheckCommand(org.alfresco.util.exec.RuntimeExec checkCommand)
          Set the runtime executer that will be called as part of the initialisation to determine if the transformer is able to function.
void
setErrorCodes(String errCodesStr)
          A comma or space separated list of values that, if returned by the executed command, indicate an error value.
void
setTransformCommand(org.alfresco.util.exec.RuntimeExec transformCommand)
          Set the runtime executer that will called to perform the actual transformation.
toString()
void
transform(ContentReader reader, ContentWriter writer, TransformationOptions options)
          Converts the source and target content to temporary files with the correct extensions for the mimetype that they map to.
Methods inherited from class org.alfresco.repo.content.transform.ContentTransformerHelper
deprecatedSetter, equals, getBeanName, getCommentsOnlySupports, getExtensionOrAny, getMimetype, getMimetypeService, getName, getSimpleName, hashCode, isExplicitTransformation, isSupportedTransformation, onlySupports, register, setBeanName, setExplicitTransformations, setMimetypeService, setSupportedTransformations, setTransformerConfig, setUnsupportedTransformations
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Field Detail
VAR_PAGE_RANGE
public static final String VAR_PAGE_RANGE
See Also:
Constant Field Values

VAR_SOURCE
public static final String VAR_SOURCE
See Also:
Constant Field Values

VAR_TARGET
public static final String VAR_TARGET
See Also:
Constant Field Values
Constructor Detail
RuntimeExecutableContentTransformerWorker
public RuntimeExecutableContentTransformerWorker()
Method Detail
toString
public String toString()
Overrides:
toString in class ContentTransformerHelper

setCheckCommand
public void setCheckCommand(org.alfresco.util.exec.RuntimeExec checkCommand)
Set the runtime executer that will be called as part of the initialisation to determine if the transformer is able to function. This is optional, but allows the transformer registry to detect and avoid using this instance if it is not working.

The command will be considered to have failed if the

Parameters:
checkCommand - the initialisation check command

setTransformCommand
public void setTransformCommand(org.alfresco.util.exec.RuntimeExec transformCommand)
Set the runtime executer that will called to perform the actual transformation.
Parameters:
transformCommand - the runtime transform command

setErrorCodes
public void setErrorCodes(String errCodesStr)
A comma or space separated list of values that, if returned by the executed command, indicate an error value. This defaults to "1, 2".
Parameters:
errCodesStr - String

afterPropertiesSet
public void afterPropertiesSet()
Executes the check command, if present. Any errors will result in this component being rendered unusable within the transformer registry, but may still be called directly.
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean

isTransformable
public boolean isTransformable(String sourceMimetype,
                               String targetMimetype,
                               TransformationOptions options)
If the initialization failed, then it returns 0.0. Otherwise the explicit transformations are checked for the reliability.
Specified by:
isTransformable in interface ContentTransformerWorker
Returns:
Returns 1.0 if initialization succeeded, otherwise 0.0.
See Also:
AbstractContentTransformer.setExplicitTransformations(List)

getComments
public String getComments(boolean available)
Description copied from class: ContentTransformerHelper
Overridden to supply a comment or String of commented out transformation properties that specify any (hard coded or implied) supported transformations. Used when providing a list of properties to an administrators who may be setting other transformation properties, via JMX. Consider overriding if {link AbstractContentTransformerLimits.isTransformableMimetype(String, String, TransformationOptions) or ContentTransformerWorker.isTransformable(String, String, TransformationOptions) have been overridden. See ContentTransformerHelper.getCommentsOnlySupports(List, List, boolean) which may be used to help construct a comment.
Specified by:
getComments in interface ContentTransformerWorker
Overrides:
getComments in class ContentTransformerHelper
Parameters:
available - indicates if the transformer has been registered and is available to be selected. false indicates that the transformer is only available as a component of a complex transformer.
Returns:
one line per property. The simple transformer name is returned by default as a comment.

isAvailable
public boolean isAvailable()
Signals whether this transformer is available.
Specified by:
isAvailable in interface ContentTransformerWorker
Returns:
true, if is available

getVersionString
public String getVersionString()
Gets the version string captured from the check command.
Specified by:
getVersionString in interface ContentTransformerWorker
Returns:
the version string

transform
public final void transform(ContentReader reader,
                            ContentWriter writer,
                            TransformationOptions options)
                     throws Exception
Converts the source and target content to temporary files with the correct extensions for the mimetype that they map to.
Specified by:
transform in interface ContentTransformerWorker
Throws:
Exception

Overview  Package   Class  Use  Tree  Deprecated  Index  Help 
PREV CLASS   NEXT CLASS FRAMES    NO FRAMES    All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005–2018 Alfresco Software. All rights reserved.

Java API documentation generated with DocFlex/Javadoc 1.6.1 using JavadocPro template set.