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 2012/04/12 19:57:46 UTC

svn commit: r1325410 - in /incubator/airavata/trunk/modules: airavata-client/src/test/resources/ distribution/src/main/resources/conf/ xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/ xbaya-gui/src/main/java/org/apache/airavata/xbaya/invo...

Author: lahiru
Date: Thu Apr 12 17:57:45 2012
New Revision: 1325410

URL: http://svn.apache.org/viewvc?rev=1325410&view=rev
Log:
minor feature improvements with embedded interpreter feature.

Added:
    incubator/airavata/trunk/modules/airavata-client/src/test/resources/
    incubator/airavata/trunk/modules/airavata-client/src/test/resources/xbaya.properties
Modified:
    incubator/airavata/trunk/modules/distribution/src/main/resources/conf/xbaya.properties
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/invoker/EmbeddedGFacInvoker.java

Added: incubator/airavata/trunk/modules/airavata-client/src/test/resources/xbaya.properties
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/airavata-client/src/test/resources/xbaya.properties?rev=1325410&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/airavata-client/src/test/resources/xbaya.properties (added)
+++ incubator/airavata/trunk/modules/airavata-client/src/test/resources/xbaya.properties Thu Apr 12 17:57:45 2012
@@ -0,0 +1,13 @@
+gfac.url=http://localhost:8080/axis2/services/GFacService
+messagebox.url=http://localhost:8080/axis2/services/MsgBoxService
+messagebroker.url=http://localhost:8080/axis2/services/EventingService
+xbaya.service.url=http://localhost:8080/axis2/services/WorkflowInterpretor?wsdl
+jcr.url=http://localhost:8081/rmi
+jcr.username=admin
+jcr.password=admin
+with.Listener=false
+#Following properties are optional, if user doesn't send them server will use the predefined values for these.
+myproxy.url=myproxy.teragrid.org
+myproxy.username=ogce
+myproxy.password=Jdas
+trusted.cert.location=/path/to/certs

Modified: incubator/airavata/trunk/modules/distribution/src/main/resources/conf/xbaya.properties
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/distribution/src/main/resources/conf/xbaya.properties?rev=1325410&r1=1325409&r2=1325410&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/distribution/src/main/resources/conf/xbaya.properties (original)
+++ incubator/airavata/trunk/modules/distribution/src/main/resources/conf/xbaya.properties Thu Apr 12 17:57:45 2012
@@ -1,5 +1,3 @@
-myproxy.user=ogce
-myproxy.password=Jdasjs
 jcr.username=admin
 jcr.password=admin
 provenance=true
@@ -7,3 +5,10 @@ jcr.url=http://localhost:8081/rmi
 runInThread=false
 provenanceWriterThreadPoolSize=20
 gfac.embedded=false
