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);
}
}
}