blob: 911d860b4c3edd419e663253fb62d23e4c0716e9 [file] [log] [blame]
/**
*
*/
package net.sf.taverna.t2.activities.interaction;
import java.io.IOException;
import java.net.URI;
import java.util.Set;
import net.sf.taverna.t2.activities.interaction.jetty.InteractionJetty;
import net.sf.taverna.t2.activities.interaction.preference.InteractionPreference;
import net.sf.taverna.t2.activities.interaction.velocity.InteractionVelocity;
import net.sf.taverna.t2.security.credentialmanager.CredentialManager;
import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityConfigurationException;
import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityFactory;
import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityInputPort;
import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityOutputPort;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* @author alanrw
*
*/
public class InteractionActivityFactory implements ActivityFactory {
private CredentialManager credentialManager;
private InteractionRecorder interactionRecorder;
private InteractionUtils interactionUtils;
private InteractionJetty interactionJetty;
private InteractionPreference interactionPreference;
private ResponseFeedListener responseFeedListener;
private InteractionVelocity interactionVelocity;
/* (non-Javadoc)
* @see net.sf.taverna.t2.workflowmodel.processor.activity.ActivityFactory#createActivity()
*/
@Override
public InteractionActivity createActivity() {
return new InteractionActivity(this.credentialManager,
this.interactionRecorder,
this.interactionUtils,
this.interactionJetty,
this.interactionPreference,
this.responseFeedListener,
this.interactionVelocity);
}
/* (non-Javadoc)
* @see net.sf.taverna.t2.workflowmodel.processor.activity.ActivityFactory#getActivityType()
*/
@Override
public URI getActivityType() {
return URI.create(InteractionActivity.URI);
}
/* (non-Javadoc)
* @see net.sf.taverna.t2.workflowmodel.processor.activity.ActivityFactory#getActivityConfigurationSchema()
*/
@Override
public JsonNode getActivityConfigurationSchema() {
ObjectMapper objectMapper = new ObjectMapper();
try {
return objectMapper.readTree(getClass().getResource("/schema.json"));
} catch (IOException e) {
return objectMapper.createObjectNode();
}
}
/* (non-Javadoc)
* @see net.sf.taverna.t2.workflowmodel.processor.activity.ActivityFactory#getInputPorts(com.fasterxml.jackson.databind.JsonNode)
*/
@Override
public Set<ActivityInputPort> getInputPorts(JsonNode configuration)
throws ActivityConfigurationException {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see net.sf.taverna.t2.workflowmodel.processor.activity.ActivityFactory#getOutputPorts(com.fasterxml.jackson.databind.JsonNode)
*/
@Override
public Set<ActivityOutputPort> getOutputPorts(JsonNode configuration)
throws ActivityConfigurationException {
// TODO Auto-generated method stub
return null;
}
/**
* @return the credentialManager
*/
public CredentialManager getCredentialManager() {
return credentialManager;
}
/**
* @param credentialManager the credentialManager to set
*/
public void setCredentialManager(CredentialManager credentialManager) {
this.credentialManager = credentialManager;
}
public void setInteractionRecorder(InteractionRecorder interactionRecorder) {
this.interactionRecorder = interactionRecorder;
}
public void setInteractionUtils(InteractionUtils interactionUtils) {
this.interactionUtils = interactionUtils;
}
public void setInteractionJetty(InteractionJetty interactionJetty) {
this.interactionJetty = interactionJetty;
}
public void setInteractionPreference(InteractionPreference interactionPreference) {
this.interactionPreference = interactionPreference;
}
public void setResponseFeedListener(ResponseFeedListener responseFeedListener) {
this.responseFeedListener = responseFeedListener;
}
public void setInteractionVelocity(InteractionVelocity interactionVelocity) {
this.interactionVelocity = interactionVelocity;
}
}