+#Following properties are important when running in embedded mode
+#If user send myproxy data with cert location following values will be overwritten for that request
+myproxy.username=ogce
+myproxy.password=Jdas7
+myproxy.url=myproxy.teragrid.org
+myproxy.lifetime=3600
+trusted.cert.location=/path/to/cert/location

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java?rev=1325410&r1=1325409&r2=1325410&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpretorSkeleton.java Thu Apr 12 17:57:45 2012
@@ -76,17 +76,19 @@ import javax.xml.stream.XMLStreamReader;
 public class WorkflowInterpretorSkeleton implements ServiceLifeCycle {
     private static final MLogger log = MLogger.getLogger();
 
-	public static final String PROXYSERVER = "proxyserver";
+	public static final String PROXYSERVER = "myproxy.url";
 	public static final String MSGBOX = "msgbox";
 	public static final String GFAC = "gfac";
 	public static final String DSC = "dsc";
 	public static final String BROKER = "broker";
     public static final String MYPROXY_USER = "myproxy.username";
     public static final String MYPROXY_PASS = "myproxy.password";
+    public static final String MYPROXY_SERVER = "myproxy.url";
+    public static final String MYPROXY_LIFETIME = "myproxy.lifetime";
+    public static final String TRUSTED_CERT_LOCATION = "trusted.cert.location";
     public static final String JCR_USER = "jcr.username";
     public static final String JCR_PASS = "jcr.password";
     public static final String JCR_URL = "jcr.url";
-    public static final String TRUSTED_CERT_LOCATION="trusted.cert.location";
     public static boolean provenance = false;
     public static final String PROVENANCE = "provenance";
     public static  String jcrUserName = "";
@@ -101,6 +103,7 @@ public class WorkflowInterpretorSkeleton
     public static final String PROVENANCE_WRITER_THREAD_POOL_SIZE = "provenanceWriterThreadPoolSize";
     public static final int JCR_AVAIALABILITY_WAIT_INTERVAL = 1000 * 10;
     public static final String GFAC_EMBEDDED = "gfac.embedded";
+    public static  ConfigurationContext configurationContext;
 
     public void startUp(final ConfigurationContext configctx, AxisService service) {
     	new Thread(){
@@ -115,9 +118,13 @@ public class WorkflowInterpretorSkeleton
 		        Properties properties = new Properties();
 		        try {
 		            properties.load(url.openStream());
+                    // Airavata deployer have to configure these properties,but if user send them alone the incoming message
+                    // We are overwriting those values only for that particular request
 		            configctx.setProperty(MYPROXY_PASS, properties.get(MYPROXY_PASS));
 		            configctx.setProperty(MYPROXY_USER, properties.get(MYPROXY_USER));
-		
+		            configctx.setProperty(MYPROXY_LIFETIME,properties.getProperty(MYPROXY_LIFETIME));
+                    configctx.setProperty(TRUSTED_CERT_LOCATION,properties.getProperty(TRUSTED_CERT_LOCATION));
+                    configctx.setProperty(MYPROXY_SERVER,properties.getProperty(MYPROXY_SERVER));
 		            jcrUserName = (String)properties.get(JCR_USER);
 		            jcrPassword = (String) properties.get(JCR_PASS);
 		            jcrURL = (String) properties.get(JCR_URL);
@@ -160,6 +167,7 @@ public class WorkflowInterpretorSkeleton
 		        } catch (IOException e) {
 		            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
 		        }
+                WorkflowInterpretorSkeleton.configurationContext = configctx;
     		}
     	}.start();
 
@@ -284,16 +292,16 @@ public class WorkflowInterpretorSkeleton
 		configuration.setMessageBoxURL(new URI(findValue(vals, MSGBOX, XBayaConstants.DEFAULT_MESSAGE_BOX_URL.toString())));
 		configuration.setMyProxyLifetime(XBayaConstants.DEFAULT_MYPROXY_LIFTTIME);
 		configuration.setMyProxyPort(XBayaConstants.DEFAULT_MYPROXY_PORT);
-		configuration.setMyProxyServer(findValue(vals, PROXYSERVER, XBayaConstants.DEFAULT_MYPROXY_SERVER));
-        configuration.setMyProxyPassphrase(findValue(vals, MYPROXY_PASS, ""));
-        configuration.setMyProxyUsername(findValue(vals,MYPROXY_USER,""));
-        configuration.setTrustedCertLocation(findValue(vals, TRUSTED_CERT_LOCATION, ""));
+		configuration.setMyProxyServer(findValue(vals, PROXYSERVER, (String)WorkflowInterpretorSkeleton.configurationContext.getProperty(MYPROXY_SERVER)));
+        configuration.setMyProxyPassphrase(findValue(vals, MYPROXY_PASS, (String)WorkflowInterpretorSkeleton.configurationContext.getProperty(MYPROXY_PASS)));
+        configuration.setMyProxyUsername(findValue(vals,MYPROXY_USER,(String)WorkflowInterpretorSkeleton.configurationContext.getProperty(MYPROXY_USER)));
+        configuration.setTrustedCertLocation(findValue(vals, TRUSTED_CERT_LOCATION, (String)WorkflowInterpretorSkeleton.configurationContext.getProperty(TRUSTED_CERT_LOCATION)));
 		return configuration;
 	}
 
 	public String findValue(NameValue[] vals, String key, String defaultVal) {
 		for (int i = 0; i < vals.length; i++) {
-			if (key.equals(vals[i].getName()) && !"".equals(vals[i].getValue())) {
+			if (key.equals(vals[i].getName()) && !"".equals(vals[i].getValue()) && (vals[i].getValue() != null)) {
 				return vals[i].getValue();
 			}
 		}

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/invoker/EmbeddedGFacInvoker.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/invoker/EmbeddedGFacInvoker.java?rev=1325410&r1=1325409&r2=1325410&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/invoker/EmbeddedGFacInvoker.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/invoker/EmbeddedGFacInvoker.java Thu Apr 12 17:57:45 2012
@@ -24,6 +24,7 @@ import org.apache.airavata.common.regist
 import org.apache.airavata.common.utils.XMLUtil;
 import org.apache.airavata.commons.gfac.type.ActualParameter;
 import org.apache.airavata.commons.gfac.type.ServiceDescription;
+import org.apache.airavata.commons.gfac.wsdl.WSDLConstants;
 import org.apache.airavata.core.gfac.GfacAPI;
 import org.apache.airavata.core.gfac.context.GFacConfiguration;
 import org.apache.airavata.core.gfac.context.JobContext;
@@ -235,7 +236,10 @@ public class EmbeddedGFacInvoker impleme
             ServiceDescriptionType serviceDescriptionType = serviceDescription.getType();
             for (Parameter parameter : serviceDescriptionType.getInputParametersArray()) {
                 //todo this implementation doesn't work when there are n number of nodes connecting .. need to fix
-                actualParameters.put(parameter, GfacUtils.getInputActualParameter(parameter, XMLUtil.xmlElementToString((XmlElement)value)));
+                XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(XMLUtil.xmlElementToString((XmlElement) value)));
+                StAXOMBuilder builder = new StAXOMBuilder(reader);
+                OMElement input = builder.getDocumentElement();
+                actualParameters.put(parameter, GfacUtils.getInputActualParameter(parameter, input));
             }
         } catch (RuntimeException e) {
             logger.error(e.getMessage(), e);