This component is not yet available in our repository. We are in the process of creating CQs for the required third party code and hopefully get permission to use it in our project.
This ProcessingService is used to identify the mimetype of a document. The service uses either the document's content (a byte), a file extension or both. So it is not required that the record contains a value for both properties ContentAttachment and FileExtensionAttribute. The identified MimeType is store in an attribute in the record.
It is strongly recommended that you use both (input data and extension) to identify the mime type of the data, since the aperture mime type identification mainly focuses on the magic numbers in the file and so often fails to determine e.g. office documents' mime types when no conten is given.
The javadoc for the implemented interface can be found here.
Note that this ProcessingService also is a DeclarativeService that implements interface org.eclipse.smila.processing.pipelets.aperture.MimeTypeIdentifier and can be used outside the workflow as well.
Interaction with the MimeTypeIdentifyPipelet
The MimeTypeIdentifyPipelet uses OSGi to access a MimeTypeIdentifier service.
So if you want to use the Aperture mime type identifier you should start the aperture bundle and take care not to start the org.eclipse.smila.common.mimetype.impl bundle that contains the SimpleMimeTypeIdentifier, which is a mime type identifier that only identifies mime types based on the file extensions using a mapping file. (see org.eclipse.smila.common.mimetype.impl).
For information on how to configure the mime type identification pipelet, which uses the MimeTypeIdentifier service to recognize attachment mime types please refer to MimeTypeIdentifyPipelet.