blob: 30ae3ebf9d11e934e998c875170393aec1d42755 [file] [log] [blame]
/**
*
*/
package net.sf.taverna.t2.activities.externaltool.servicedescriptions;
import java.net.URI;
import java.util.UUID;
import javax.swing.Icon;
import de.uni_luebeck.inb.knowarc.usecases.UseCaseDescription;
import net.sf.taverna.t2.activities.externaltool.ExternalToolActivity;
import net.sf.taverna.t2.activities.externaltool.ExternalToolActivityConfigurationBean;
import net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupManager;
import net.sf.taverna.t2.activities.externaltool.manager.impl.InvocationGroupManagerImpl;
import net.sf.taverna.t2.servicedescriptions.AbstractTemplateService;
import net.sf.taverna.t2.servicedescriptions.ServiceDescription;
import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
/**
* @author alanrw
*
*/
public class ExternalToolTemplateServiceDescription extends
AbstractTemplateService<ExternalToolActivityConfigurationBean> {
private static final URI providerId = URI
.create("http://taverna.sf.net/2010/service-provider/external-tool");
private static final String EXTERNAL_TOOL = "Tool";
private static InvocationGroupManager manager = InvocationGroupManagerImpl.getInstance();
@Override
public Class<? extends Activity<ExternalToolActivityConfigurationBean>> getActivityClass() {
return ExternalToolActivity.class;
}
@Override
public ExternalToolActivityConfigurationBean getActivityConfiguration() {
ExternalToolActivityConfigurationBean result = new ExternalToolActivityConfigurationBean();
result.setExternaltoolid(UUID.randomUUID().toString());
result.setUseCaseDescription(new UseCaseDescription(""));
result.setMechanism(manager.getDefaultMechanism());
return result;
}
@Override
public Icon getIcon() {
return ExternalToolActivityIcon.getExternalToolIcon();
}
@Override
public String getDescription() {
return "A service that allows tools to be used as services";
}
@SuppressWarnings("unchecked")
public static ServiceDescription getServiceDescription() {
ExternalToolTemplateServiceDescription bts = new ExternalToolTemplateServiceDescription();
return bts.templateService;
}
@Override
public String getId() {
return providerId.toString();
}
@Override
public String getName() {
return EXTERNAL_TOOL;
}
}