Package com.prancingdonkey.component

Source Code of com.prancingdonkey.component.Md5FileHasher

package com.prancingdonkey.component;

import org.apache.commons.codec.digest.DigestUtils;
import org.mule.api.MuleEventContext;
import org.mule.api.MuleMessage;
import org.mule.api.endpoint.EndpointBuilder;
import org.mule.api.lifecycle.Callable;
import org.mule.transport.file.FileConnector;

public class Md5FileHasher implements Callable {

    private String sourceFolderUri;

    private FileConnector fileConnector;

    public void setSourceFolder(final String sourceFolder) {
        this.sourceFolderUri = "file://" + sourceFolder.replace('\\', '/') + "/";
    }

    public void setFileConnector(final FileConnector fileConnector) {
        this.fileConnector = fileConnector;
    }

    public Object onCall(final MuleEventContext eventContext) throws Exception {
        eventContext.setStopFurtherProcessing(true);

        final String fileName = eventContext.getMessageAsString();

        // TODO Fix deprecation
        final EndpointBuilder endpointBuilder = eventContext.getMuleContext()
                .getRegistry().lookupEndpointFactory().getEndpointBuilder(
                        sourceFolderUri + fileName);

        endpointBuilder.setConnector(fileConnector);

        final MuleMessage requestedFileMessage = endpointBuilder
                .buildInboundEndpoint().request(0);

        return requestedFileMessage != null ? DigestUtils
                .md5Hex(requestedFileMessage.getPayloadAsBytes()) : null;
    }
}
TOP

Related Classes of com.prancingdonkey.component.Md5FileHasher

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.