You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2015/02/17 12:37:19 UTC
[59/70] [abbrv] incubator-taverna-common-activities git commit:
taverna-external-tool-activity/
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityConfigurationBean.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityConfigurationBean.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityConfigurationBean.java
deleted file mode 100755
index ce3387b..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityConfigurationBean.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package net.sf.taverna.t2.activities.externaltool;
-
-import java.util.List;
-
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationGroup;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanism;
-import net.sf.taverna.t2.activities.externaltool.manager.MechanismCreator;
-import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationBean;
-import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationProperty;
-import de.uni_luebeck.inb.knowarc.usecases.UseCaseDescription;
-
-@ConfigurationBean(uri = ExternalToolActivity.URI + "#Config")
-public final class ExternalToolActivityConfigurationBean {
-
- private InvocationGroup group;
-
- private String mechanismType;
-
- private String mechanismName;
-
- private String mechanismXML;
-
- private transient InvocationMechanism mechanism;
-
- protected String repositoryUrl;
- protected String externaltoolid;
- protected UseCaseDescription useCaseDescription = null;
- private boolean edited = false;
-
- private List<MechanismCreator> mechanismCreators;
-
- public boolean isEdited() {
- return edited;
- }
-
- public ExternalToolActivityConfigurationBean() {
- }
-
- public InvocationGroup getInvocationGroup() {
- return group;
- }
-
- @ConfigurationProperty(name = "invocationGroup", label = "InvocationGroup", required=false)
- public void setInvocationGroup(
- InvocationGroup group) {
- this.group = group;
- clearMechanismInformation();
- }
-
- private void clearMechanismInformation() {
- this.mechanismType = null;
- this.mechanismName = null;
- this.mechanismXML = null;
- this.mechanism = null;
- }
-
- /**
- * @return the repositoryUrl
- */
- public String getRepositoryUrl() {
- return repositoryUrl;
- }
-
- /**
- * @param repositoryUrl the repositoryUrl to set
- */
- @ConfigurationProperty(name = "repositoryUrl", label = "Repository URL", required=false)
- public void setRepositoryUrl(String repositoryUrl) {
- this.repositoryUrl = repositoryUrl;
- }
-
- /**
- * @return the externaltoolid
- */
- public String getExternaltoolid() {
- return externaltoolid;
- }
-
- /**
- * @param externaltoolid the externaltoolid to set
- */
- @ConfigurationProperty(name = "toolId", label = "Tool ID")
- public void setExternaltoolid(String externaltoolid) {
- this.externaltoolid = externaltoolid;
- }
-
- /**
- * @return the useCaseDescription
- */
- public UseCaseDescription getUseCaseDescription() {
- return useCaseDescription;
- }
-
- /**
- * @param useCaseDescription the useCaseDescription to set
- */
- @ConfigurationProperty(name = "toolDescription", label = "Tool Description")
- public void setUseCaseDescription(UseCaseDescription useCaseDescription) {
- this.useCaseDescription = useCaseDescription;
- }
-
- @ConfigurationProperty(name = "edited", label = "Edited", required=false)
- public void setEdited(boolean b) {
- this.edited = b;
- }
-
- /**
- * Note this also sets the details
- *
- * @param mechanism the mechanism to set
- */
- public void setMechanism(InvocationMechanism mechanism) {
- this.mechanism = mechanism;
- convertMechanismToDetails();
- this.group = null;
- }
-
- public void convertMechanismToDetails() {
- if (mechanism != null) {
- this.setMechanismXML(mechanism.getXML());
- this.setMechanismName(mechanism.getName());
- this.setMechanismType(mechanism.getType());
- }
- }
-
- /**
- * @param mechanismType the mechanismType to set
- */
- @ConfigurationProperty(name = "mechanismType", label = "Mechanism Type", required=false)
- public void setMechanismType(String mechanismType) {
- this.mechanismType = mechanismType;
- }
-
- /**
- * @param mechanismName the mechanismName to set
- */
- @ConfigurationProperty(name = "mechanismName", label = "Mechanism Name", required=false)
- public void setMechanismName(String mechanismName) {
- this.mechanismName = mechanismName;
- }
-
- /**
- * @param mechanismXML the mechanismXML to set
- */
- @ConfigurationProperty(name = "mechanismXML", label = "Mechanism XML", required=false)
- public void setMechanismXML(String mechanismXML) {
- this.mechanismXML = mechanismXML;
- }
-
- public void convertDetailsToMechanism() {
- if (mechanismXML != null) {
- for (MechanismCreator mc : mechanismCreators) {
- if (mc.canHandle(getMechanismType())) {
- mechanism = mc.convert(getMechanismXML(), getMechanismName());
- break;
- }
- }
- }
- }
-
- /**
- * @return the mechanism
- */
- public InvocationMechanism getMechanism() {
-
- return mechanism;
- }
-
- /**
- * @return the mechanismType
- */
- public String getMechanismType() {
- return mechanismType;
- }
-
- /**
- * @return the mechanismName
- */
- public String getMechanismName() {
- return mechanismName;
- }
-
- /**
- * @return the mechanismXML
- */
- public String getMechanismXML() {
- return mechanismXML;
- }
-
- public void setMechanismCreators(List<MechanismCreator> mechanismCreators) {
- this.mechanismCreators = mechanismCreators;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityFactory.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityFactory.java
deleted file mode 100644
index dc27b11..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityFactory.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2011 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.activities.externaltool;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.List;
-import java.util.Set;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import net.sf.taverna.t2.activities.externaltool.manager.MechanismCreator;
-import net.sf.taverna.t2.workflowmodel.Edits;
-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;
-
-/**
- * An {@link ActivityFactory} for creating <code>ExternalToolActivity</code>.
- *
- * @author David Withers
- */
-public class ExternalToolActivityFactory implements ActivityFactory {
-
- private List<InvocationCreator> invocationCreators;
-
- private List<MechanismCreator> mechanismCreators;
-
- private Edits edits;
-
- @Override
- public ExternalToolActivity createActivity() {
- ExternalToolActivity activity = new ExternalToolActivity();
- activity.setInvocationCreators(invocationCreators);
- activity.setEdits(edits);
- return activity;
- }
-
- @Override
- public URI getActivityType() {
- return URI.create(ExternalToolActivity.URI);
- }
-
- @Override
- public JsonNode getActivityConfigurationSchema() {
- ObjectMapper objectMapper = new ObjectMapper();
- try {
- return objectMapper.readTree(getClass().getResource("/schema.json"));
- } catch (IOException e) {
- return objectMapper.createObjectNode();
- }
- }
-
- public void setInvocationCreators(List<InvocationCreator> invocationCreators) {
- this.invocationCreators = invocationCreators;
- }
-
- public void setMechanismCreators(List<MechanismCreator> mechanismCreators) {
- this.mechanismCreators = mechanismCreators;
- }
-
- @Override
- public Set<ActivityInputPort> getInputPorts(JsonNode configuration)
- throws ActivityConfigurationException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Set<ActivityOutputPort> getOutputPorts(JsonNode configuration)
- throws ActivityConfigurationException {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void setEdits(Edits edits) {
- this.edits = edits;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityHealthChecker.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityHealthChecker.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityHealthChecker.java
deleted file mode 100755
index b65da68..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityHealthChecker.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2009 Hajo Nils Krabbenhoeft, INB, University of Luebeck
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-
-package net.sf.taverna.t2.activities.externaltool;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationGroup;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupManager;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanism;
-import net.sf.taverna.t2.visit.VisitReport;
-import net.sf.taverna.t2.visit.VisitReport.Status;
-import net.sf.taverna.t2.workflowmodel.health.HealthCheck;
-import net.sf.taverna.t2.workflowmodel.health.HealthChecker;
-import net.sf.taverna.t2.workflowmodel.utils.Tools;
-
-public class ExternalToolActivityHealthChecker implements HealthChecker<ExternalToolActivity> {
-
- private InvocationGroupManager invocationGroupManager;
- private ExternalToolActivity activity;
-
- public boolean canVisit(Object subject) {
- return subject != null && subject instanceof ExternalToolActivity;
- }
-
- public VisitReport visit(ExternalToolActivity activity, List<Object> ancestry) {
- this.activity = activity;
- ExternalToolActivityConfigurationBean configuration = activity.getConfigurationNoConversion();
- List<VisitReport> reports = new ArrayList<VisitReport>();
-
- VisitReport locationReport = checkLocation(configuration);
- if (locationReport != null) {
- reports.add(locationReport);
- }
-
- VisitReport report = new VisitReport(HealthCheck.getInstance(), activity, "External tool service", HealthCheck.NO_PROBLEM, reports);
-
- return report;
- }
-
-
- private VisitReport checkLocation(
- ExternalToolActivityConfigurationBean configuration) {
-
- if (!updateLocation(configuration)) {
- return new VisitReport(HealthCheck.getInstance(), activity, "Unmanaged invocation mechanism", HealthCheck.UNMANAGED_LOCATION, Status.WARNING);
- } else {
- return null;
- }
- }
-
- public boolean updateLocation(ExternalToolActivityConfigurationBean configuration) {
- InvocationGroup invocationGroup = configuration.getInvocationGroup();
- String invocationGroupSpecification = null;
- String invocationMechanismSpecification = null;
- if (invocationGroup != null) {
- if (invocationGroupManager.containsGroup(invocationGroup)) {
- return true;
- }
- InvocationGroup replacementGroup = invocationGroupManager.getGroupReplacement(invocationGroup);
- if (replacementGroup != null) {
- configuration.setInvocationGroup(replacementGroup);
- return true;
- }
- invocationGroupSpecification = invocationGroup.getName() + ":" + invocationGroup.getMechanismXML();
- InvocationGroup importedGroup = invocationGroupManager.getImportedGroup(invocationGroupSpecification);
- if (importedGroup != null) {
- configuration.setInvocationGroup(importedGroup);
- return true;
- }
- }
-
- InvocationMechanism invocationMechanism = configuration.getMechanism();
- if (invocationMechanism != null) {
- if (invocationGroupManager.containsMechanism(invocationMechanism)) {
- return true;
- }
- }
- String mechanismXML = null;
- String mechanismName = null;
-
- if (invocationGroup != null) {
- mechanismXML = invocationGroup.getMechanismXML();
- mechanismName = invocationGroup.getMechanismName();
- } else {
- mechanismXML = configuration.getMechanismXML();
- mechanismName = configuration.getMechanismName();
- }
- invocationMechanismSpecification = mechanismName + ":" + mechanismXML;
-
- InvocationMechanism foundMechanism = null;
- HashSet<String> mechanismNames = new HashSet<String>();
- for (InvocationMechanism mechanism : invocationGroupManager.getMechanisms()) {
- mechanismNames.add(mechanism.getName());
- if (mechanism.getName().equals(mechanismName) && (mechanism.getXML().equals(mechanismXML))) {
- if (invocationMechanism != mechanism) {
- foundMechanism = mechanism;
- }
- }
- }
-
- if (foundMechanism == null) {
- foundMechanism = invocationGroupManager.getMechanismReplacement(invocationMechanismSpecification);
- if (foundMechanism == null) {
- foundMechanism = invocationGroupManager.getImportedMechanism(invocationMechanismSpecification);
- }
- }
-
- if (foundMechanism != null) {
- if (invocationGroup != null) {
- invocationGroup.setMechanism(foundMechanism);
- // Cannot return because invocationGroup is still unknown
- } else {
- configuration.setMechanism(foundMechanism);
- return true;
- }
- }
-
- if (foundMechanism == null) {
- InvocationMechanism createdMechanism;
- if (invocationGroup != null) {
- invocationGroup.convertDetailsToMechanism();
- createdMechanism = invocationGroup.getMechanism();
- } else {
- configuration.convertDetailsToMechanism();
- createdMechanism = configuration.getMechanism();
- }
-
- String chosenMechanismName = Tools.uniqueObjectName(mechanismName,
- mechanismNames);
- createdMechanism.setName(chosenMechanismName);
- if (invocationGroup != null) {
- invocationGroup.setMechanism(createdMechanism);
- } else {
- configuration.setMechanism(createdMechanism);
- }
- invocationGroupManager.importMechanism(invocationMechanismSpecification, createdMechanism);
-
-
- if (invocationGroup == null) {
- return true;
- }
- }
-
- InvocationGroup foundGroup = null;
- HashSet<String> groupNames = new HashSet<String>();
- for (InvocationGroup group : invocationGroupManager.getInvocationGroups()) {
- groupNames.add(group.getName());
- if (group.getName().equals(invocationGroup.getName()) && (group.getMechanism() == invocationGroup.getMechanism())) {
- foundGroup = group;
- }
- }
- if (foundGroup != null) {
- configuration.setInvocationGroup(foundGroup);
- return true;
- }
- invocationGroup.setName(Tools.uniqueObjectName(invocationGroup.getName(), groupNames));
- invocationGroupManager.importInvocationGroup(invocationGroupSpecification, invocationGroup);
- return true;
- }
-
- public boolean isTimeConsuming() {
- return false;
- }
-
- /**
- * Sets the invocationGroupManager.
- *
- * @param invocationGroupManager the new value of invocationGroupManager
- */
- public void setInvocationGroupManager(InvocationGroupManager invocationGroupManager) {
- this.invocationGroupManager = invocationGroupManager;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityMimeTypeChecker.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityMimeTypeChecker.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityMimeTypeChecker.java
deleted file mode 100644
index 4ab8f93..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolActivityMimeTypeChecker.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.Map.Entry;
-
-import net.sf.taverna.t2.visit.VisitReport;
-import net.sf.taverna.t2.visit.VisitReport.Status;
-import net.sf.taverna.t2.workflowmodel.Dataflow;
-import net.sf.taverna.t2.workflowmodel.Datalink;
-import net.sf.taverna.t2.workflowmodel.Merge;
-import net.sf.taverna.t2.workflowmodel.MergeInputPort;
-import net.sf.taverna.t2.workflowmodel.MergeOutputPort;
-import net.sf.taverna.t2.workflowmodel.MergePort;
-import net.sf.taverna.t2.workflowmodel.OutputPort;
-import net.sf.taverna.t2.workflowmodel.Port;
-import net.sf.taverna.t2.workflowmodel.Processor;
-import net.sf.taverna.t2.workflowmodel.ProcessorInputPort;
-import net.sf.taverna.t2.workflowmodel.ProcessorPort;
-import net.sf.taverna.t2.workflowmodel.health.HealthCheck;
-import net.sf.taverna.t2.workflowmodel.health.HealthChecker;
-import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
-import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityInputPort;
-import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityOutputPort;
-import net.sf.taverna.t2.workflowmodel.utils.Tools;
-
-import org.apache.log4j.Logger;
-
-import de.uni_luebeck.inb.knowarc.usecases.ScriptInputUser;
-import de.uni_luebeck.inb.knowarc.usecases.ScriptOutput;
-
-/**
- * @author alanrw
- *
- */
-public final class ExternalToolActivityMimeTypeChecker implements HealthChecker<ExternalToolActivity> {
-
- private static Logger logger = Logger.getLogger(ExternalToolActivityMimeTypeChecker.class);
-
- public boolean canVisit(Object o) {
- return o != null && o instanceof ExternalToolActivity;
- }
-
- public boolean isTimeConsuming() {
- return false;
- }
-
- public VisitReport visit(ExternalToolActivity o,
- List<Object> ancestry) {
- List<VisitReport> reports = new ArrayList<VisitReport>();
- Processor p = (Processor) VisitReport.findAncestor(ancestry, Processor.class);
- Dataflow d = (Dataflow) VisitReport.findAncestor(ancestry, Dataflow.class);
-
- for (ActivityInputPort aip : o.getInputPorts()) {
- Set<String> sinkMimeSet = getMimeTypesForInput(o, aip);
- if (sinkMimeSet.isEmpty()) {
- continue;
- }
- ProcessorInputPort pip = Tools.getProcessorInputPort(p, (Activity<?>) o, aip);
-
- for (Datalink dl : d.getLinks()) {
-
- if (dl.getSink().equals(pip)) {
- Port source = dl.getSource();
- Set<VisitReport> subReports = checkSource(dl, source, d, (Activity) o, aip, sinkMimeSet);
- for (VisitReport vr : subReports) {
- vr.setProperty("sinkProcessor", p);
- vr.setProperty("activity", o);
- vr.setProperty("sinkPort", pip);
- }
- reports.addAll(subReports);
- }
- }
- }
-
- if (reports.isEmpty()) {
- return null;
- }
- if (reports.size() == 1) {
- return reports.get(0);
- }
- else {
- return new VisitReport(HealthCheck.getInstance(), o, "Collation", HealthCheck.DEFAULT_VALUE, reports);
- }
- }
-
- private Set<VisitReport> checkSource(Datalink datalink, Port source, Dataflow d, Activity o, ActivityInputPort aip, Set<String> sinkMimeSet) {
- Set<VisitReport> reports = new HashSet<VisitReport>();
- if (source instanceof ProcessorPort) {
- ProcessorPort processorPort = (ProcessorPort) source;
- Processor sourceProcessor = processorPort.getProcessor();
- Activity sourceActivity = sourceProcessor.getActivityList().get(0);
- if (sourceActivity instanceof ExternalToolActivity) {
- ActivityOutputPort aop = getActivityOutputPort(sourceActivity, processorPort);
- Set<String> sourceMimeTypes = getMimeTypesForOutput((ExternalToolActivity) sourceActivity, aop);
- if (!sourceMimeTypes.isEmpty()) {
- Set<String> sinkMimeTypesClone = new HashSet<String>();
- sinkMimeTypesClone.addAll(sinkMimeSet);
- sinkMimeTypesClone.retainAll(sourceMimeTypes);
- if (sinkMimeTypesClone.isEmpty()) {
- VisitReport vr = new VisitReport(HealthCheck.getInstance(), o, "Incompatible mime types", HealthCheck.INCOMPATIBLE_MIMETYPES, Status.WARNING);
- vr.setProperty("sourcePort", processorPort);
- vr.setProperty("sourceProcessor", sourceProcessor);
- vr.setProperty("link", datalink);
- reports.add(vr);
- }
- }
- }
- } else if (source instanceof MergeOutputPort) {
- Merge merge = ((MergePort) source).getMerge();
- for (MergeInputPort mip : merge.getInputPorts()) {
- for (Datalink dl : d.getLinks()) {
- if (dl.getSink().equals(mip)) {
- reports.addAll(checkSource(dl, dl.getSource(), d, o, aip, sinkMimeSet));
- }
- }
-
- }
- }
- return reports;
- }
-
- private Set<String> getMimeTypesForOutput(ExternalToolActivity o, ActivityOutputPort aop) {
- ScriptOutput so = (ScriptOutput) o.getConfiguration().getUseCaseDescription().getOutputs().get(aop.getName());
- if (so == null) {
- return Collections.EMPTY_SET;
- }
- List mimeList = Arrays.asList(so.getMime());
- Set mimeSet = new HashSet(mimeList);
- return mimeSet;
- }
-
- private Set<String> getMimeTypesForInput(ExternalToolActivity a, ActivityInputPort aip) {
- ScriptInputUser si = (ScriptInputUser) a.getConfiguration().getUseCaseDescription().getInputs().get(aip.getName());
- if (si == null) {
- return Collections.EMPTY_SET;
- }
- ArrayList<String> mime = si.getMime();
- if (mime != null) {
- List mimeList = Arrays.asList(mime);
- Set mimeSet = new HashSet(mimeList);
-
- return mimeSet;
- } else {
- return Collections.EMPTY_SET;
- }
- }
-
- private static ActivityOutputPort getActivityOutputPort(
- Activity<?> activity, ProcessorPort processorOutputPort) {
- ProcessorInputPort result = null;
- for (Entry<String, String> mapEntry : activity.getOutputPortMapping()
- .entrySet()) {
- if (mapEntry.getKey().equals(processorOutputPort.getName())) {
- for (OutputPort activityOutputPort : activity
- .getOutputPorts()) {
- if (activityOutputPort.getName().equals(mapEntry.getValue())) {
- return (ActivityOutputPort) activityOutputPort;
- }
- }
- break;
- }
- }
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolRunDeletionListener.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolRunDeletionListener.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolRunDeletionListener.java
deleted file mode 100644
index bbb53ce..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/ExternalToolRunDeletionListener.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool;
-
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupManager;
-import net.sf.taverna.t2.workflowmodel.RunDeletionListener;
-
-import org.apache.log4j.Logger;
-
-/**
- * @author alanrw
- *
- */
-public class ExternalToolRunDeletionListener implements RunDeletionListener {
-
- private static Logger logger = Logger.getLogger(ExternalToolRunDeletionListener.class);
-
- private InvocationGroupManager invocationGroupManager;
-
- /* (non-Javadoc)
- * @see net.sf.taverna.t2.workflowmodel.RunDeletionListener#deleteRun(java.lang.String)
- */
- @Override
- public void deleteRun(String runToDelete) {
- invocationGroupManager.deleteRun(runToDelete);
- }
-
- /**
- * Sets the invocationGroupManager.
- *
- * @param invocationGroupManager the new value of invocationGroupManager
- */
- public void setInvocationGroupManager(InvocationGroupManager invocationGroupManager) {
- this.invocationGroupManager = invocationGroupManager;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/InvocationCreator.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/InvocationCreator.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/InvocationCreator.java
deleted file mode 100644
index 5184794..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/InvocationCreator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool;
-
-import java.util.Map;
-
-import de.uni_luebeck.inb.knowarc.usecases.UseCaseDescription;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.UseCaseInvocation;
-
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanism;
-import net.sf.taverna.t2.reference.ReferenceService;
-import net.sf.taverna.t2.reference.T2Reference;
-
-/**
- * @author alanrw
- *
- */
-public interface InvocationCreator {
-
- public boolean canHandle(String mechanismType);
-
- public UseCaseInvocation convert(InvocationMechanism mechanism, UseCaseDescription description, Map<String, T2Reference> data, ReferenceService referenceService);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/RetrieveLoginFromTaverna.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/RetrieveLoginFromTaverna.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/RetrieveLoginFromTaverna.java
deleted file mode 100644
index 949f70a..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/RetrieveLoginFromTaverna.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package net.sf.taverna.t2.activities.externaltool;
-
-import java.net.URI;
-
-import net.sf.taverna.t2.security.credentialmanager.CMException;
-import net.sf.taverna.t2.security.credentialmanager.CredentialManager;
-import net.sf.taverna.t2.security.credentialmanager.UsernamePassword;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.AskUserForPw;
-
-public class RetrieveLoginFromTaverna implements AskUserForPw {
- private final String url;
- private final CredentialManager credentialManager;
-
- public RetrieveLoginFromTaverna(String url, CredentialManager credentialManager) {
- this.url = url;
- this.credentialManager = credentialManager;
- }
-
- private UsernamePassword getUserPass() {
- try {
- final String urlStr = url;
- URI userpassUrl = URI.create(urlStr.replace("//", "/"));
- final UsernamePassword userAndPass = credentialManager.getUsernameAndPasswordForService(userpassUrl, false, null);
- return userAndPass;
- } catch (CMException e) {
- throw new RuntimeException("Error in Taverna Credential Manager", e);
- }
- }
-
- public String getUsername() throws RuntimeException {
- final UsernamePassword userPass = getUserPass();
- if (userPass == null) {
- throw new RuntimeException("Unable to obtain valid username and password");
- }
- userPass.resetPassword();
- return userPass.getUsername();
- }
-
- public String getPassword() {
- final UsernamePassword userPass = getUserPass();
- final String pw = userPass.getPasswordAsString();
- userPass.resetPassword();
- return pw;
- }
-
-
- public String getKeyfile() {
- return "";
- }
-
- public String getPassphrase() {
- return "";
- }
-
- public void authenticationSucceeded() {
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/local/ExternalToolLocalInvocationMechanism.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/local/ExternalToolLocalInvocationMechanism.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/local/ExternalToolLocalInvocationMechanism.java
deleted file mode 100644
index d276407..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/local/ExternalToolLocalInvocationMechanism.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.local;
-
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanism;
-
-import org.jdom.Element;
-import org.jdom.Text;
-
-import de.uni_luebeck.inb.knowarc.usecases.invocation.local.LocalUseCaseInvocation;
-
-/**
- * @author alanrw
- *
- */
-public class ExternalToolLocalInvocationMechanism extends
- InvocationMechanism {
-
- private String directory;
-
- private String shellPrefix;
-
- private String linkCommand;
-
- private boolean retrieveData;
-
- /**
- *
- */
- public ExternalToolLocalInvocationMechanism() {
- super();
- String os = System.getProperty("os.name");
- if (!os.startsWith("Windows")) {
- setShellPrefix(UNIX_SHELL);
- setLinkCommand(UNIX_LINK);
- }
- }
-
- @Override
- public String getType() {
- return LocalUseCaseInvocation.LOCAL_USE_CASE_INVOCATION_TYPE;
- }
-
- @Override
- public Element getXMLElement() {
- Element result = new Element("localInvocation");
- if ((directory != null) && !directory.isEmpty()){
- Element directoryElement = new Element("directory");
- directoryElement.addContent(new Text(directory));
- result.addContent(directoryElement);
- }
- if ((shellPrefix != null) && !shellPrefix.isEmpty()) {
- Element shellPrefixElement = new Element("shellPrefix");
- shellPrefixElement.addContent(new Text(shellPrefix));
- result.addContent(shellPrefixElement);
- }
- if ((linkCommand != null) && !linkCommand.isEmpty()) {
- Element linkCommandElement = new Element("linkCommand");
- linkCommandElement.addContent(new Text(linkCommand));
- result.addContent(linkCommandElement);
- }
- if (isRetrieveData()) {
- Element retrieveDataElement = new Element("retrieveData");
- result.addContent(retrieveDataElement);
- }
- return result;
- }
-
-
- /**
- * @return the directory
- */
- public String getDirectory() {
- return directory;
- }
-
- /**
- * @param directory the directory to set
- */
- public void setDirectory(String directory) {
- this.directory = directory;
- }
-
- /**
- * @return the shellPrefix
- */
- public String getShellPrefix() {
- return shellPrefix;
- }
-
- /**
- * @param shellPrefix the shellPrefix to set
- */
- public void setShellPrefix(String shellPrefix) {
- this.shellPrefix = shellPrefix;
- }
-
- /**
- * @return the linkCommand
- */
- public String getLinkCommand() {
- return linkCommand;
- }
-
- /**
- * @param linkCommand the linkCommand to set
- */
- public void setLinkCommand(String linkCommand) {
- if ((linkCommand == null) || linkCommand.isEmpty()) {
- this.linkCommand = null;
- } else {
- this.linkCommand = linkCommand;
- }
- }
-
- /**
- * @return the retrieveData
- */
- public boolean isRetrieveData() {
- return retrieveData;
- }
-
- /**
- * @param retrieveData the retrieveData to set
- */
- public void setRetrieveData(boolean retrieveData) {
- this.retrieveData = retrieveData;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalInvocationCreator.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalInvocationCreator.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalInvocationCreator.java
deleted file mode 100644
index 393686f..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalInvocationCreator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.local;
-
-import java.io.IOException;
-import java.util.Map;
-
-import net.sf.taverna.t2.activities.externaltool.InvocationCreator;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanism;
-import net.sf.taverna.t2.reference.ReferenceService;
-import net.sf.taverna.t2.reference.T2Reference;
-
-import org.apache.log4j.Logger;
-
-import de.uni_luebeck.inb.knowarc.usecases.UseCaseDescription;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.UseCaseInvocation;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.local.LocalUseCaseInvocation;
-
-/**
- * @author alanrw
- *
- */
-public final class LocalInvocationCreator implements
- InvocationCreator {
-
- private static Logger logger = Logger.getLogger(LocalInvocationCreator.class);
-
- public boolean equals(Object o) {
- return (o instanceof LocalInvocationCreator);
- }
-
- @Override
- public boolean canHandle(String mechanismType) {
- return mechanismType.equals(LocalUseCaseInvocation.LOCAL_USE_CASE_INVOCATION_TYPE);
- }
-
- @Override
- public UseCaseInvocation convert(InvocationMechanism m, UseCaseDescription description, Map<String, T2Reference> data, ReferenceService referenceService) {
- ExternalToolLocalInvocationMechanism mechanism = (ExternalToolLocalInvocationMechanism) m;
- UseCaseInvocation result = null;
- try {
- result = new LocalUseCaseInvocation(description, mechanism.isRetrieveData(), mechanism.getDirectory(), mechanism.getShellPrefix(), mechanism.getLinkCommand());
- } catch (IOException e) {
- logger.error(e);
- }
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalInvocationPersister.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalInvocationPersister.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalInvocationPersister.java
deleted file mode 100644
index f12f4f6..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalInvocationPersister.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.local;
-
-import java.io.File;
-
-import org.apache.log4j.Logger;
-
-import de.uni_luebeck.inb.knowarc.usecases.invocation.InvocationException;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.local.LocalUseCaseInvocation;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.ssh.SshUseCaseInvocation;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationPersister;
-import net.sf.taverna.t2.activities.externaltool.ssh.SshInvocationPersister;
-
-/**
- * @author alanrw
- *
- */
-public class LocalInvocationPersister extends InvocationPersister {
-
- private static Logger logger = Logger.getLogger(LocalInvocationPersister.class);
-
- /* (non-Javadoc)
- * @see net.sf.taverna.t2.activities.externaltool.manager.InvocationPersister#load()
- */
- @Override
- public void load(File directory) {
- LocalUseCaseInvocation.load(directory);
- }
-
- /* (non-Javadoc)
- * @see net.sf.taverna.t2.activities.externaltool.manager.InvocationPersister#persist()
- */
- @Override
- public void persist(File directory) {
- LocalUseCaseInvocation.persist(directory);
- }
-
- @Override
- public void deleteRun(String runId) {
- LocalUseCaseInvocation.cleanup(runId);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalMechanismCreator.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalMechanismCreator.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalMechanismCreator.java
deleted file mode 100644
index e053a4c..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/local/LocalMechanismCreator.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.local;
-
-import org.jdom.Element;
-
-import de.uni_luebeck.inb.knowarc.usecases.invocation.local.LocalUseCaseInvocation;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanism;
-import net.sf.taverna.t2.activities.externaltool.manager.MechanismCreator;
-
-/**
- * @author alanrw
- *
- */
-public class LocalMechanismCreator extends MechanismCreator {
-
- /* (non-Javadoc)
- * @see net.sf.taverna.t2.activities.externaltool.manager.MechanismCreator#canHandle(java.lang.String)
- */
- @Override
- public boolean canHandle(String mechanismType) {
- return mechanismType.equals(LocalUseCaseInvocation.LOCAL_USE_CASE_INVOCATION_TYPE);
- }
-
- public InvocationMechanism convert(Element detailsElement,
- String mechanismName) {
- ExternalToolLocalInvocationMechanism result = new ExternalToolLocalInvocationMechanism();
- result.setName(mechanismName);
- Element directoryElement = detailsElement.getChild("directory");
- if (directoryElement != null) {
- result.setDirectory(directoryElement.getText());
- }
- Element shellPrefixElement = detailsElement.getChild("shellPrefix");
- if (shellPrefixElement != null) {
- result.setShellPrefix(shellPrefixElement.getText());
- }
- Element linkCommandElement = detailsElement.getChild("linkCommand");
- if (linkCommandElement != null) {
- result.setLinkCommand(linkCommandElement.getText());
- }
- Element retrieveDataElement = detailsElement.getChild("retrieveData");
- result.setRetrieveData(retrieveDataElement != null);
-
- return result;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroup.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroup.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroup.java
deleted file mode 100644
index ec453f5..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroup.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-import java.util.List;
-
-import net.sf.taverna.t2.activities.externaltool.ExternalToolActivity;
-import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationBean;
-import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationProperty;
-
-import org.apache.log4j.Logger;
-
-/**
- * @author alanrw
- *
- */
-@ConfigurationBean(uri = ExternalToolActivity.URI + "#InvocationGroup")
-public class InvocationGroup {
-
- private static Logger logger = Logger.getLogger(InvocationGroup.class);
-
- private String invocationGroupName;
-
- private String mechanismType;
-
- private String mechanismName;
-
- private String mechanismXML;
-
- private transient InvocationMechanism mechanism;
-
- private List<MechanismCreator> mechanismCreators;
-
- public InvocationGroup(List<MechanismCreator> mechanismCreators) {
- setMechanismCreators(mechanismCreators);
- }
-
- /**
- * @return the invocationGroupName
- */
- public String getName() {
- return invocationGroupName;
- }
-
- /**
- * @param invocationGroupName the invocationGroupName to set
- */
- @ConfigurationProperty(name = "name", label = "Invocation Group Name")
- public void setName(String invocationGroupName) {
- this.invocationGroupName = invocationGroupName;
- }
-
- /**
- * @return the mechanismType
- */
- public String getMechanismType() {
- return mechanismType;
- }
-
- /**
- * @param mechanismType the mechanismType to set
- */
- @ConfigurationProperty(name = "mechanismType", label = "Mechanism Type")
- public void setMechanismType(String mechanismType) {
- this.mechanismType = mechanismType;
- }
-
- /**
- * @return the mechanismName
- */
- public String getMechanismName() {
- return mechanismName;
- }
-
- /**
- * @param mechanismName the mechanismName to set
- */
- @ConfigurationProperty(name = "mechanismName", label = "Mechanism Name")
- public void setMechanismName(String mechanismName) {
- this.mechanismName = mechanismName;
- }
-
- /**
- * @return the mechanismXML
- */
- public String getMechanismXML() {
- return mechanismXML;
- }
-
- /**
- * @param mechanismXML the mechanismXML to set
- */
- @ConfigurationProperty(name = "mechanismXML", label = "Mechanism XML")
- public void setMechanismXML(String mechanismXML) {
- this.mechanismXML = mechanismXML;
- }
-
- /**
- * @return the mechanism
- */
- public InvocationMechanism getMechanism() {
- return mechanism;
- }
-
- /**
- * Note this also sets the corresponding details
- *
- * @param mechanism the mechanism to set
- */
- public void setMechanism(InvocationMechanism mechanism) {
- this.mechanism = mechanism;
- convertMechanismToDetails();
- }
-
- public String toString() {
- return getName();
- }
-
- public void convertMechanismToDetails() {
- this.setMechanismXML(mechanism.getXML());
- this.setMechanismName(mechanism.getName());
- this.setMechanismType(mechanism.getType());
- }
-
- public void convertDetailsToMechanism() {
- if (mechanismXML != null) {
- for (MechanismCreator mc : mechanismCreators) {
- if (mc.canHandle(getMechanismType())) {
- mechanism = mc.convert(getMechanismXML(), getMechanismName());
- break;
- }
- }
- }
- }
-
- public void setMechanismCreators(List<MechanismCreator> mechanismCreators) {
- this.mechanismCreators = mechanismCreators;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupAddedEvent.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupAddedEvent.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupAddedEvent.java
deleted file mode 100644
index 1f14b37..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupAddedEvent.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-public class InvocationGroupAddedEvent extends InvocationManagerEvent {
-
- private InvocationGroup addedGroup;
-
- public InvocationGroupAddedEvent(InvocationGroup addedGroup) {
- this.addedGroup = addedGroup;
- }
-
- /**
- * @return the addedGroup
- */
- public InvocationGroup getAddedGroup() {
- return addedGroup;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupChangedEvent.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupChangedEvent.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupChangedEvent.java
deleted file mode 100644
index 05c6617..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupChangedEvent.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-public class InvocationGroupChangedEvent extends InvocationManagerEvent {
-
- private InvocationGroup changedGroup;
-
- public InvocationGroupChangedEvent(InvocationGroup changedGroup) {
- this.changedGroup = changedGroup;
- }
-
- /**
- * @return the changedGroup
- */
- public InvocationGroup getChangedGroup() {
- return changedGroup;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupManager.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupManager.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupManager.java
deleted file mode 100644
index b398000..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupManager.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2012 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-import java.io.File;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import net.sf.taverna.t2.lang.observer.Observer;
-
-/**
- *
- *
- * @author David Withers
- */
-public interface InvocationGroupManager {
-
- public void addInvocationGroup(InvocationGroup group);
-
- public void replaceInvocationGroup(InvocationGroup originalGroup,
- InvocationGroup replacementGroup);
-
- public void removeInvocationGroup(InvocationGroup group);
-
- public void replaceInvocationMechanism(InvocationMechanism originalMechanism,
- InvocationMechanism replacementMechanism);
-
- public void removeMechanism(InvocationMechanism mechanism);
-
- public HashSet<InvocationGroup> getInvocationGroups();
-
- public InvocationGroup getDefaultGroup();
-
- public Set<InvocationMechanism> getMechanisms();
-
- public void addMechanism(InvocationMechanism mechanism);
-
- public InvocationMechanism getDefaultMechanism();
-
- public boolean containsGroup(InvocationGroup group);
-
- public InvocationMechanism getInvocationMechanism(String defaultMechanismName);
-
- public void mechanismChanged(InvocationMechanism im);
-
- /**
- * Get the directory where the invocation information will be/is saved to.
- */
- public File getInvocationManagerDirectory();
-
- public void saveConfiguration();
-
- public void groupChanged(InvocationGroup group);
-
- public void addObserver(Observer<InvocationManagerEvent> observer);
-
- public List<Observer<InvocationManagerEvent>> getObservers();
-
- public void removeObserver(Observer<InvocationManagerEvent> observer);
-
- public void deleteRun(String runId);
-
- public void persistInvocations();
-
- public void loadInvocations();
-
- public boolean containsMechanism(InvocationMechanism invocationMechanism);
-
- public InvocationGroup getGroupReplacement(InvocationGroup group);
-
- public InvocationMechanism getMechanismReplacement(String invocationMechanismSpecification);
-
- public InvocationGroup getImportedGroup(String groupSpecification);
-
- public InvocationMechanism getImportedMechanism(String mechanismSpecification);
-
- public void importMechanism(String invocationMechanismSpecification,
- InvocationMechanism createdMechanism);
-
- public void importInvocationGroup(String invocationGroupSpecification,
- InvocationGroup invocationGroup);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupRemovedEvent.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupRemovedEvent.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupRemovedEvent.java
deleted file mode 100644
index da14f7b..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationGroupRemovedEvent.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-public class InvocationGroupRemovedEvent extends InvocationManagerEvent {
-
- private InvocationGroup removedGroup;
- private final InvocationGroup replacementGroup;
-
- public InvocationGroupRemovedEvent(InvocationGroup removedGroup, InvocationGroup replacementGroup) {
- this.removedGroup = removedGroup;
- this.replacementGroup = replacementGroup;
- }
-
- /**
- * @return the removedGroup
- */
- public InvocationGroup getRemovedGroup() {
- return removedGroup;
- }
-
- public InvocationGroup getReplacementGroup() {
- return replacementGroup;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationManagerEvent.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationManagerEvent.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationManagerEvent.java
deleted file mode 100644
index 146e2df..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationManagerEvent.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-public abstract class InvocationManagerEvent {
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanism.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanism.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanism.java
deleted file mode 100644
index ada8e6d..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanism.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.input.SAXBuilder;
-import org.jdom.output.XMLOutputter;
-
-/**
- * @author alanrw
- *
- */
-public abstract class InvocationMechanism {
-
- protected static XMLOutputter outputter = new XMLOutputter();
-
-
- public static String UNIX_SHELL = "/bin/sh -c";
-
- public static String UNIX_LINK = "/bin/ln -s %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%";
-
- public static String UNIX_COPY = "/bin/cp %%PATH_TO_ORIGINAL%% %%TARGET_NAME%%";
-
-
- private String name;
-
- public final String getXML() {
- Document document = new Document(getXMLElement());
- String result = null;
- synchronized (outputter) {
- result = outputter.outputString(document);
- }
- return result;
- }
-
- public abstract Element getXMLElement();
-
- public abstract String getType();
-
- /**
- * @return the name
- */
- public String getName() {
- return name;
- }
-
- /**
- * @param name the name to set
- */
- public void setName(String name) {
- this.name = name;
- }
-
- public String toString() {
- return getName();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismAddedEvent.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismAddedEvent.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismAddedEvent.java
deleted file mode 100644
index 2babb1e..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismAddedEvent.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-public class InvocationMechanismAddedEvent extends InvocationManagerEvent {
-
- private InvocationMechanism addedMechanism;
-
- public InvocationMechanismAddedEvent(InvocationMechanism addedMechanism) {
- this.addedMechanism = addedMechanism;
- }
-
- /**
- * @return the addeMechanism
- */
- public InvocationMechanism getAddedMechanism() {
- return addedMechanism;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismChangedEvent.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismChangedEvent.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismChangedEvent.java
deleted file mode 100644
index 7b26bcd..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismChangedEvent.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-public class InvocationMechanismChangedEvent extends InvocationManagerEvent {
-
- private InvocationMechanism changedMechanism;
-
- public InvocationMechanismChangedEvent(InvocationMechanism changedMechanism) {
- this.changedMechanism = changedMechanism;
- }
-
- /**
- * @return the changedMechanism
- */
- public InvocationMechanism getChangedMechanism() {
- return changedMechanism;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismRemovedEvent.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismRemovedEvent.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismRemovedEvent.java
deleted file mode 100644
index d7c5878..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationMechanismRemovedEvent.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-public class InvocationMechanismRemovedEvent extends InvocationManagerEvent {
-
- private InvocationMechanism removedMechanism;
- private final InvocationMechanism replacementMechanism;
-
- public InvocationMechanismRemovedEvent(InvocationMechanism removedMechanism, InvocationMechanism replacementMechanism) {
- this.removedMechanism = removedMechanism;
- this.replacementMechanism = replacementMechanism;
- }
-
- /**
- * @return the addeMechanism
- */
- public InvocationMechanism getRemovedMechanism() {
- return removedMechanism;
- }
-
- public InvocationMechanism getReplacementMechanism() {
- return replacementMechanism;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationPersister.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationPersister.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationPersister.java
deleted file mode 100644
index d345595..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/InvocationPersister.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-import java.io.File;
-
-/**
- * @author alanrw
- *
- */
-public abstract class InvocationPersister {
-
- public abstract void persist(File directory);
-
- public abstract void load(File directory);
-
- public abstract void deleteRun(String runId);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/MechanismCreator.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/MechanismCreator.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/MechanismCreator.java
deleted file mode 100644
index 81ef1fb..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/MechanismCreator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.manager;
-
-import java.io.IOException;
-import java.io.StringReader;
-
-import org.apache.log4j.Logger;
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.jdom.input.SAXBuilder;
-
-/**
- * @author alanrw
- *
- */
-public abstract class MechanismCreator {
-
- private static SAXBuilder builder = new SAXBuilder();
-
- private static Logger logger = Logger.getLogger(MechanismCreator.class);
-
- public abstract boolean canHandle(String mechanismType);
-
- public InvocationMechanism convert(String xml, String name) {
-
- Document document;
- try {
- synchronized (builder) {
- document = builder.build(new StringReader(xml));
- }
- } catch (JDOMException e1) {
- logger.error("Null invocation", e1);
- return null;
- } catch (IOException e1) {
- logger.error("Null invocation", e1);
- return null;
- }
- Element top = document.getRootElement();
-
- return convert(top, name);
- }
-
- public abstract InvocationMechanism convert(Element detailsElement,
- String mechanismName);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/impl/InvocationGroupManagerImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/impl/InvocationGroupManagerImpl.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/impl/InvocationGroupManagerImpl.java
deleted file mode 100644
index af18938..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/manager/impl/InvocationGroupManagerImpl.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.manager.impl;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import net.sf.taverna.t2.activities.externaltool.local.ExternalToolLocalInvocationMechanism;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationGroup;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupAddedEvent;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupChangedEvent;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupManager;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupRemovedEvent;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationManagerEvent;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanism;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanismAddedEvent;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanismChangedEvent;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanismRemovedEvent;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationPersister;
-import net.sf.taverna.t2.activities.externaltool.manager.MechanismCreator;
-import net.sf.taverna.t2.lang.observer.MultiCaster;
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.lang.observer.Observer;
-
-import org.apache.log4j.Logger;
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.jdom.input.SAXBuilder;
-import org.jdom.output.Format;
-import org.jdom.output.XMLOutputter;
-
-import uk.org.taverna.configuration.app.ApplicationConfiguration;
-
-
-/**
- * @author alanrw
- *
- */
-public class InvocationGroupManagerImpl implements Observable<InvocationManagerEvent>, InvocationGroupManager{
-
- private static final String DEFAULT_MECHANISM_NAME = "default local";
- private static final String DEFAULT_GROUP_NAME = "default";
- private HashSet<InvocationGroup> groups = new HashSet<InvocationGroup>();
- private InvocationGroup defaultGroup = null;
-
- private HashSet<InvocationMechanism> mechanisms = new HashSet<InvocationMechanism>();
-
- private static XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
- private static SAXBuilder builder = new SAXBuilder();
-
- private static Logger logger = Logger.getLogger(InvocationGroupManagerImpl.class);
-
- private Map<InvocationGroup, InvocationGroup> groupReplacements = Collections.synchronizedMap(new HashMap<InvocationGroup, InvocationGroup>());
-
- private Map<String, InvocationMechanism> mechanismReplacements = Collections.synchronizedMap(new HashMap<String, InvocationMechanism>());
-
- private Map<String, InvocationGroup> groupImports = Collections.synchronizedMap(new HashMap<String, InvocationGroup> ());
-
- private Map<String, InvocationMechanism> mechanismImports = Collections.synchronizedMap(new HashMap<String, InvocationMechanism> ());
-
- private final ApplicationConfiguration applicationConfiguration;
-
- private final List<MechanismCreator> mechanismCreators;
-
- private final List<InvocationPersister> invocationPersisters;
-
- protected MultiCaster<InvocationManagerEvent> observers = new MultiCaster<InvocationManagerEvent>(
- this);
-
- private InvocationMechanism defaultMechanism = null;
-
- public InvocationGroupManagerImpl(ApplicationConfiguration applicationConfiguration, List<MechanismCreator> mechanismCreators, List<InvocationPersister> invocationPersisters) {
- this.applicationConfiguration = applicationConfiguration;
- this.mechanismCreators = mechanismCreators;
- this.invocationPersisters = invocationPersisters;
- readConfiguration();
- defaultMechanism = getInvocationMechanism(DEFAULT_MECHANISM_NAME);
- if (defaultMechanism == null) {
- createDefaultMechanism();
- }
- defaultGroup = getInvocationGroup(DEFAULT_GROUP_NAME);
- if (defaultGroup == null) {
- createDefaultGroup();
- }
-
- saveConfiguration();
- }
-
- @Override
- public void addInvocationGroup(InvocationGroup group) {
- groups.add(group);
- observers.notify(new InvocationGroupAddedEvent(group));
- }
-
- @Override
- public void replaceInvocationGroup(InvocationGroup originalGroup, InvocationGroup replacementGroup) {
- Set<String> toReplaceImports = new HashSet<String>();
- for (Entry<String, InvocationGroup> entry : groupImports.entrySet()) {
- if (entry.getValue() == originalGroup) {
- toReplaceImports.add(entry.getKey());
- }
- }
- for (String spec : toReplaceImports) {
- if (replacementGroup == null) {
- groupImports.remove(spec);
- } else {
- groupImports.put(spec, replacementGroup);
- }
- }
- if (replacementGroup != null) {
- groupReplacements.put(originalGroup, replacementGroup);
- }
- observers.notify(new InvocationGroupRemovedEvent(originalGroup, (replacementGroup == null? getDefaultGroup(): replacementGroup)));
- }
-
- @Override
- public void removeInvocationGroup(InvocationGroup group) {
- groups.remove(group);
- replaceInvocationGroup(group, getDefaultGroup());
- }
-
- @Override
- public void replaceInvocationMechanism(InvocationMechanism originalMechanism, InvocationMechanism replacementMechanism) {
- for (InvocationGroup g : groups) {
- if (g.getMechanism().equals(originalMechanism)) {
- if (replacementMechanism == null) {
- g.setMechanism(getDefaultMechanism());
- } else {
- g.setMechanism(replacementMechanism);
- }
- }
- }
- Set<String> toRemoveImports = new HashSet<String>();
- for (Entry<String, InvocationMechanism> entry : mechanismImports.entrySet()) {
- if (entry.getValue() == originalMechanism) {
- toRemoveImports.add(entry.getKey());
- }
- }
- for (String spec : toRemoveImports) {
- if (replacementMechanism == null) {
- mechanismImports.remove(spec);
- } else {
- mechanismImports.put(spec, replacementMechanism);
- }
- }
- if (replacementMechanism != null) {
- mechanismReplacements.put(originalMechanism.getName() + ":" + originalMechanism.getXML(), replacementMechanism);
- }
- observers.notify(new InvocationMechanismRemovedEvent(originalMechanism, (replacementMechanism == null? getDefaultMechanism(): replacementMechanism)));
- }
-
- @Override
- public void removeMechanism(InvocationMechanism mechanism) {
- mechanisms.remove(mechanism);
- replaceInvocationMechanism(mechanism, getDefaultMechanism());
- }
-
- @Override
- public HashSet<InvocationGroup> getInvocationGroups() {
- return groups;
- }
-
- @Override
- public InvocationGroup getDefaultGroup() {
- if (defaultGroup == null) {
- createDefaultGroup();
- }
- return defaultGroup;
- }
-
- @Override
- public Set<InvocationMechanism> getMechanisms() {
- return mechanisms;
- }
-
- @Override
- public void addMechanism(InvocationMechanism mechanism) {
- mechanisms.add(mechanism);
- observers.notify(new InvocationMechanismAddedEvent(mechanism));
- }
-
- @Override
- public InvocationMechanism getDefaultMechanism() {
- if (defaultMechanism == null) {
- createDefaultMechanism();
- }
- return defaultMechanism;
- }
-
- @Override
- public boolean containsGroup(InvocationGroup group) {
- return groups.contains(group);
- }
-
- @Override
- public InvocationMechanism getInvocationMechanism(
- String defaultMechanismName) {
- for (InvocationMechanism m : mechanisms) {
- if (m.getName().equals(defaultMechanismName)) {
- return m;
- }
- }
- return null;
- }
-
- InvocationGroup getInvocationGroup(String groupName) {
- for (InvocationGroup g : groups) {
- if (g.getName().equals(groupName)) {
- return g;
- }
- }
- return null;
- }
-
- @Override
- public void mechanismChanged(InvocationMechanism im) {
- observers.notify(new InvocationMechanismChangedEvent(im));
- }
-
-
- private void createDefaultMechanism() {
- defaultMechanism = new ExternalToolLocalInvocationMechanism();
- defaultMechanism.setName(DEFAULT_MECHANISM_NAME);
- mechanisms.add(defaultMechanism);
- }
-
- private void createDefaultGroup() {
- defaultGroup = new InvocationGroup(mechanismCreators);
- defaultGroup.setName(DEFAULT_GROUP_NAME);
- defaultGroup.setMechanism(defaultMechanism);
- groups.add(defaultGroup);
- }
-
- private void readConfiguration() {
- File f = new File(getInvocationManagerDirectory(), "invocationManager.xml");
- if (!f.exists()) {
- return;
- }
- try {
- Document document = null;
- synchronized (builder) {
- document = builder.build(f);
- }
- Element topElement = document.getRootElement();
- Element mechanismsElement = topElement.getChild("invocationMechanisms");
- for (Object mechanismObject : mechanismsElement.getChildren("invocationMechanism")) {
- Element mechanismElement = (Element) mechanismObject;
- Element mechanismNameElement = mechanismElement.getChild("invocationMechanismName");
- String mechanismName = mechanismNameElement.getText();
- Element mechanismTypeElement = mechanismElement.getChild("invocationMechanismType");
- String mechanismType = mechanismTypeElement.getText();
- Element mechanismDetailsElement = mechanismElement.getChild("mechanismDetails");
- Element detailsElement = (Element) mechanismDetailsElement.getChildren().get(0);
- InvocationMechanism mechanism = null;
- for (MechanismCreator mc : mechanismCreators) {
- if (mc.canHandle(mechanismType)) {
- mechanism = mc.convert(detailsElement, mechanismName);
- }
- }
- if (mechanism != null) {
- this.addMechanism(mechanism);
- }
- }
-
- Element groupsElement = topElement.getChild("invocationGroups");
- for (Object groupObject : groupsElement.getChildren("invocationGroup")) {
- Element groupElement = (Element) groupObject;
- Element groupNameElement = groupElement.getChild("invocationGroupName");
- String groupName = groupNameElement.getText();
- Element mechanismNameElement = groupElement.getChild("mechanismName");
- String mechanismName = mechanismNameElement.getText();
- InvocationMechanism mechanism = getInvocationMechanism(mechanismName);
- if (mechanism == null) {
- logger.warn("Could not find mechanism " + mechanismName);
- mechanism = getDefaultMechanism();
- }
- InvocationGroup group = new InvocationGroup(mechanismCreators);
- group.setName(groupName);
- group.setMechanism(mechanism);
- group.convertMechanismToDetails();
- this.addInvocationGroup(group);
- }
- } catch (JDOMException e) {
- logger.error("XML parsing problem", e);
- } catch (IOException e) {
- logger.error("Unable to read invocation manager", e);
- }
- }
-
- /**
- * Get the directory where the invocation information will be/is saved to.
- */
- @Override
- public File getInvocationManagerDirectory() {
-
- File home = applicationConfiguration.getApplicationHomeDir();
-
- File invocationManagerDirectory = new File(home,"externaltool");
- if (!invocationManagerDirectory.exists()) {
- invocationManagerDirectory.mkdir();
- }
- return invocationManagerDirectory;
- }
-
- @Override
- public void saveConfiguration() {
- File f = new File(getInvocationManagerDirectory(), "invocationManager.xml");
-
- Document configDocument = new Document();
- Element topElement = new Element("invocationManager");
- Element mechanismsElement = new Element("invocationMechanisms");
-
- for (InvocationMechanism m : mechanisms) {
- Element mechanismElement = new Element("invocationMechanism");
- Element nameElement = new Element("invocationMechanismName");
- nameElement.setText(m.getName());
- mechanismElement.addContent(nameElement);
- Element typeElement = new Element("invocationMechanismType");
- typeElement.setText(m.getType());
- mechanismElement.addContent(typeElement);
- Element mechanismDetails = new Element("mechanismDetails");
- mechanismDetails.addContent(m.getXMLElement());
- mechanismElement.addContent(mechanismDetails);
-
- mechanismsElement.addContent(mechanismElement);
- }
- topElement.addContent(mechanismsElement);
-
- Element groupsElement = new Element("invocationGroups");
- for (InvocationGroup g : groups) {
- Element groupElement = new Element("invocationGroup");
- Element nameElement = new Element("invocationGroupName");
- nameElement.setText(g.getName());
- groupElement.addContent(nameElement);
- Element mechanismNameElement = new Element("mechanismName");
- mechanismNameElement.setText(g.getMechanism().getName());
- groupElement.addContent(mechanismNameElement);
- groupsElement.addContent(groupElement);
- }
- topElement.addContent(groupsElement);
-
- configDocument.setRootElement(topElement);
-
- FileWriter writer;
- try {
- writer = new FileWriter(f);
- synchronized (outputter) {
- outputter.output(configDocument, writer);
- }
- writer.close();
- } catch (IOException e) {
- logger.error("Unable to save invocation manager", e);
- }
- }
-
- @Override
- public void groupChanged(InvocationGroup group) {
- observers.notify(new InvocationGroupChangedEvent(group));
- }
-
- @Override
- public void addObserver(Observer<InvocationManagerEvent> observer) {
- observers.addObserver(observer);
- }
-
- @Override
- public List<Observer<InvocationManagerEvent>> getObservers() {
- return observers.getObservers();
- }
-
- @Override
- public void removeObserver(Observer<InvocationManagerEvent> observer) {
- observers.removeObserver(observer);
- }
-
- @Override
- public void deleteRun(String runId) {
- for (InvocationPersister persister : invocationPersisters) {
- persister.deleteRun(runId);
- }
- }
-
- @Override
- public void persistInvocations() {
- for (InvocationPersister persister : invocationPersisters) {
- persister.persist(getInvocationManagerDirectory());
- }
- }
-
- @Override
- public void loadInvocations() {
- for (InvocationPersister persister : invocationPersisters) {
- persister.load(getInvocationManagerDirectory());
- }
- }
-
- @Override
- public boolean containsMechanism(InvocationMechanism invocationMechanism) {
- return mechanisms.contains(invocationMechanism);
- }
-
- @Override
- public InvocationGroup getGroupReplacement(InvocationGroup group) {
- return groupReplacements.get(group);
- }
-
- @Override
- public InvocationMechanism getMechanismReplacement(String invocationMechanismSpecification) {
- return mechanismReplacements.get(invocationMechanismSpecification);
- }
-
- @Override
- public InvocationGroup getImportedGroup(String groupSpecification) {
- return groupImports.get(groupSpecification);
- }
-
- @Override
- public InvocationMechanism getImportedMechanism(String mechanismSpecification) {
- return mechanismImports.get(mechanismSpecification);
- }
-
- @Override
- public void importMechanism(String invocationMechanismSpecification,
- InvocationMechanism createdMechanism) {
- addMechanism(createdMechanism);
- mechanismImports.put(invocationMechanismSpecification, createdMechanism);
- }
-
- @Override
- public void importInvocationGroup(String invocationGroupSpecification,
- InvocationGroup invocationGroup) {
- addInvocationGroup(invocationGroup);
- groupImports.put(invocationGroupSpecification, invocationGroup);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/package.html
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/package.html b/src/main/java/net/sf/taverna/t2/activities/externaltool/package.html
deleted file mode 100644
index b07bedc..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/package.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<body>
-Contains the activity classes required to interact with use cases.
-</body>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/repository/ExternalToolRepositoryUtil.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/repository/ExternalToolRepositoryUtil.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/repository/ExternalToolRepositoryUtil.java
deleted file mode 100644
index 5bfcc63..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/repository/ExternalToolRepositoryUtil.java
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.repository;
-
-/**
- * @author alanrw
- *
- */
-public class ExternalToolRepositoryUtil {
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/ExternalToolSshInvocationMechanism.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/ExternalToolSshInvocationMechanism.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/ExternalToolSshInvocationMechanism.java
deleted file mode 100644
index 0b89175..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/ExternalToolSshInvocationMechanism.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.ssh;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.Text;
-
-import de.uni_luebeck.inb.knowarc.usecases.invocation.ssh.SshNodeFactory;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.ssh.SshUseCaseInvocation;
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanism;
-
-import de.uni_luebeck.inb.knowarc.usecases.invocation.ssh.SshNode;
-
-/**
- * @author alanrw
- *
- */
-public class ExternalToolSshInvocationMechanism extends InvocationMechanism {
-
- private List<SshNode> nodes = new ArrayList<SshNode>();
-
- /* (non-Javadoc)
- * @see net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanism#getType()
- */
- @Override
- public String getType() {
- return SshUseCaseInvocation.SSH_USE_CASE_INVOCATION_TYPE;
- }
-
- /**
- * @param list the nodes to set
- */
- public void setNodes(List<SshNode> list) {
- this.nodes = list;
- }
-
- public List<SshNode> getNodes() {
- if (this.nodes.isEmpty()) {
- this.nodes.add(SshNodeFactory.getInstance().getDefaultNode());
- }
- return this.nodes;
- }
-
- @Override
- public Element getXMLElement() {
- Element top = new Element("sshInvocation");
- for (SshNode node : nodes) {
- Element nodeElement = new Element("sshNode");
- String host = node.getHost();
- if (host != null) {
- Element hostElement = new Element("host");
- hostElement.addContent(new Text(host));
- nodeElement.addContent(hostElement);
- }
- int port = node.getPort();
- Element portElement = new Element("port");
- portElement.addContent(new Text(Integer.toString(port)));
- nodeElement.addContent(portElement);
-
- String directory = node.getDirectory();
- if (directory != null) {
- Element directoryElement = new Element("directory");
- directoryElement.addContent(new Text(directory));
- nodeElement.addContent(directoryElement);
- }
-
- String linkCommand = node.getLinkCommand();
- if (linkCommand != null) {
- Element linkCommandElement = new Element("linkCommand");
- linkCommandElement.addContent(new Text(linkCommand));
- nodeElement.addContent(linkCommandElement);
- }
-
- String copyCommand = node.getCopyCommand();
- if (copyCommand != null) {
- Element copyCommandElement = new Element("copyCommand");
- copyCommandElement.addContent(new Text(copyCommand));
- nodeElement.addContent(copyCommandElement);
- }
- if (node.isRetrieveData()) {
- Element retrieveDataElement = new Element("retrieveData");
- nodeElement.addContent(retrieveDataElement);
- }
-
- top.addContent(nodeElement);
- }
- return top;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/SshInvocationCreator.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/SshInvocationCreator.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/SshInvocationCreator.java
deleted file mode 100644
index 3d2f5b0..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/SshInvocationCreator.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.ssh;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import net.sf.taverna.t2.activities.externaltool.InvocationCreator;
-import net.sf.taverna.t2.activities.externaltool.RetrieveLoginFromTaverna;
-
-import org.apache.log4j.Logger;
-
-import com.jcraft.jsch.JSchException;
-import com.jcraft.jsch.SftpException;
-
-import de.uni_luebeck.inb.knowarc.usecases.UseCaseDescription;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.UseCaseInvocation;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.ssh.SshNode;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.ssh.SshNodeFactory;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.ssh.SshReference;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.ssh.SshUrl;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.ssh.SshUseCaseInvocation;
-
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanism;
-import net.sf.taverna.t2.reference.ExternalReferenceSPI;
-import net.sf.taverna.t2.reference.Identified;
-import net.sf.taverna.t2.reference.ReferenceService;
-import net.sf.taverna.t2.reference.ReferenceSet;
-import net.sf.taverna.t2.reference.T2Reference;
-import net.sf.taverna.t2.security.credentialmanager.CredentialManager;
-
-/**
- * @author alanrw
- *
- */
-public final class SshInvocationCreator implements InvocationCreator {
-
- private static Logger logger = Logger.getLogger(SshInvocationCreator.class);
-
- private static List<SshNode> knownNodes = new ArrayList<SshNode>();
-
- private CredentialManager credentialManager;
-
- @Override
- public boolean canHandle(String mechanismType) {
- return mechanismType.equals(SshUseCaseInvocation.SSH_USE_CASE_INVOCATION_TYPE);
- }
-
- @Override
- public UseCaseInvocation convert(InvocationMechanism m, UseCaseDescription description, Map<String, T2Reference> data, ReferenceService referenceService) {
- ExternalToolSshInvocationMechanism mechanism = (ExternalToolSshInvocationMechanism) m;
- SshUseCaseInvocation result = null;
- try {
- SshNode chosenNode = chooseNode(mechanism.getNodes(), data, referenceService);
- result = new SshUseCaseInvocation(description, chosenNode, new RetrieveLoginFromTaverna(new SshUrl(chosenNode).toString(), credentialManager), credentialManager);
- } catch (JSchException e) {
- logger.error("Null invocation", e);
- } catch (SftpException e) {
- logger.error("Null invocation", e);
- }
- return result;
- }
-
- private static SshNode chooseNode(List<SshNode> possibleNodes, Map<String, T2Reference> data, ReferenceService referenceService) {
- SshNode result = null;
- for (T2Reference ref : data.values()) {
- SshReference r = getAsSshReference(referenceService, ref);
- if (r != null) {
- SshNode dataNode = SshNodeFactory.getInstance().getSshNode(r.getHost(), r.getPort(), r.getDirectory());
- if (possibleNodes.contains(dataNode)) {
- logger.info("Running with data at " + r.getHost());
- return dataNode;
- }
- }
- }
- synchronized(knownNodes) {
- int chosenIndex = Integer.MAX_VALUE;
- for (SshNode p : possibleNodes) {
- if (!knownNodes.contains(p)) {
- knownNodes.add(p);
- }
- int index = knownNodes.indexOf(p);
- if (index < chosenIndex) {
- chosenIndex = index;
- }
- }
- if (chosenIndex != Integer.MAX_VALUE) {
- result = knownNodes.get(chosenIndex);
- // Move node to end of list
- knownNodes.remove(result);
- knownNodes.add(result);
- }
- }
- return result;
- }
-
- private static SshReference getAsSshReference(ReferenceService referenceService,
- T2Reference t2Reference) {
- Identified identified = referenceService.resolveIdentifier(t2Reference, null, null);
- if (identified instanceof ReferenceSet) {
- for (ExternalReferenceSPI ref : ((ReferenceSet) identified).getExternalReferences()) {
- if (ref instanceof SshReference) {
- SshReference sshRef = (SshReference) ref;
- return sshRef;
- }
- }
- }
- return null;
- }
-
- public void setCredentialManager(CredentialManager credentialManager) {
- this.credentialManager = credentialManager;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/6bc470a3/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/SshInvocationPersister.java
----------------------------------------------------------------------
diff --git a/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/SshInvocationPersister.java b/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/SshInvocationPersister.java
deleted file mode 100644
index 44217d3..0000000
--- a/src/main/java/net/sf/taverna/t2/activities/externaltool/ssh/SshInvocationPersister.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.activities.externaltool.ssh;
-
-import java.io.File;
-
-import net.sf.taverna.t2.activities.externaltool.manager.InvocationPersister;
-import net.sf.taverna.t2.security.credentialmanager.CredentialManager;
-
-import org.apache.log4j.Logger;
-
-import de.uni_luebeck.inb.knowarc.usecases.invocation.InvocationException;
-import de.uni_luebeck.inb.knowarc.usecases.invocation.ssh.SshUseCaseInvocation;
-
-/**
- * @author alanrw
- *
- */
-public class SshInvocationPersister extends InvocationPersister {
-
- private static Logger logger = Logger.getLogger(SshInvocationPersister.class);
- private CredentialManager credentialManager;
-
-
-
- /* (non-Javadoc)
- * @see net.sf.taverna.t2.activities.externaltool.manager.InvocationPersister#load()
- */
- @Override
- public void load(File directory) {
- SshUseCaseInvocation.load(directory);
- }
-
- /* (non-Javadoc)
- * @see net.sf.taverna.t2.activities.externaltool.manager.InvocationPersister#persist()
- */
- @Override
- public void persist(File directory) {
- SshUseCaseInvocation.persist(directory);
- }
-
- @Override
- public void deleteRun(String runId) {
- try {
- SshUseCaseInvocation.cleanup(runId, credentialManager);
- } catch (InvocationException e) {
- logger.error(e);
- }
- }
-
- public void setCredentialManager(CredentialManager credentialManager) {
- this.credentialManager = credentialManager;
- }
-
-}