Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

SMILA/Documentation/2011.Simplification/org.eclipse.smila.processing.pipelets

org.eclipse.smila.processing.pipelets.MimeTypeIdentifyPipelet

Description

This pipelet is used to identify the MIME type of a document. It uses an org.eclipse.smila.processing.pipelets.mimetype.MimeTypeIdentifier service to perform the actual identification of the MIME type. Depending on the specified properties, the MIME type is detected from the file content, from the file extension, or from both. If the identification does not return a MIME type - and if configured accordingly - the service will search the metadata for this information. The identified MIME type is then stored to an attribute in the record.


Configuration

The pipelet is configured using the <PipeletConfiguration> section inside the <invokePipelet> activity of the corresponding BPEL file. It provides the following properties:

Property Type Usage Description
FileExtensionAttribute String Optional Name of the attribute containing the file extension
ContentAttachment String Optional Name of the attachment containing the file content
MetaDataAttribute String Optional Name of the attribute containing metadata information, e.g. a Web Crawler returns a response header containing applicable MIME type information
MimeTypeAttribute String Required Name of the attribute to store the identified MIME type to

Note that at least one of the properties FileExtensionAttribute, ContentAttachment, and MetaDataAttribute must be specified!

Example

The following example is used in the SMILA example application to identify the MIME types of documents that are delivered by the File System Crawler or Web Crawler.

addpipeline.bpel

<extensionActivity>
    <proc:invokePipelet name="detect MimeType">
        <proc:pipelet class="org.eclipse.smila.processing.pipelets.MimeTypeIdentifyPipelet" />
        <proc:variables input="request" output="request" />
        <proc:PipeletConfiguration>
          <proc:Property name="FileExtensionAttribute">
            <proc:Value>Extension</proc:Value>
          </proc:Property>  
          <proc:Property name="MetaDataAttribute">
            <proc:Value>MetaData</proc:Value>
          </proc:Property>
          <proc:Property name="MimeTypeAttribute">
            <proc:Value>MimeType</proc:Value>
          </proc:Property>    
        </proc:PipeletConfiguration>
    </proc:invokePipelet>
</extensionActivity>

Back to the top