You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2011/10/21 18:10:56 UTC

svn commit: r1187437 - in /incubator/airavata/trunk/modules: commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/ commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/ gfac-axis2/src/main/java/org/apache/airavata...

Author: lahiru
Date: Fri Oct 21 16:10:55 2011
New Revision: 1187437

URL: http://svn.apache.org/viewvc?rev=1187437&view=rev
Log:
Applying the patch for the issue AIRAVATA-155
Thanks Heshan for the contribution 

Modified:
    incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/ServiceDescription.java
    incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/WebServiceUtil.java
    incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java
    incubator/airavata/trunk/modules/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImplTest.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ServiceDescriptionDialog.java

Modified: incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/ServiceDescription.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/ServiceDescription.java?rev=1187437&r1=1187436&r2=1187437&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/ServiceDescription.java (original)
+++ incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/ServiceDescription.java Fri Oct 21 16:10:55 2011
@@ -47,21 +47,24 @@ public class ServiceDescription implemen
         this.serviceDescriptionType.setName(id);
     }
 
+    public ServiceDescriptionType getServiceDescriptionType() {
+        return serviceDescriptionType;
+    }
+
     // TODO
-    public List<Parameter> getInputParameters() {
-        return inputParameters;
+    public org.apache.airavata.schemas.gfac.Parameter[] getInputParameters() {
+        return this.serviceDescriptionType.getInputParametersArray();
     }
 
-    public void setInputParameters(List<Parameter> inputParameters) {
-        this.inputParameters = inputParameters;
+    public void setInputParameters(org.apache.airavata.schemas.gfac.Parameter[] inputParameters) {
+        this.serviceDescriptionType.setInputParametersArray(inputParameters);
     }
 
-    public List<Parameter> getOutputParameters() {
-        return outputParameters;
+    public org.apache.airavata.schemas.gfac.Parameter[] getOutputParameters() {
+        return this.serviceDescriptionType.getOutputParametersArray();
     }
 
-    public void setOutputParameters(List<Parameter> outputParameters) {
-        this.outputParameters = outputParameters;
-        //this.serviceDescriptionType.setOutputParametersArray(outputParameters);
+    public void setOutputParameters(org.apache.airavata.schemas.gfac.Parameter[] outputParameters) {
+        this.serviceDescriptionType.setOutputParametersArray(outputParameters);
     }
 }

Modified: incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/WebServiceUtil.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/WebServiceUtil.java?rev=1187437&r1=1187436&r2=1187437&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/WebServiceUtil.java (original)
+++ incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/util/WebServiceUtil.java Fri Oct 21 16:10:55 2011
@@ -1,7 +1,8 @@
 package org.apache.airavata.registry.api.util;
 
-import org.apache.airavata.commons.gfac.type.Parameter;
+import org.apache.airavata.schemas.gfac.Parameter;
 import org.apache.airavata.commons.gfac.type.ServiceDescription;
+import org.apache.airavata.schemas.gfac.ServiceDescriptionType;
 
 public class WebServiceUtil {
 
@@ -14,14 +15,16 @@ public class WebServiceUtil {
         builder.append("<wsdl:types>");
         builder.append("<xs:schema attributeFormDefault=\"qualified\" elementFormDefault=\"unqualified\" targetNamespace=\"http://www.wso2.org/types\">");
 
-        boolean isInputParametersPresent = service.getInputParameters() != null && service.getInputParameters().size() > 0;
+        boolean isInputParametersPresent = service.getInputParameters() != null && service.getInputParameters().length > 0;
 		if (isInputParametersPresent) {
             builder.append("<xs:element name=\"invoke\">");
             builder.append("<xs:complexType>");
             builder.append("<xs:sequence>");
 
-            for (Parameter parameter : service.getInputParameters()) {
-                generateElementFromType(parameter, builder);
+            ServiceDescriptionType p = service.getServiceDescriptionType();
+
+            for (int i=0; i<p.getInputParametersArray().length; i++) {
+                generateElementFromType(p.getInputParametersArray(i), builder);
             }
 
             builder.append("</xs:sequence>");
@@ -29,14 +32,16 @@ public class WebServiceUtil {
             builder.append("</xs:element>");
         }
 
-		boolean isOutputParametersPresent = service.getOutputParameters() != null && service.getOutputParameters().size() > 0;
+		boolean isOutputParametersPresent = service.getOutputParameters() != null && service.getOutputParameters().length > 0;
 		if (isOutputParametersPresent) {
             builder.append("<xs:element name=\"invokeResponse\">");
             builder.append("<xs:complexType>");
             builder.append("<xs:sequence>");
 
-            for (Parameter parameter : service.getOutputParameters()) {
-                generateElementFromType(parameter, builder);
+            ServiceDescriptionType p = service.getServiceDescriptionType();
+
+            for (int i=0; i<p.getOutputParametersArray().length; i++) {
+                generateElementFromType(p.getOutputParametersArray(i), builder);
             }
 
             builder.append("</xs:sequence>");
@@ -75,7 +80,7 @@ public class WebServiceUtil {
     }
 
     private static void generateElementFromType(Parameter parameter, StringBuilder builder) {
-        String type = parameter.getType().getType();
+        String type = parameter.getType().getType().toString();
         if (type.equals("String")){
             builder.append("<xs:element minOccurs=\"0\" name=\"");
             builder.append(parameter.getName());

Modified: incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java?rev=1187437&r1=1187436&r2=1187437&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java (original)
+++ incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java Fri Oct 21 16:10:55 2011
@@ -32,6 +32,7 @@ import javax.xml.stream.XMLStreamExcepti
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.airavata.common.workflow.execution.context.WorkflowContextHeaderBuilder;
+import org.apache.airavata.schemas.gfac.ServiceDescriptionType;
 import org.apache.airavata.commons.gfac.type.Parameter;
 import org.apache.airavata.commons.gfac.type.ServiceDescription;
 import org.apache.airavata.commons.gfac.type.parameter.AbstractParameter;
@@ -70,6 +71,15 @@ import org.apache.xmlbeans.XmlException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import java.io.StringReader;
+import java.net.URI;
+import java.util.Iterator;
+import java.util.List;
+
 public class GFacMessageReciever implements MessageReceiver {
 
     private static final Logger log = LoggerFactory.getLogger(GFacMessageReciever.class);
@@ -179,15 +189,21 @@ public class GFacMessageReciever impleme
              * Input
              */
             ParameterContextImpl inputParam = new ParameterContextImpl();
-            List<Parameter> inputs = serviceDescription.getInputParameters();
-            for (Parameter parameter : inputs) {
+            ServiceDescriptionType serviceDescriptionType = serviceDescription.getServiceDescriptionType();
+
+            List<org.apache.airavata.schemas.gfac.Parameter> newInputs = null;
+            for (int i=0; i<serviceDescriptionType.getInputParametersArray().length; i++) {
+                  newInputs.add(serviceDescriptionType.getInputParametersArray(i));
+            }
+
+            for (org.apache.airavata.schemas.gfac.Parameter parameter : newInputs) {
                 OMElement element = input.getFirstChildWithName(new QName(parameter.getName()));
 
                 if (element == null) {
                     throw new Exception("Parameter is not found in the message");
                 }
 
-                AbstractParameter param = ParameterFactory.getInstance().createActualParameter(parameter.getType());
+                AbstractParameter param = ParameterFactory.getInstance().createActualParameter(parameter.getType().getType().toString());
                 param.parseStringVal(element.getText());
                 inputParam.add(parameter.getName(), param);
             }
@@ -196,9 +212,15 @@ public class GFacMessageReciever impleme
              * Output
              */
             ParameterContextImpl outputParam = new ParameterContextImpl();
-            List<Parameter> outputs = serviceDescription.getOutputParameters();
-            for (Parameter parameter : outputs) {
-                outputParam.add(parameter.getName(), ParameterFactory.getInstance().createActualParameter(parameter.getType()));
+
+            List<org.apache.airavata.schemas.gfac.Parameter> newOutputs = null;
+            for (int i=0; i<serviceDescriptionType.getOutputParametersArray().length; i++) {
+                  newOutputs.add(serviceDescriptionType.getOutputParametersArray(i));
+            }
+
+            //List<Parameter> outputs = serviceDescription.getOutputParameters();
+            for (org.apache.airavata.schemas.gfac.Parameter parameter : newOutputs) {
+                outputParam.add(parameter.getName(), ParameterFactory.getInstance().createActualParameter(parameter.getType().getType().toString()));
             }
 
             invocationContext.setInput(inputParam);

Modified: incubator/airavata/trunk/modules/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImplTest.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImplTest.java?rev=1187437&r1=1187436&r2=1187437&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImplTest.java (original)
+++ incubator/airavata/trunk/modules/gfac-core/src/test/java/org/apache/airavata/core/gfac/services/impl/PropertiesBasedServiceImplTest.java Fri Oct 21 16:10:55 2011
@@ -22,7 +22,6 @@
 package org.apache.airavata.core.gfac.services.impl;
 
 import org.apache.airavata.commons.gfac.type.HostDescription;
-import org.apache.airavata.commons.gfac.type.Parameter;
 import org.apache.airavata.commons.gfac.type.ServiceDescription;
 import org.apache.airavata.commons.gfac.type.app.ShellApplicationDeployment;
 import org.apache.airavata.commons.gfac.type.parameter.AbstractParameter;
@@ -32,6 +31,8 @@ import org.apache.airavata.core.gfac.con
 import org.apache.airavata.core.gfac.context.message.impl.ParameterContextImpl;
 import org.apache.airavata.core.gfac.notification.impl.LoggingNotification;
 import org.apache.airavata.registry.api.impl.JCRRegistry;
+import org.apache.airavata.schemas.gfac.DataType;
+import org.apache.airavata.schemas.gfac.Parameter;
 import org.apache.airavata.schemas.gfac.ShellApplicationDeploymentType;
 import org.junit.Assert;
 import org.junit.Before;
@@ -79,20 +80,23 @@ public class PropertiesBasedServiceImplT
 		ServiceDescription serv = new ServiceDescription();
 		serv.setId("SimpleEcho");
 
-		Parameter input = new Parameter();
+		Parameter input = Parameter.Factory.newInstance();
 		input.setName("echo_input");
-		input.setType(ParameterFactory.getInstance().getType("String"));
+        input.addNewType().setType(DataType.STRING);
 		List<Parameter> inputList = new ArrayList<Parameter>();
 		inputList.add(input);
+        org.apache.airavata.schemas.gfac.Parameter[] inputParamList =
+                inputList.toArray(new org.apache.airavata.schemas.gfac.Parameter[inputList.size()]);
 
-		Parameter output = new Parameter();
+		Parameter output = Parameter.Factory.newInstance();
 		output.setName("echo_output");
-		output.setType(ParameterFactory.getInstance().getType("String"));
+		output.addNewType().setType(DataType.STRING);
 		List<Parameter> outputList = new ArrayList<Parameter>();
 		outputList.add(output);
-
-		serv.setInputParameters(inputList);
-		serv.setOutputParameters(outputList);
+        org.apache.airavata.schemas.gfac.Parameter[] outputParamList =
+                outputList.toArray(new org.apache.airavata.schemas.gfac.Parameter[outputList.size()]);
+		serv.setInputParameters(inputParamList);
+		serv.setOutputParameters(outputParamList);
 
 		/*
 		 * Save to registry

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ServiceDescriptionDialog.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ServiceDescriptionDialog.java?rev=1187437&r1=1187436&r2=1187437&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ServiceDescriptionDialog.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/appwrapper/ServiceDescriptionDialog.java Fri Oct 21 16:10:55 2011
@@ -42,9 +42,12 @@ import javax.swing.table.DefaultTableMod
 import javax.swing.table.TableColumn;
 
 import org.apache.airavata.commons.gfac.type.DataType;
-import org.apache.airavata.commons.gfac.type.Parameter;
+//import org.apache.airavata.commons.gfac.type.Parameter;
+import org.apache.airavata.schemas.gfac.Parameter;
 import org.apache.airavata.commons.gfac.type.ServiceDescription;
 import org.apache.airavata.commons.gfac.type.parameter.ParameterFactory;
+import org.apache.airavata.schemas.gfac.ParameterType;
+import org.apache.airavata.schemas.gfac.ServiceDescriptionType;
 import org.apache.airavata.xbaya.XBayaEngine;
 import org.apache.airavata.xbaya.component.registry.JCRComponentRegistry;
 
@@ -59,6 +62,7 @@ public class ServiceDescriptionDialog ex
 	private JLabel lblError;
 	private XBayaEngine engine;
 	private ServiceDescription serviceDescription;
+    private ServiceDescriptionType serviceDescriptionType;
 	private JButton okButton;
 	private JButton btnDeleteParameter;
 	private DefaultTableModel defaultTableModel;
@@ -349,6 +353,13 @@ public class ServiceDescriptionDialog ex
 		return serviceDescription;
 	}
 
+    public ServiceDescriptionType getServiceDescriptionType() {
+        if (serviceDescriptionType==null){
+            serviceDescriptionType = new ServiceDescription().getServiceDescriptionType();
+        }
+        return serviceDescriptionType;
+    }
+
 	public XBayaEngine getEngine() {
 		return engine;
 	}
@@ -401,10 +412,10 @@ public class ServiceDescriptionDialog ex
 	}
 
 	public void saveServiceDescription() {
-		getServiceDescription().setInputParameters(new ArrayList<Parameter>());
-		getServiceDescription().setOutputParameters(new ArrayList<Parameter>());
+		getServiceDescription().setInputParameters(ServiceDescriptionType.Factory.newInstance().getInputParametersArray());
+		getServiceDescription().setOutputParameters(ServiceDescriptionType.Factory.newInstance().getOutputParametersArray());
 		for(int i=0;i<defaultTableModel.getRowCount();i++){
-			Parameter parameter = new Parameter();
+			Parameter parameter = Parameter.Factory.newInstance();
 			String parameterName = (String)defaultTableModel.getValueAt(i, 1);
 			if (parameterName!=null) {
 				DataType parameterDataType = (DataType) defaultTableModel
@@ -413,13 +424,15 @@ public class ServiceDescriptionDialog ex
 						.getValueAt(i, 3);
 				parameter.setName(parameterName);
 				parameter.setDescription(parameterDescription);
-				parameter.setType(parameterDataType);
+
+				parameter.addNewType().setType(org.apache.airavata.schemas.gfac.DataType.Enum.forString(parameterDataType.toString()));
 				if (getIOStringList()[0].equals(defaultTableModel.getValueAt(i,
 						0))) {
-					getServiceDescription().getInputParameters().add(parameter);
+                    getServiceDescriptionType().setInputParametersArray(0,parameter);
+					//getServiceDescription().getInputParameters().add(parameter);
 				} else {
-					getServiceDescription().getOutputParameters()
-							.add(parameter);
+					getServiceDescriptionType().setOutputParametersArray(0,parameter);
+					//getServiceDescription().getOutputParameters().add(parameter);
 				}
 			}
 		}