Repository: airavata Updated Branches: refs/heads/gfac_appcatalog_int 088e80f03 -> b52499eb7
http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java index c5a96f9..6e1b8b7 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java @@ -28,7 +28,6 @@ import org.apache.airavata.common.utils.AiravataZKUtils; import org.apache.airavata.common.utils.DBUtil; import org.apache.airavata.common.utils.ServerSettings; import org.apache.airavata.common.utils.StringUtil; -import org.apache.airavata.commons.gfac.type.ActualParameter; import org.apache.airavata.credential.store.store.CredentialReader; import org.apache.airavata.credential.store.store.impl.CredentialReaderImpl; import org.apache.airavata.gfac.Constants; @@ -39,16 +38,48 @@ import org.apache.airavata.gfac.core.context.JobExecutionContext; import org.apache.airavata.gfac.core.handler.GFacHandlerException; import org.apache.airavata.gfac.core.states.GfacExperimentState; import org.apache.airavata.gfac.core.states.GfacPluginState; -import org.apache.airavata.model.appcatalog.computeresource.*; -import org.apache.airavata.model.workspace.experiment.*; -import org.apache.airavata.model.workspace.experiment.DataType; +import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType; +import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; +import org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission; +import org.apache.airavata.model.appcatalog.computeresource.GlobusJobSubmission; +import org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission; +import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission; +import org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission; +import org.apache.airavata.model.workspace.experiment.ActionableGroup; +import org.apache.airavata.model.workspace.experiment.CorrectiveAction; +import org.apache.airavata.model.workspace.experiment.ErrorCategory; +import org.apache.airavata.model.workspace.experiment.ErrorDetails; +import org.apache.airavata.model.workspace.experiment.JobDetails; +import org.apache.airavata.model.workspace.experiment.JobState; +import org.apache.airavata.model.workspace.experiment.JobStatus; import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory; import org.apache.airavata.registry.cpi.ChildDataType; import org.apache.airavata.registry.cpi.CompositeIdentifier; import org.apache.airavata.registry.cpi.Registry; -import org.apache.airavata.schemas.gfac.*; +import org.apache.airavata.schemas.gfac.BooleanArrayType; +import org.apache.airavata.schemas.gfac.BooleanParameterType; +import org.apache.airavata.schemas.gfac.DataType; +import org.apache.airavata.schemas.gfac.DoubleArrayType; +import org.apache.airavata.schemas.gfac.DoubleParameterType; +import org.apache.airavata.schemas.gfac.FileArrayType; +import org.apache.airavata.schemas.gfac.FileParameterType; +import org.apache.airavata.schemas.gfac.FloatArrayType; +import org.apache.airavata.schemas.gfac.FloatParameterType; +import org.apache.airavata.schemas.gfac.IntegerArrayType; +import org.apache.airavata.schemas.gfac.IntegerParameterType; +import org.apache.airavata.schemas.gfac.Parameter; +import org.apache.airavata.schemas.gfac.StdErrParameterType; +import org.apache.airavata.schemas.gfac.StdOutParameterType; +import org.apache.airavata.schemas.gfac.StringArrayType; +import org.apache.airavata.schemas.gfac.StringParameterType; +import org.apache.airavata.schemas.gfac.URIArrayType; +import org.apache.airavata.schemas.gfac.URIParameterType; import org.apache.axiom.om.OMElement; -import org.apache.zookeeper.*; +import org.apache.zookeeper.CreateMode; +import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.ZKUtil; +import org.apache.zookeeper.ZooDefs; +import org.apache.zookeeper.ZooKeeper; import org.apache.zookeeper.data.Stat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,11 +93,25 @@ import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; -import java.io.*; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStream; import java.net.InetAddress; import java.net.URISyntaxException; import java.net.UnknownHostException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +//import org.apache.airavata.commons.gfac.type.ActualParameter; public class GFacUtils { private final static Logger log = LoggerFactory.getLogger(GFacUtils.class); @@ -187,410 +232,410 @@ public class GFacUtils { return buf.toString(); } - public static ActualParameter getInputActualParameter(Parameter parameter, - DataObjectType element) { - ActualParameter actualParameter = new ActualParameter(); - if ("String".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(StringParameterType.type); - if (!"".equals(element.getValue())) { - ((StringParameterType) actualParameter.getType()) - .setValue(element.getValue()); - } else { - ((StringParameterType) actualParameter.getType()).setValue(""); - } - } else if ("Double".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(DoubleParameterType.type); - if (!"".equals(element.getValue())) { - ((DoubleParameterType) actualParameter.getType()) - .setValue(new Double(element.getValue())); - } - } else if ("Integer".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(IntegerParameterType.type); - if (!"".equals(element.getValue())) { - ((IntegerParameterType) actualParameter.getType()) - .setValue(new Integer(element.getValue())); - } - } else if ("Float".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(FloatParameterType.type); - if (!"".equals(element.getValue())) { - ((FloatParameterType) actualParameter.getType()) - .setValue(new Float(element.getValue())); - } - } else if ("Boolean".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(BooleanParameterType.type); - if (!"".equals(element.getValue())) { - ((BooleanParameterType) actualParameter.getType()) - .setValue(new Boolean(element.getValue())); - } - } else if ("File".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(FileParameterType.type); - if (!"".equals(element.getValue())) { - ((FileParameterType) actualParameter.getType()) - .setValue(element.getValue()); - } - } else if ("URI".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(URIParameterType.type); - if (!"".equals(element.getValue())) { - ((URIParameterType) actualParameter.getType()).setValue(element - .getValue()); - } else { - ((URIParameterType) actualParameter.getType()).setValue(""); - } - - } else if ("StdOut".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(StdOutParameterType.type); - if (!"".equals(element.getValue())) { - ((StdOutParameterType) actualParameter.getType()) - .setValue(element.getValue()); - } else { - ((StdOutParameterType) actualParameter.getType()).setValue(""); - } - - } else if ("StdErr".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(StdErrParameterType.type); - if (!"".equals(element.getValue())) { - ((StdErrParameterType) actualParameter.getType()) - .setValue(element.getValue()); - } else { - ((StdErrParameterType) actualParameter.getType()).setValue(""); - } - - } - return actualParameter; - } - - public static ActualParameter getInputActualParameter(Parameter parameter, - OMElement element) { - OMElement innerelement = null; - ActualParameter actualParameter = new ActualParameter(); - if ("String".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(StringParameterType.type); - if (!"".equals(element.getText())) { - ((StringParameterType) actualParameter.getType()) - .setValue(element.getText()); - } else if (element.getChildrenWithLocalName("value").hasNext()) { - innerelement = (OMElement) element.getChildrenWithLocalName( - "value").next(); - ((StringParameterType) actualParameter.getType()) - .setValue(innerelement.getText()); - } else { - ((StringParameterType) actualParameter.getType()).setValue(""); - } - } else if ("Double".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(DoubleParameterType.type); - if (!"".equals(element.getText())) { - ((DoubleParameterType) actualParameter.getType()) - .setValue(new Double(innerelement.getText())); - } else { - innerelement = (OMElement) element.getChildrenWithLocalName( - "value").next(); - ((DoubleParameterType) actualParameter.getType()) - .setValue(new Double(innerelement.getText())); - } - } else if ("Integer".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(IntegerParameterType.type); - if (!"".equals(element.getText())) { - ((IntegerParameterType) actualParameter.getType()) - .setValue(new Integer(element.getText())); - } else { - innerelement = (OMElement) element.getChildrenWithLocalName( - "value").next(); - ((IntegerParameterType) actualParameter.getType()) - .setValue(new Integer(innerelement.getText())); - } - } else if ("Float".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(FloatParameterType.type); - if (!"".equals(element.getText())) { - ((FloatParameterType) actualParameter.getType()) - .setValue(new Float(element.getText())); - } else { - innerelement = (OMElement) element.getChildrenWithLocalName( - "value").next(); - ((FloatParameterType) actualParameter.getType()) - .setValue(new Float(innerelement.getText())); - } - } else if ("Boolean".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(BooleanParameterType.type); - if (!"".equals(element.getText())) { - ((BooleanParameterType) actualParameter.getType()) - .setValue(new Boolean(element.getText())); - } else { - innerelement = (OMElement) element.getChildrenWithLocalName( - "value").next(); - ((BooleanParameterType) actualParameter.getType()) - .setValue(Boolean.parseBoolean(innerelement.getText())); - } - } else if ("File".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(FileParameterType.type); - if (!"".equals(element.getText())) { - ((FileParameterType) actualParameter.getType()) - .setValue(element.getText()); - } else { - innerelement = (OMElement) element.getChildrenWithLocalName( - "value").next(); - ((FileParameterType) actualParameter.getType()) - .setValue(innerelement.getText()); - } - } else if ("URI".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(URIParameterType.type); - if (!"".equals(element.getText())) { - ((URIParameterType) actualParameter.getType()).setValue(element - .getText()); - } else if (element.getChildrenWithLocalName("value").hasNext()) { - innerelement = (OMElement) element.getChildrenWithLocalName( - "value").next(); - System.out.println(actualParameter.getType().toString()); - log.debug(actualParameter.getType().toString()); - ((URIParameterType) actualParameter.getType()) - .setValue(innerelement.getText()); - } else { - ((URIParameterType) actualParameter.getType()).setValue(""); - } - } else if ("StringArray".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(StringArrayType.type); - Iterator value = element.getChildrenWithLocalName("value"); - int i = 0; - if (!"".equals(element.getText())) { - String[] list = StringUtil.getElementsFromString(element - .getText()); - for (String arrayValue : list) { - ((StringArrayType) actualParameter.getType()).insertValue( - i++, arrayValue); - } - } else { - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((StringArrayType) actualParameter.getType()).insertValue( - i++, innerelement.getText()); - } - } - } else if ("DoubleArray".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(DoubleArrayType.type); - Iterator value = element.getChildrenWithLocalName("value"); - int i = 0; - if (!"".equals(element.getText())) { - String[] list = StringUtil.getElementsFromString(element - .getText()); - for (String arrayValue : list) { - ((DoubleArrayType) actualParameter.getType()).insertValue( - i++, new Double(arrayValue)); - } - } else { - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((DoubleArrayType) actualParameter.getType()).insertValue( - i++, new Double(innerelement.getText())); - } - } - - } else if ("IntegerArray" - .equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(IntegerArrayType.type); - Iterator value = element.getChildrenWithLocalName("value"); - int i = 0; - if (!"".equals(element.getText())) { - String[] list = StringUtil.getElementsFromString(element - .getText()); - for (String arrayValue : list) { - ((IntegerArrayType) actualParameter.getType()).insertValue( - i++, new Integer(arrayValue)); - } - } else { - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((IntegerArrayType) actualParameter.getType()).insertValue( - i++, new Integer(innerelement.getText())); - } - } - } else if ("FloatArray".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(FloatArrayType.type); - Iterator value = element.getChildrenWithLocalName("value"); - int i = 0; - if (!"".equals(element.getText())) { - String[] list = StringUtil.getElementsFromString(element - .getText()); - for (String arrayValue : list) { - ((FloatArrayType) actualParameter.getType()).insertValue( - i++, new Float(arrayValue)); - } - } else { - - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((FloatArrayType) actualParameter.getType()).insertValue( - i++, new Float(innerelement.getText())); - } - } - } else if ("BooleanArray" - .equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(BooleanArrayType.type); - Iterator value = element.getChildrenWithLocalName("value"); - int i = 0; - if (!"".equals(element.getText())) { - String[] list = StringUtil.getElementsFromString(element - .getText()); - for (String arrayValue : list) { - ((BooleanArrayType) actualParameter.getType()).insertValue( - i++, new Boolean(arrayValue)); - } - } else { - - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((BooleanArrayType) actualParameter.getType()).insertValue( - i++, new Boolean(innerelement.getText())); - } - } - } else if ("FileArray".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(FileArrayType.type); - Iterator value = element.getChildrenWithLocalName("value"); - int i = 0; - if (!"".equals(element.getText())) { - String[] list = StringUtil.getElementsFromString(element - .getText()); - for (String arrayValue : list) { - ((FileArrayType) actualParameter.getType()).insertValue( - i++, arrayValue); - } - } else { - - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((FileArrayType) actualParameter.getType()).insertValue( - i++, innerelement.getText()); - } - } - } else if ("URIArray".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(URIArrayType.type); - Iterator value = element.getChildrenWithLocalName("value"); - int i = 0; - if (!"".equals(element.getText())) { - String[] list = StringUtil.getElementsFromString(element - .getText()); - for (String arrayValue : list) { - ((URIArrayType) actualParameter.getType()).insertValue(i++, - arrayValue); - } - } else { +// public static ActualParameter getInputActualParameter(Parameter parameter, +// DataObjectType element) { +// ActualParameter actualParameter = new ActualParameter(); +// if ("String".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(StringParameterType.type); +// if (!"".equals(element.getValue())) { +// ((StringParameterType) actualParameter.getType()) +// .setValue(element.getValue()); +// } else { +// ((StringParameterType) actualParameter.getType()).setValue(""); +// } +// } else if ("Double".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(DoubleParameterType.type); +// if (!"".equals(element.getValue())) { +// ((DoubleParameterType) actualParameter.getType()) +// .setValue(new Double(element.getValue())); +// } +// } else if ("Integer".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(IntegerParameterType.type); +// if (!"".equals(element.getValue())) { +// ((IntegerParameterType) actualParameter.getType()) +// .setValue(new Integer(element.getValue())); +// } +// } else if ("Float".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(FloatParameterType.type); +// if (!"".equals(element.getValue())) { +// ((FloatParameterType) actualParameter.getType()) +// .setValue(new Float(element.getValue())); +// } +// } else if ("Boolean".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(BooleanParameterType.type); +// if (!"".equals(element.getValue())) { +// ((BooleanParameterType) actualParameter.getType()) +// .setValue(new Boolean(element.getValue())); +// } +// } else if ("File".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(FileParameterType.type); +// if (!"".equals(element.getValue())) { +// ((FileParameterType) actualParameter.getType()) +// .setValue(element.getValue()); +// } +// } else if ("URI".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(URIParameterType.type); +// if (!"".equals(element.getValue())) { +// ((URIParameterType) actualParameter.getType()).setValue(element +// .getValue()); +// } else { +// ((URIParameterType) actualParameter.getType()).setValue(""); +// } +// +// } else if ("StdOut".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(StdOutParameterType.type); +// if (!"".equals(element.getValue())) { +// ((StdOutParameterType) actualParameter.getType()) +// .setValue(element.getValue()); +// } else { +// ((StdOutParameterType) actualParameter.getType()).setValue(""); +// } +// +// } else if ("StdErr".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(StdErrParameterType.type); +// if (!"".equals(element.getValue())) { +// ((StdErrParameterType) actualParameter.getType()) +// .setValue(element.getValue()); +// } else { +// ((StdErrParameterType) actualParameter.getType()).setValue(""); +// } +// +// } +// return actualParameter; +// } - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((URIArrayType) actualParameter.getType()).insertValue(i++, - innerelement.getText()); - } - } - } - return actualParameter; - } +// public static ActualParameter getInputActualParameter(Parameter parameter, +// OMElement element) { +// OMElement innerelement = null; +// ActualParameter actualParameter = new ActualParameter(); +// if ("String".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(StringParameterType.type); +// if (!"".equals(element.getText())) { +// ((StringParameterType) actualParameter.getType()) +// .setValue(element.getText()); +// } else if (element.getChildrenWithLocalName("value").hasNext()) { +// innerelement = (OMElement) element.getChildrenWithLocalName( +// "value").next(); +// ((StringParameterType) actualParameter.getType()) +// .setValue(innerelement.getText()); +// } else { +// ((StringParameterType) actualParameter.getType()).setValue(""); +// } +// } else if ("Double".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(DoubleParameterType.type); +// if (!"".equals(element.getText())) { +// ((DoubleParameterType) actualParameter.getType()) +// .setValue(new Double(innerelement.getText())); +// } else { +// innerelement = (OMElement) element.getChildrenWithLocalName( +// "value").next(); +// ((DoubleParameterType) actualParameter.getType()) +// .setValue(new Double(innerelement.getText())); +// } +// } else if ("Integer".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(IntegerParameterType.type); +// if (!"".equals(element.getText())) { +// ((IntegerParameterType) actualParameter.getType()) +// .setValue(new Integer(element.getText())); +// } else { +// innerelement = (OMElement) element.getChildrenWithLocalName( +// "value").next(); +// ((IntegerParameterType) actualParameter.getType()) +// .setValue(new Integer(innerelement.getText())); +// } +// } else if ("Float".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(FloatParameterType.type); +// if (!"".equals(element.getText())) { +// ((FloatParameterType) actualParameter.getType()) +// .setValue(new Float(element.getText())); +// } else { +// innerelement = (OMElement) element.getChildrenWithLocalName( +// "value").next(); +// ((FloatParameterType) actualParameter.getType()) +// .setValue(new Float(innerelement.getText())); +// } +// } else if ("Boolean".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(BooleanParameterType.type); +// if (!"".equals(element.getText())) { +// ((BooleanParameterType) actualParameter.getType()) +// .setValue(new Boolean(element.getText())); +// } else { +// innerelement = (OMElement) element.getChildrenWithLocalName( +// "value").next(); +// ((BooleanParameterType) actualParameter.getType()) +// .setValue(Boolean.parseBoolean(innerelement.getText())); +// } +// } else if ("File".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(FileParameterType.type); +// if (!"".equals(element.getText())) { +// ((FileParameterType) actualParameter.getType()) +// .setValue(element.getText()); +// } else { +// innerelement = (OMElement) element.getChildrenWithLocalName( +// "value").next(); +// ((FileParameterType) actualParameter.getType()) +// .setValue(innerelement.getText()); +// } +// } else if ("URI".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(URIParameterType.type); +// if (!"".equals(element.getText())) { +// ((URIParameterType) actualParameter.getType()).setValue(element +// .getText()); +// } else if (element.getChildrenWithLocalName("value").hasNext()) { +// innerelement = (OMElement) element.getChildrenWithLocalName( +// "value").next(); +// System.out.println(actualParameter.getType().toString()); +// log.debug(actualParameter.getType().toString()); +// ((URIParameterType) actualParameter.getType()) +// .setValue(innerelement.getText()); +// } else { +// ((URIParameterType) actualParameter.getType()).setValue(""); +// } +// } else if ("StringArray".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(StringArrayType.type); +// Iterator value = element.getChildrenWithLocalName("value"); +// int i = 0; +// if (!"".equals(element.getText())) { +// String[] list = StringUtil.getElementsFromString(element +// .getText()); +// for (String arrayValue : list) { +// ((StringArrayType) actualParameter.getType()).insertValue( +// i++, arrayValue); +// } +// } else { +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((StringArrayType) actualParameter.getType()).insertValue( +// i++, innerelement.getText()); +// } +// } +// } else if ("DoubleArray".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(DoubleArrayType.type); +// Iterator value = element.getChildrenWithLocalName("value"); +// int i = 0; +// if (!"".equals(element.getText())) { +// String[] list = StringUtil.getElementsFromString(element +// .getText()); +// for (String arrayValue : list) { +// ((DoubleArrayType) actualParameter.getType()).insertValue( +// i++, new Double(arrayValue)); +// } +// } else { +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((DoubleArrayType) actualParameter.getType()).insertValue( +// i++, new Double(innerelement.getText())); +// } +// } +// +// } else if ("IntegerArray" +// .equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(IntegerArrayType.type); +// Iterator value = element.getChildrenWithLocalName("value"); +// int i = 0; +// if (!"".equals(element.getText())) { +// String[] list = StringUtil.getElementsFromString(element +// .getText()); +// for (String arrayValue : list) { +// ((IntegerArrayType) actualParameter.getType()).insertValue( +// i++, new Integer(arrayValue)); +// } +// } else { +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((IntegerArrayType) actualParameter.getType()).insertValue( +// i++, new Integer(innerelement.getText())); +// } +// } +// } else if ("FloatArray".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(FloatArrayType.type); +// Iterator value = element.getChildrenWithLocalName("value"); +// int i = 0; +// if (!"".equals(element.getText())) { +// String[] list = StringUtil.getElementsFromString(element +// .getText()); +// for (String arrayValue : list) { +// ((FloatArrayType) actualParameter.getType()).insertValue( +// i++, new Float(arrayValue)); +// } +// } else { +// +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((FloatArrayType) actualParameter.getType()).insertValue( +// i++, new Float(innerelement.getText())); +// } +// } +// } else if ("BooleanArray" +// .equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(BooleanArrayType.type); +// Iterator value = element.getChildrenWithLocalName("value"); +// int i = 0; +// if (!"".equals(element.getText())) { +// String[] list = StringUtil.getElementsFromString(element +// .getText()); +// for (String arrayValue : list) { +// ((BooleanArrayType) actualParameter.getType()).insertValue( +// i++, new Boolean(arrayValue)); +// } +// } else { +// +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((BooleanArrayType) actualParameter.getType()).insertValue( +// i++, new Boolean(innerelement.getText())); +// } +// } +// } else if ("FileArray".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(FileArrayType.type); +// Iterator value = element.getChildrenWithLocalName("value"); +// int i = 0; +// if (!"".equals(element.getText())) { +// String[] list = StringUtil.getElementsFromString(element +// .getText()); +// for (String arrayValue : list) { +// ((FileArrayType) actualParameter.getType()).insertValue( +// i++, arrayValue); +// } +// } else { +// +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((FileArrayType) actualParameter.getType()).insertValue( +// i++, innerelement.getText()); +// } +// } +// } else if ("URIArray".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(URIArrayType.type); +// Iterator value = element.getChildrenWithLocalName("value"); +// int i = 0; +// if (!"".equals(element.getText())) { +// String[] list = StringUtil.getElementsFromString(element +// .getText()); +// for (String arrayValue : list) { +// ((URIArrayType) actualParameter.getType()).insertValue(i++, +// arrayValue); +// } +// } else { +// +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((URIArrayType) actualParameter.getType()).insertValue(i++, +// innerelement.getText()); +// } +// } +// } +// return actualParameter; +// } - public static ActualParameter getInputActualParameter(Parameter parameter, - String inputVal) throws GFacException { - OMElement innerelement = null; - ActualParameter actualParameter = new ActualParameter(); - if ("String".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(StringParameterType.type); - ((StringParameterType) actualParameter.getType()) - .setValue(inputVal); - } else if ("Double".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(DoubleParameterType.type); - ((DoubleParameterType) actualParameter.getType()) - .setValue(new Double(inputVal)); - } else if ("Integer".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(IntegerParameterType.type); - ((IntegerParameterType) actualParameter.getType()) - .setValue(new Integer(inputVal)); - } else if ("Float".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(FloatParameterType.type); - ((FloatParameterType) actualParameter.getType()) - .setValue(new Float(inputVal)); - } else if ("Boolean".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(BooleanParameterType.type); - ((BooleanParameterType) actualParameter.getType()) - .setValue(new Boolean(inputVal)); - } else if ("File".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(FileParameterType.type); - ((FileParameterType) actualParameter.getType()).setValue(inputVal); - } else if ("URI".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(URIParameterType.type); - ((URIParameterType) actualParameter.getType()).setValue(inputVal); - } else if ("StringArray".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(StringArrayType.type); - Iterator iterator = Arrays.asList( - StringUtil.getElementsFromString(inputVal)).iterator(); - int i = 0; - while (iterator.hasNext()) { - innerelement = (OMElement) iterator.next(); - ((StringArrayType) actualParameter.getType()).insertValue(i++, - innerelement.getText()); - } - } else if ("DoubleArray".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(DoubleArrayType.type); - Iterator value = Arrays.asList( - StringUtil.getElementsFromString(inputVal)).iterator(); - int i = 0; - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((DoubleArrayType) actualParameter.getType()).insertValue(i++, - new Double(innerelement.getText())); - } - } else if ("IntegerArray" - .equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(IntegerArrayType.type); - Iterator value = Arrays.asList( - StringUtil.getElementsFromString(inputVal)).iterator(); - int i = 0; - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((IntegerArrayType) actualParameter.getType()).insertValue(i++, - new Integer(innerelement.getText())); - } - } else if ("FloatArray".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(FloatArrayType.type); - Iterator value = Arrays.asList( - StringUtil.getElementsFromString(inputVal)).iterator(); - int i = 0; - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((FloatArrayType) actualParameter.getType()).insertValue(i++, - new Float(innerelement.getText())); - } - } else if ("BooleanArray" - .equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(BooleanArrayType.type); - Iterator value = Arrays.asList( - StringUtil.getElementsFromString(inputVal)).iterator(); - int i = 0; - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((BooleanArrayType) actualParameter.getType()).insertValue(i++, - new Boolean(innerelement.getText())); - } - } else if ("FileArray".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(FileArrayType.type); - Iterator value = Arrays.asList( - StringUtil.getElementsFromString(inputVal)).iterator(); - int i = 0; - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((FileArrayType) actualParameter.getType()).insertValue(i++, - innerelement.getText()); - } - } else if ("URIArray".equals(parameter.getParameterType().getName())) { - actualParameter = new ActualParameter(URIArrayType.type); - Iterator value = Arrays.asList( - StringUtil.getElementsFromString(inputVal)).iterator(); - int i = 0; - while (value.hasNext()) { - innerelement = (OMElement) value.next(); - ((URIArrayType) actualParameter.getType()).insertValue(i++, - innerelement.getText()); - } - } else { - throw new GFacException( - "Input parameters are not configured properly "); - } - return actualParameter; - } +// public static ActualParameter getInputActualParameter(Parameter parameter, +// String inputVal) throws GFacException { +// OMElement innerelement = null; +// ActualParameter actualParameter = new ActualParameter(); +// if ("String".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(StringParameterType.type); +// ((StringParameterType) actualParameter.getType()) +// .setValue(inputVal); +// } else if ("Double".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(DoubleParameterType.type); +// ((DoubleParameterType) actualParameter.getType()) +// .setValue(new Double(inputVal)); +// } else if ("Integer".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(IntegerParameterType.type); +// ((IntegerParameterType) actualParameter.getType()) +// .setValue(new Integer(inputVal)); +// } else if ("Float".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(FloatParameterType.type); +// ((FloatParameterType) actualParameter.getType()) +// .setValue(new Float(inputVal)); +// } else if ("Boolean".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(BooleanParameterType.type); +// ((BooleanParameterType) actualParameter.getType()) +// .setValue(new Boolean(inputVal)); +// } else if ("File".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(FileParameterType.type); +// ((FileParameterType) actualParameter.getType()).setValue(inputVal); +// } else if ("URI".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(URIParameterType.type); +// ((URIParameterType) actualParameter.getType()).setValue(inputVal); +// } else if ("StringArray".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(StringArrayType.type); +// Iterator iterator = Arrays.asList( +// StringUtil.getElementsFromString(inputVal)).iterator(); +// int i = 0; +// while (iterator.hasNext()) { +// innerelement = (OMElement) iterator.next(); +// ((StringArrayType) actualParameter.getType()).insertValue(i++, +// innerelement.getText()); +// } +// } else if ("DoubleArray".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(DoubleArrayType.type); +// Iterator value = Arrays.asList( +// StringUtil.getElementsFromString(inputVal)).iterator(); +// int i = 0; +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((DoubleArrayType) actualParameter.getType()).insertValue(i++, +// new Double(innerelement.getText())); +// } +// } else if ("IntegerArray" +// .equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(IntegerArrayType.type); +// Iterator value = Arrays.asList( +// StringUtil.getElementsFromString(inputVal)).iterator(); +// int i = 0; +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((IntegerArrayType) actualParameter.getType()).insertValue(i++, +// new Integer(innerelement.getText())); +// } +// } else if ("FloatArray".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(FloatArrayType.type); +// Iterator value = Arrays.asList( +// StringUtil.getElementsFromString(inputVal)).iterator(); +// int i = 0; +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((FloatArrayType) actualParameter.getType()).insertValue(i++, +// new Float(innerelement.getText())); +// } +// } else if ("BooleanArray" +// .equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(BooleanArrayType.type); +// Iterator value = Arrays.asList( +// StringUtil.getElementsFromString(inputVal)).iterator(); +// int i = 0; +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((BooleanArrayType) actualParameter.getType()).insertValue(i++, +// new Boolean(innerelement.getText())); +// } +// } else if ("FileArray".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(FileArrayType.type); +// Iterator value = Arrays.asList( +// StringUtil.getElementsFromString(inputVal)).iterator(); +// int i = 0; +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((FileArrayType) actualParameter.getType()).insertValue(i++, +// innerelement.getText()); +// } +// } else if ("URIArray".equals(parameter.getParameterType().getName())) { +// actualParameter = new ActualParameter(URIArrayType.type); +// Iterator value = Arrays.asList( +// StringUtil.getElementsFromString(inputVal)).iterator(); +// int i = 0; +// while (value.hasNext()) { +// innerelement = (OMElement) value.next(); +// ((URIArrayType) actualParameter.getType()).insertValue(i++, +// innerelement.getText()); +// } +// } else { +// throw new GFacException( +// "Input parameters are not configured properly "); +// } +// return actualParameter; +// } // public static ApplicationJob createApplicationJob( // JobExecutionContext jobExecutionContext) { @@ -811,89 +856,89 @@ public class GFacUtils { } } - public static Map<String, Object> getInMessageContext( - List<DataObjectType> experimentData, Parameter[] parameters) - throws GFacException { - HashMap<String, Object> stringObjectHashMap = new HashMap<String, Object>(); - Map<String, DataObjectType> map = new HashMap<String, DataObjectType>(); - for (DataObjectType objectType : experimentData) { - map.put(objectType.getKey(), objectType); - } - for (int i = 0; i < parameters.length; i++) { - DataObjectType input = map.get(parameters[i].getParameterName()); - if (input != null) { - DataType t = DataType.STRING; - String type = parameters[i].getParameterType().getType().toString().toUpperCase(); - if (type.equals("STRING")){ - t=DataType.STRING; - }else if (type.equals("INTEGER")){ - t=DataType.INTEGER; - }else if (type.equals("FLOAT")){ - //FIXME - t=DataType.INTEGER; - }else if (type.equals("URI")){ - t=DataType.URI; - } - input.setType(t); - stringObjectHashMap - .put(parameters[i].getParameterName(), GFacUtils - .getInputActualParameter(parameters[i], input)); - } else { - throw new GFacException( - "Error finding the parameter: parameter Name" - + parameters[i].getParameterName()); - } - } - return stringObjectHashMap; - } +// public static Map<String, Object> getInMessageContext( +// List<DataObjectType> experimentData, Parameter[] parameters) +// throws GFacException { +// HashMap<String, Object> stringObjectHashMap = new HashMap<String, Object>(); +// Map<String, DataObjectType> map = new HashMap<String, DataObjectType>(); +// for (DataObjectType objectType : experimentData) { +// map.put(objectType.getKey(), objectType); +// } +// for (int i = 0; i < parameters.length; i++) { +// DataObjectType input = map.get(parameters[i].getParameterName()); +// if (input != null) { +// DataType t = DataType.STRING; +// String type = parameters[i].getParameterType().getType().toString().toUpperCase(); +// if (type.equals("STRING")){ +// t=DataType.STRING; +// }else if (type.equals("INTEGER")){ +// t=DataType.INTEGER; +// }else if (type.equals("FLOAT")){ +// //FIXME +// t=DataType.INTEGER; +// }else if (type.equals("URI")){ +// t=DataType.URI; +// } +// input.setType(t); +// stringObjectHashMap +// .put(parameters[i].getParameterName(), GFacUtils +// .getInputActualParameter(parameters[i], input)); +// } else { +// throw new GFacException( +// "Error finding the parameter: parameter Name" +// + parameters[i].getParameterName()); +// } +// } +// return stringObjectHashMap; +// } - public static Map<String, Object> getInMessageContext(List<DataObjectType> experimentData) throws GFacException { + public static Map<String, Object> getInputParamMap(List<InputDataObjectType> experimentData) throws GFacException { Map<String, Object> map = new HashMap<String, Object>(); - for (DataObjectType objectType : experimentData) { - map.put(objectType.getKey(), objectType); + for (InputDataObjectType objectType : experimentData) { + map.put(objectType.getName(), objectType); } return map; } +// +// public static Map<String, Object> getOutMessageContext( +// List<DataObjectType> experimentData, Parameter[] parameters) +// throws GFacException { +// HashMap<String, Object> stringObjectHashMap = new HashMap<String, Object>(); +// Map<String, DataObjectType> map = new HashMap<String, DataObjectType>(); +// for (DataObjectType objectType : experimentData) { +// map.put(objectType.getKey(), objectType); +// } +// for (int i = 0; i < parameters.length; i++) { +// DataObjectType output = map.get(parameters[i].getParameterName()); +// if (output==null){ +// output=new DataObjectType(); +// output.setKey(parameters[i].getParameterName()); +// output.setValue(""); +// String type = parameters[i].getParameterType().getType().toString().toUpperCase(); +// DataType t = DataType.STRING; +// if (type.equals("STRING")){ +// t=DataType.STRING; +// }else if (type.equals("INTEGER")){ +// t=DataType.INTEGER; +// }else if (type.equals("FLOAT")){ +// //FIXME +// t=DataType.INTEGER; +// }else if (type.equals("URI")){ +// t=DataType.URI; +// } +// output.setType(t); +// } +// stringObjectHashMap +// .put(parameters[i].getParameterName(), GFacUtils +// .getInputActualParameter(parameters[i], output)); +// } +// return stringObjectHashMap; +// } - public static Map<String, Object> getOutMessageContext( - List<DataObjectType> experimentData, Parameter[] parameters) - throws GFacException { - HashMap<String, Object> stringObjectHashMap = new HashMap<String, Object>(); - Map<String, DataObjectType> map = new HashMap<String, DataObjectType>(); - for (DataObjectType objectType : experimentData) { - map.put(objectType.getKey(), objectType); - } - for (int i = 0; i < parameters.length; i++) { - DataObjectType output = map.get(parameters[i].getParameterName()); - if (output==null){ - output=new DataObjectType(); - output.setKey(parameters[i].getParameterName()); - output.setValue(""); - String type = parameters[i].getParameterType().getType().toString().toUpperCase(); - DataType t = DataType.STRING; - if (type.equals("STRING")){ - t=DataType.STRING; - }else if (type.equals("INTEGER")){ - t=DataType.INTEGER; - }else if (type.equals("FLOAT")){ - //FIXME - t=DataType.INTEGER; - }else if (type.equals("URI")){ - t=DataType.URI; - } - output.setType(t); - } - stringObjectHashMap - .put(parameters[i].getParameterName(), GFacUtils - .getInputActualParameter(parameters[i], output)); - } - return stringObjectHashMap; - } - - public static Map<String, Object> getOutMessageContext(List<DataObjectType> experimentData) throws GFacException { + public static Map<String, Object> getOuputParamMap(List<OutputDataObjectType> experimentData) throws GFacException { Map<String, Object> map = new HashMap<String, Object>(); - for (DataObjectType objectType : experimentData) { - map.put(objectType.getKey(), objectType); + for (OutputDataObjectType objectType : experimentData) { + map.put(objectType.getName(), objectType); } return map; } http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/OutputUtils.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/OutputUtils.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/OutputUtils.java index 4008721..574fab8 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/OutputUtils.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/OutputUtils.java @@ -20,68 +20,64 @@ */ package org.apache.airavata.gfac.core.utils; +import org.apache.airavata.common.utils.StringUtil; +import org.apache.airavata.gfac.core.handler.GFacHandlerException; +import org.apache.airavata.model.appcatalog.appinterface.DataType; +import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; + import java.util.List; import java.util.Map; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.airavata.common.utils.StringUtil; -import org.apache.airavata.commons.gfac.type.ActualParameter; -import org.apache.airavata.commons.gfac.type.MappingFactory; -import org.apache.airavata.gfac.core.handler.GFacHandlerException; -import org.apache.airavata.model.workspace.experiment.DataObjectType; -import org.apache.airavata.model.workspace.experiment.DataType; -import org.apache.airavata.schemas.gfac.StdErrParameterType; -import org.apache.airavata.schemas.gfac.StdOutParameterType; - public class OutputUtils { private static String regexPattern = "\\s*=\\s*(.*)\\r?\\n"; - public static void fillOutputFromStdout(Map<String, Object> output, String stdout, String stderr, List<DataObjectType> outputArray) throws Exception { + public static void fillOutputFromStdout(Map<String, Object> output, String stdout, String stderr, List<OutputDataObjectType> outputArray) throws Exception { if (stdout == null || stdout.equals("")) { throw new GFacHandlerException("Standard output is empty."); } Set<String> keys = output.keySet(); + OutputDataObjectType actual = null; + OutputDataObjectType resultOutput = null; for (String paramName : keys) { - ActualParameter actual = (ActualParameter) output.get(paramName); + actual = (OutputDataObjectType) output.get(paramName); // if parameter value is not already set, we let it go if (actual == null) { continue; } - if ("StdOut".equals(actual.getType().getType().toString())) { - ((StdOutParameterType) actual.getType()).setValue(stdout); - DataObjectType out = new DataObjectType(); - out.setKey(paramName); - out.setType(DataType.STDOUT); - out.setValue(stdout); - outputArray.add(out); - } else if ("StdErr".equals(actual.getType().getType().toString())) { - ((StdErrParameterType) actual.getType()).setValue(stderr); - DataObjectType out = new DataObjectType(); - out.setKey(paramName); - out.setType(DataType.STDERR); - out.setValue(stderr); - outputArray.add(out); - } + resultOutput = new OutputDataObjectType(); + if (DataType.STDOUT == actual.getType()) { + actual.setValue(stdout); + resultOutput.setName(paramName); + resultOutput.setType(DataType.STDOUT); + resultOutput.setValue(stdout); + outputArray.add(resultOutput); + } else if (DataType.STDERR == actual.getType()) { + actual.setValue(stderr); + resultOutput.setName(paramName); + resultOutput.setType(DataType.STDERR); + resultOutput.setValue(stderr); + outputArray.add(resultOutput); + } // else if ("URI".equals(actual.getType().getType().toString())) { // continue; // } - else { - String parseStdout = parseStdout(stdout, paramName); - if (parseStdout != null) { - DataObjectType out = new DataObjectType(); - out.setKey(paramName); - out.setType(DataType.STRING); - out.setValue(parseStdout); - outputArray.add(out); - MappingFactory.fromString(actual, parseStdout); - } - } - } + else { + String parseStdout = parseStdout(stdout, paramName); + if (parseStdout != null) { + actual.setValue(parseStdout); + resultOutput.setName(paramName); + resultOutput.setType(DataType.STRING); + resultOutput.setValue(parseStdout); + outputArray.add(resultOutput); + } + } + } } private static String parseStdout(String stdout, String outParam) throws Exception { http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/modules/gfac/gfac-gram/src/main/java/org/apache/airavata/gfac/gram/handler/GridFTPOutputHandler.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-gram/src/main/java/org/apache/airavata/gfac/gram/handler/GridFTPOutputHandler.java b/modules/gfac/gfac-gram/src/main/java/org/apache/airavata/gfac/gram/handler/GridFTPOutputHandler.java index 7e226ea..850608f 100644 --- a/modules/gfac/gfac-gram/src/main/java/org/apache/airavata/gfac/gram/handler/GridFTPOutputHandler.java +++ b/modules/gfac/gfac-gram/src/main/java/org/apache/airavata/gfac/gram/handler/GridFTPOutputHandler.java @@ -47,6 +47,7 @@ import org.apache.airavata.gfac.core.utils.OutputUtils; import org.apache.airavata.gfac.gram.security.GSISecurityContext; import org.apache.airavata.gfac.gram.external.GridFtp; import org.apache.airavata.gfac.gram.util.GramProviderUtils; +import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; import org.apache.airavata.model.workspace.experiment.CorrectiveAction; import org.apache.airavata.model.workspace.experiment.DataObjectType; import org.apache.airavata.model.workspace.experiment.DataTransferDetails; @@ -157,7 +158,7 @@ public class GridFTPOutputHandler extends AbstractHandler { log.error("Cannot download stdout/err files. One reason could be the job is not successfully finished: "+e.getMessage()); } - List<DataObjectType> outputArray = new ArrayList<DataObjectType>(); + List<OutputDataObjectType> outputArray = new ArrayList<OutputDataObjectType>(); Map<String, Object> output = jobExecutionContext.getOutMessageContext().getParameters(); Set<String> keys = output.keySet(); for (String paramName : keys) { http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java index d9e669d..39f8df1 100644 --- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java +++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHInputHandler.java @@ -30,10 +30,10 @@ import org.apache.airavata.gfac.core.utils.GFacUtils; import org.apache.airavata.gfac.gsissh.security.GSISecurityContext; import org.apache.airavata.gfac.gsissh.util.GFACGSISSHUtils; import org.apache.airavata.gsi.ssh.api.Cluster; +import org.apache.airavata.model.appcatalog.appinterface.DataType; +import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType; import org.apache.airavata.model.workspace.experiment.CorrectiveAction; -import org.apache.airavata.model.workspace.experiment.DataObjectType; import org.apache.airavata.model.workspace.experiment.DataTransferDetails; -import org.apache.airavata.model.workspace.experiment.DataType; import org.apache.airavata.model.workspace.experiment.ErrorCategory; import org.apache.airavata.model.workspace.experiment.TransferState; import org.apache.airavata.model.workspace.experiment.TransferStatus; @@ -113,8 +113,8 @@ public class GSISSHInputHandler extends AbstractRecoverableHandler { MessageContext input = jobExecutionContext.getInMessageContext(); Set<String> parameters = input.getParameters().keySet(); for (String paramName : parameters) { - DataObjectType inputParamType = (DataObjectType) input.getParameters().get(paramName); - String paramValue = inputParamType.getKey(); + InputDataObjectType inputParamType = (InputDataObjectType) input.getParameters().get(paramName); + String paramValue = inputParamType.getName(); //TODO: Review this with type if (inputParamType.getType() == DataType.URI) { if (index < oldIndex) { http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java index a714099..a25e66a 100644 --- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java +++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java @@ -20,23 +20,10 @@ */ package org.apache.airavata.gfac.gsissh.handler; -import java.io.File; -import java.io.IOException; -import java.util.*; - -import net.schmizz.sshj.connection.ConnectionException; -import net.schmizz.sshj.transport.TransportException; - -import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory; -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.airavata.common.utils.Constants; -import org.apache.airavata.commons.gfac.type.ActualParameter; -import org.apache.airavata.commons.gfac.type.ApplicationDescription; -import org.apache.airavata.commons.gfac.type.MappingFactory; +//import org.apache.airavata.commons.gfac.type.ActualParameter; +//import org.apache.airavata.commons.gfac.type.MappingFactory; import org.apache.airavata.gfac.GFacException; import org.apache.airavata.gfac.core.context.JobExecutionContext; -import org.apache.airavata.gfac.core.cpi.BetterGfacImpl; -import org.apache.airavata.gfac.core.handler.AbstractHandler; import org.apache.airavata.gfac.core.handler.AbstractRecoverableHandler; import org.apache.airavata.gfac.core.handler.GFacHandlerException; import org.apache.airavata.gfac.core.provider.GFacProviderException; @@ -45,24 +32,26 @@ import org.apache.airavata.gfac.core.utils.OutputUtils; import org.apache.airavata.gfac.gsissh.security.GSISecurityContext; import org.apache.airavata.gfac.gsissh.util.GFACGSISSHUtils; import org.apache.airavata.gsi.ssh.api.Cluster; -import org.apache.airavata.gsi.ssh.api.SSHApiException; -import org.apache.airavata.gsi.ssh.api.job.JobDescriptor; -import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol; -import org.apache.airavata.model.appcatalog.computeresource.MonitorMode; -import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission; -import org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol; -import org.apache.airavata.model.messaging.event.TaskIdentifier; -import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent; -import org.apache.airavata.model.workspace.experiment.*; +import org.apache.airavata.model.appcatalog.appinterface.DataType; +import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; +import org.apache.airavata.model.workspace.experiment.CorrectiveAction; +import org.apache.airavata.model.workspace.experiment.DataTransferDetails; +import org.apache.airavata.model.workspace.experiment.ErrorCategory; +import org.apache.airavata.model.workspace.experiment.TaskDetails; +import org.apache.airavata.model.workspace.experiment.TransferState; +import org.apache.airavata.model.workspace.experiment.TransferStatus; import org.apache.airavata.registry.cpi.ChildDataType; -import org.apache.airavata.registry.cpi.RegistryModelType; -import org.apache.airavata.registry.cpi.RegistryException; -import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType; -import org.apache.airavata.schemas.gfac.GsisshHostType; -import org.apache.xmlbeans.XmlException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + public class GSISSHOutputHandler extends AbstractRecoverableHandler { private static final Logger log = LoggerFactory.getLogger(GSISSHOutputHandler.class); @@ -182,12 +171,12 @@ public class GSISSHOutputHandler extends AbstractRecoverableHandler { registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); //todo this is a mess we have to fix this - List<DataObjectType> outputArray = new ArrayList<DataObjectType>(); + List<OutputDataObjectType> outputArray = new ArrayList<OutputDataObjectType>(); Map<String, Object> output = jobExecutionContext.getOutMessageContext().getParameters(); Set<String> keys = output.keySet(); for (String paramName : keys) { - ActualParameter actualParameter = (ActualParameter) output.get(paramName); - if ("URI".equals(actualParameter.getType().getType().toString())) { + OutputDataObjectType outputDataObjectType = (OutputDataObjectType) output.get(paramName); + if (DataType.URI == outputDataObjectType.getType()) { List<String> outputList = null; int retry=3; @@ -210,9 +199,9 @@ public class GSISSHOutputHandler extends AbstractRecoverableHandler { Set<String> strings = output.keySet(); outputArray.clear(); for (String key : strings) { - ActualParameter actualParameter1 = (ActualParameter) output.get(key); - if ("URI".equals(actualParameter1.getType().getType().toString())) { - String downloadFile = MappingFactory.toString(actualParameter1); + OutputDataObjectType outputDataObjectType1 = (OutputDataObjectType) output.get(key); + if (DataType.URI == outputDataObjectType1.getType()) { + String downloadFile = outputDataObjectType1.getValue(); String localFile; if (index < oldIndex) { localFile = oldFiles.get(index); @@ -225,10 +214,10 @@ public class GSISSHOutputHandler extends AbstractRecoverableHandler { GFacUtils.savePluginData(jobExecutionContext, temp.insert(0, ++index), this.getClass().getName()); } jobExecutionContext.addOutputFile(localFile); - MappingFactory.fromString(actualParameter1, localFile); - DataObjectType dataObjectType = new DataObjectType(); + outputDataObjectType1.setValue(localFile); + OutputDataObjectType dataObjectType = new OutputDataObjectType(); dataObjectType.setValue(localFile); - dataObjectType.setKey(key); + dataObjectType.setName(key); dataObjectType.setType(DataType.URI); outputArray.add(dataObjectType); } @@ -248,10 +237,10 @@ public class GSISSHOutputHandler extends AbstractRecoverableHandler { GFacUtils.savePluginData(jobExecutionContext, temp.insert(0, ++index), this.getClass().getName()); } jobExecutionContext.addOutputFile(outputFile); - MappingFactory.fromString(actualParameter, outputFile); - DataObjectType dataObjectType = new DataObjectType(); + outputDataObjectType.setValue(outputFile); + OutputDataObjectType dataObjectType = new OutputDataObjectType(); dataObjectType.setValue(valueList); - dataObjectType.setKey(paramName); + dataObjectType.setName(paramName); dataObjectType.setType(DataType.URI); outputArray.add(dataObjectType); } http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java b/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java index 4cdd0c0..e28726d 100644 --- a/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java +++ b/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java @@ -39,18 +39,16 @@ import org.apache.airavata.gfac.local.utils.InputStreamToFileWriter; import org.apache.airavata.gfac.local.utils.InputUtils; import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription; import org.apache.airavata.model.appcatalog.appdeployment.SetEnvPaths; +import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; import org.apache.airavata.model.messaging.event.JobIdentifier; import org.apache.airavata.model.messaging.event.JobStatusChangeEvent; import org.apache.airavata.model.messaging.event.TaskIdentifier; import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent; -import org.apache.airavata.model.workspace.experiment.DataObjectType; import org.apache.airavata.model.workspace.experiment.JobDetails; import org.apache.airavata.model.workspace.experiment.JobState; import org.apache.airavata.model.workspace.experiment.TaskDetails; import org.apache.airavata.registry.cpi.ChildDataType; import org.apache.airavata.registry.cpi.RegistryModelType; -import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType; -import org.apache.airavata.schemas.gfac.NameValuePairType; import org.apache.xmlbeans.XmlException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -219,7 +217,7 @@ public class LocalProvider extends AbstractProvider { public void dispose(JobExecutionContext jobExecutionContext) throws GFacProviderException { try { - List<DataObjectType> outputArray = new ArrayList<DataObjectType>(); + List<OutputDataObjectType> outputArray = new ArrayList<OutputDataObjectType>(); String stdOutStr = GFacUtils.readFileToString(jobExecutionContext.getStandardOutput()); String stdErrStr = GFacUtils.readFileToString(jobExecutionContext.getStandardError()); Map<String, Object> output = jobExecutionContext.getOutMessageContext().getParameters(); http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java index f34b82a..e46dfa5 100644 --- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java +++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java @@ -28,21 +28,18 @@ import org.apache.airavata.gfac.core.context.JobExecutionContext; import org.apache.airavata.gfac.core.handler.AbstractHandler; import org.apache.airavata.gfac.core.handler.GFacHandlerException; import org.apache.airavata.gfac.core.utils.GFacUtils; -import org.apache.airavata.gfac.ssh.context.SSHAuthWrapper; import org.apache.airavata.gfac.ssh.security.SSHSecurityContext; import org.apache.airavata.gfac.ssh.util.GFACSSHUtils; import org.apache.airavata.gsi.ssh.api.Cluster; import org.apache.airavata.gsi.ssh.api.SSHApiException; -import org.apache.airavata.gsi.ssh.api.ServerInfo; import org.apache.airavata.gsi.ssh.api.authentication.AuthenticationInfo; import org.apache.airavata.gsi.ssh.impl.authentication.DefaultPasswordAuthenticationInfo; import org.apache.airavata.gsi.ssh.impl.authentication.DefaultPublicKeyFileAuthentication; +import org.apache.airavata.model.appcatalog.appinterface.DataType; +import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; import org.apache.airavata.model.workspace.experiment.CorrectiveAction; -import org.apache.airavata.model.workspace.experiment.DataObjectType; -import org.apache.airavata.model.workspace.experiment.DataType; import org.apache.airavata.model.workspace.experiment.ErrorCategory; import org.apache.airavata.registry.cpi.ChildDataType; -import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -147,7 +144,7 @@ public class AdvancedSCPOutputHandler extends AbstractHandler { } pbsCluster.scpTo(outputPath, standardError); pbsCluster.scpTo(outputPath, standardOutput); - List<DataObjectType> outputArray = new ArrayList<DataObjectType>(); + List<OutputDataObjectType> outputArray = new ArrayList<OutputDataObjectType>(); Map<String, Object> output = jobExecutionContext.getOutMessageContext().getParameters(); Set<String> keys = output.keySet(); for (String paramName : keys) { @@ -160,9 +157,9 @@ public class AdvancedSCPOutputHandler extends AbstractHandler { } pbsCluster.scpTo(outputPath, downloadFile); String fileName = downloadFile.substring(downloadFile.lastIndexOf(File.separatorChar)+1, downloadFile.length()); - DataObjectType dataObjectType = new DataObjectType(); + OutputDataObjectType dataObjectType = new OutputDataObjectType(); dataObjectType.setValue(outputPath + File.separatorChar + fileName); - dataObjectType.setKey(paramName); + dataObjectType.setName(paramName); dataObjectType.setType(DataType.URI); outputArray.add(dataObjectType); } http://git-wip-us.apache.org/repos/asf/airavata/blob/b52499eb/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java index d80e92b..94f667e 100644 --- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java +++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java @@ -20,20 +20,6 @@ */ package org.apache.airavata.gfac.ssh.handler; -import java.io.File; -import java.io.IOException; -import java.util.*; - -import net.schmizz.sshj.connection.ConnectionException; -import net.schmizz.sshj.transport.TransportException; - -import org.airavata.appcatalog.cpi.AppCatalog; -import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory; -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.airavata.common.utils.Constants; -import org.apache.airavata.commons.gfac.type.ActualParameter; -import org.apache.airavata.commons.gfac.type.ApplicationDescription; -import org.apache.airavata.commons.gfac.type.MappingFactory; import org.apache.airavata.gfac.GFacException; import org.apache.airavata.gfac.core.context.JobExecutionContext; import org.apache.airavata.gfac.core.handler.AbstractHandler; @@ -44,21 +30,25 @@ import org.apache.airavata.gfac.core.utils.OutputUtils; import org.apache.airavata.gfac.ssh.security.SSHSecurityContext; import org.apache.airavata.gfac.ssh.util.GFACSSHUtils; import org.apache.airavata.gsi.ssh.api.Cluster; -import org.apache.airavata.gsi.ssh.api.SSHApiException; -import org.apache.airavata.gsi.ssh.api.job.JobDescriptor; -import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol; -import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission; -import org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol; -import org.apache.airavata.model.workspace.experiment.*; +import org.apache.airavata.model.appcatalog.appinterface.DataType; +import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; +import org.apache.airavata.model.workspace.experiment.CorrectiveAction; +import org.apache.airavata.model.workspace.experiment.DataTransferDetails; +import org.apache.airavata.model.workspace.experiment.ErrorCategory; +import org.apache.airavata.model.workspace.experiment.TaskDetails; +import org.apache.airavata.model.workspace.experiment.TransferState; +import org.apache.airavata.model.workspace.experiment.TransferStatus; import org.apache.airavata.registry.cpi.ChildDataType; -import org.apache.airavata.registry.cpi.RegistryModelType; -import org.apache.airavata.registry.cpi.RegistryException; -import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType; -import org.apache.airavata.schemas.gfac.GsisshHostType; -import org.apache.xmlbeans.XmlException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + public class SSHOutputHandler extends AbstractHandler { private static final Logger log = LoggerFactory.getLogger(SSHOutputHandler.class); @@ -141,12 +131,12 @@ public class SSHOutputHandler extends AbstractHandler { registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); - List<DataObjectType> outputArray = new ArrayList<DataObjectType>(); + List<OutputDataObjectType> outputArray = new ArrayList<OutputDataObjectType>(); Map<String, Object> output = jobExecutionContext.getOutMessageContext().getParameters(); Set<String> keys = output.keySet(); for (String paramName : keys) { - ActualParameter actualParameter = (ActualParameter) output.get(paramName); - if ("URI".equals(actualParameter.getType().getType().toString())) { + OutputDataObjectType actualParameter = (OutputDataObjectType) output.get(paramName); + if (DataType.URI == actualParameter.getType()) { List<String> outputList = null; int retry = 3; while (retry > 0) { @@ -163,17 +153,17 @@ public class SSHOutputHandler extends AbstractHandler { Set<String> strings = output.keySet(); outputArray.clear(); for (String key : strings) { - ActualParameter actualParameter1 = (ActualParameter) output.get(key); - if ("URI".equals(actualParameter1.getType().getType().toString())) { - String downloadFile = MappingFactory.toString(actualParameter1); + OutputDataObjectType actualParameter1 = (OutputDataObjectType) output.get(key); + if (DataType.URI == actualParameter1.getType()) { + String downloadFile = actualParameter1.getValue(); cluster.scpFrom(downloadFile, outputDataDir); String fileName = downloadFile.substring(downloadFile.lastIndexOf(File.separatorChar) + 1, downloadFile.length()); String localFile = outputDataDir + File.separator + fileName; jobExecutionContext.addOutputFile(localFile); - MappingFactory.fromString(actualParameter1, localFile); - DataObjectType dataObjectType = new DataObjectType(); + actualParameter1.setValue(localFile); + OutputDataObjectType dataObjectType = new OutputDataObjectType(); dataObjectType.setValue(localFile); - dataObjectType.setKey(key); + dataObjectType.setName(key); dataObjectType.setType(DataType.URI); outputArray.add(dataObjectType); } @@ -185,10 +175,10 @@ public class SSHOutputHandler extends AbstractHandler { cluster.scpFrom(jobExecutionContext.getOutputDir() + File.separator + valueList, outputDataDir); String outputPath = outputDataDir + File.separator + valueList; jobExecutionContext.addOutputFile(outputPath); - MappingFactory.fromString(actualParameter, outputPath); - DataObjectType dataObjectType = new DataObjectType(); + actualParameter.setValue(outputPath); + OutputDataObjectType dataObjectType = new OutputDataObjectType(); dataObjectType.setValue(outputPath); - dataObjectType.setKey(paramName); + dataObjectType.setName(paramName); dataObjectType.setType(DataType.URI); outputArray.add(dataObjectType); }
