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/11/01 18:01:45 UTC
svn commit: r1196131 -
/incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java
Author: lahiru
Date: Tue Nov 1 17:01:44 2011
New Revision: 1196131
URL: http://svn.apache.org/viewvc?rev=1196131&view=rev
Log:
fixing gfac-service invocation issue.
Modified:
incubator/airavata/trunk/modules/gfac-axis2/src/main/java/org/apache/airavata/services/gfac/axis2/reciever/GFacMessageReciever.java
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=1196131&r1=1196130&r2=1196131&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 Tue Nov 1 17:01:44 2011
@@ -23,9 +23,7 @@ package org.apache.airavata.services.gfa
import java.io.StringReader;
import java.net.URI;
-import java.util.ArrayList;
import java.util.Iterator;
-import java.util.List;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLInputFactory;
@@ -178,21 +176,40 @@ public class GFacMessageReciever impleme
ParameterContextImpl inputParam = new ParameterContextImpl();
ServiceDescriptionType serviceDescriptionType = serviceDescription.getType();
- List<InputParameterType> newInputs = new ArrayList<InputParameterType>();
- for (int i = 0; i < serviceDescriptionType.getInputParametersArray().length; i++) {
- newInputs.add(serviceDescriptionType.getInputParametersArray(i));
- }
- for (Parameter parameter : newInputs) {
+ for (Parameter parameter : serviceDescriptionType.getInputParametersArray()) {
OMElement element = input.getFirstChildWithName(new QName(parameter.getParameterName()));
if (element == null) {
throw new Exception("Parameter is not found in the message");
}
ActualParameter actualParameter = new ActualParameter();
- if("String".equals(parameter.getParameterName())){
- ((StringParameterType)actualParameter).setValue(element.getText());
+ if("String".equals(parameter.getParameterType().getName())){
+ ((StringParameterType)actualParameter.getType()).setValue(element.getText());
+ }else if("Double".equals(parameter.getParameterType().getName())){
+ ((DoubleParameterType)actualParameter.getType()).setValue(new Double(element.getText()));
+ }else if("Integer".equals(parameter.getParameterType().getName())){
+ ((IntegerParameterType)actualParameter.getType()).setValue(new Integer(element.getText()));
+ }else if("Float".equals(parameter.getParameterType().getName())){
+ ((FloatParameterType)actualParameter.getType()).setValue(new Float(element.getText()));
+ }else if("Boolean".equals(parameter.getParameterType().getName())){
+ ((BooleanParameterType)actualParameter.getType()).setValue(new Boolean(element.getText()));
+ }else if("File".equals(parameter.getParameterType().getName())){
+ ((FileParameterType)actualParameter.getType()).setValue(element.getText());
+ }else if("StringArray".equals(parameter.getParameterType().getName())){
+ //todo ((StringArrayType)actualParameter.getType()).setValueArray().setValue(new Double(element.getText()));
+ }else if("DoubleArray".equals(parameter.getParameterType().getName())){
+ //todo ((DoubleParameterType)actualParameter.getType()).setValue(new Double(element.getText()));
+ }else if("IntegerArray".equals(parameter.getParameterType().getName())){
+ //todo ((DoubleParameterType)actualParameter.getType()).setValue(new Double(element.getText()));
+ }else if("FloatArray".equals(parameter.getParameterType().getName())){
+ //todo ((DoubleParameterType)actualParameter.getType()).setValue(new Double(element.getText()));
+ }else if("BooleanArray".equals(parameter.getParameterType().getName())){
+ //todo ((DoubleParameterType)actualParameter.getType()).setValue(new Double(element.getText()));
+ }else if("FileArray".equals(parameter.getParameterType().getName())){
+ //todo ((DoubleParameterType)actualParameter.getType()).setValue(new Double(element.getText()));
}
+// inputParam.add(parameter.getParameterName(),ActualParameter.fromParameterXml(element.toStringWithConsume()));
inputParam.add(parameter.getParameterName(),actualParameter);
}
@@ -201,14 +218,24 @@ public class GFacMessageReciever impleme
*/
ParameterContextImpl outputParam = new ParameterContextImpl();
- List<OutputParameterType> newOutputs = new ArrayList<OutputParameterType>();
- for (int i = 0; i < serviceDescriptionType.getOutputParametersArray().length; i++) {
- newOutputs.add(serviceDescriptionType.getOutputParametersArray(i));
- }
// List<Parameter> outputs = serviceDescription.getOutputParameters();
- for (OutputParameterType parameter : newOutputs) {
- outputParam.add(parameter.getParameterName(), new ActualParameter(parameter.getParameterType().schemaType()));
+ for (OutputParameterType parameter : serviceDescriptionType.getOutputParametersArray()) {
+ ActualParameter actualParameter = new ActualParameter();
+ if("String".equals(parameter.getParameterType().getName())){
+ actualParameter.getType().changeType(StringParameterType.type);
+ }else if("Double".equals(parameter.getParameterType().getName())){
+ actualParameter.getType().changeType(DoubleParameterType.type);
+ }else if("Integer".equals(parameter.getParameterType().getName())){
+ actualParameter.getType().changeType(IntegerParameterType.type);
+ }else if("Float".equals(parameter.getParameterType().getName())){
+ actualParameter.getType().changeType(FloatParameterType.type);
+ }else if("Boolean".equals(parameter.getParameterType().getName())){
+ actualParameter.getType().changeType(BooleanParameterType.type);
+ }else if("File".equals(parameter.getParameterType().getName())){
+ actualParameter.getType().changeType(FileParameterType.type);
+ }//todo handle all the ParameterTypes
+ outputParam.add(parameter.getParameterName(), new ActualParameter());
}
invocationContext.setInput(inputParam);
@@ -231,9 +258,10 @@ public class GFacMessageReciever impleme
.<ActualParameter> getMessageContext("output");
for (Iterator<String> iterator = paramContext.getNames(); iterator.hasNext();) {
String name = iterator.next();
- OMElement ele = fac.createOMElement(name, omNs);
- ele.setText(paramContext.getValue(name).toXML());
- outputElement.addChild(ele);
+ String outputString = paramContext.getValue(name).toXML().replaceAll("GFacParameter", name);
+ XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(outputString));
+ StAXOMBuilder builder = new StAXOMBuilder(reader);
+ outputElement.addChild(builder.getDocumentElement());
}
} catch (Exception e) {