/**
 * CreateMD5ChecksumMessageHandler.java
 * Created on Aug 13, 2008
 * (C) Copyright TANDBERG Television Ltd.
 */
package com.tandbergtv.workflow.webservice.filesubsystem.messagehandler;

import com.tandbergtv.workflow.message.WorkflowMessage;
import com.tandbergtv.workflow.message.WorkflowPayload;

/**
 * @author Vlada Jakobac
 *
 */
public class CreateMD5ChecksumMessageHandler
		extends
			FileManagementMessageHandler {

	/* (non-Javadoc)
	 * @see com.tandbergtv.workflow.webservice.filesubsystem.messagehandler.AbstractMessageHandler#performOperation(com.tandbergtv.workflow.message.WorkflowMessage, com.tandbergtv.workflow.message.WorkflowMessage)
	 */
	@Override
	protected void performOperation(WorkflowMessage message,
			WorkflowMessage response) throws Exception {
		WorkflowPayload payload = (WorkflowPayload) message.getPayload();
		String filePath = payload.getValue(MessageParameters.PATH);
		String checksum = this.getService().computeMD5Checksum(filePath); 

		// Need to write this to the response message result
		WorkflowPayload outPayload = (WorkflowPayload) response.getPayload();
		outPayload.putValue(MessageParameters.CHECKSUM, checksum);		
	}
}
