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/30 19:11:38 UTC

svn commit: r1332298 - /incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java

Author: lahiru
Date: Mon Apr 30 17:11:38 2012
New Revision: 1332298

URL: http://svn.apache.org/viewvc?rev=1332298&view=rev
Log:
fixing https://issues.apache.org/jira/browse/AIRAVATA-405.

Modified:
    incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java

Modified: incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java?rev=1332298&r1=1332297&r2=1332298&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java (original)
+++ incubator/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/airavata/AiravataClient.java Mon Apr 30 17:11:38 2012
@@ -46,6 +46,7 @@ import javax.jcr.RepositoryException;
 import javax.jcr.ValueFormatException;
 import javax.xml.namespace.QName;
 
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import org.apache.airavata.common.registry.api.exception.RegistryException;
 import org.apache.airavata.registry.api.AiravataRegistry;
 import org.apache.airavata.registry.api.WorkflowExecution;
@@ -57,6 +58,9 @@ import org.apache.airavata.xbaya.graph.i
 import org.apache.airavata.xbaya.graph.system.InputNode;
 import org.apache.airavata.xbaya.interpretor.NameValue;
 import org.apache.airavata.xbaya.interpretor.WorkflowInterpretorStub;
+import org.apache.airavata.xbaya.monitor.Monitor;
+import org.apache.airavata.xbaya.monitor.MonitorConfiguration;
+import org.apache.airavata.xbaya.monitor.MonitorException;
 import org.apache.airavata.xbaya.wf.Workflow;
 import org.apache.airavata.xbaya.workflow.WorkflowClient;
 import org.apache.axis2.AxisFault;
@@ -64,7 +68,7 @@ import org.apache.axis2.AxisFault;
 import xsul5.MLogger;
 
 public class AiravataClient {
-	private static final MLogger log = MLogger.getLogger();
+//	private static final MLogger log = MLogger.getLogger();
 
 	public static final String GFAC = "gfac";
 	public static final String JCR = "jcr";
@@ -84,6 +88,7 @@ public class AiravataClient {
 	public static final String WORKFLOWSERVICEURL = "xbaya.service.url";
     public static final String TRUSTED_CERT_LOCATION = "trusted.cert.location";
     private AiravataClientConfiguration clientConfiguration;
+    private MonitorConfiguration monitorConfiguration;
 	private static String workflow = "";
 
 	private AiravataRegistry registry;
@@ -100,7 +105,7 @@ public class AiravataClient {
 
 	public AiravataClient(String fileName) throws RegistryException,
 			MalformedURLException, IOException {
-		URL url = this.getClass().getClassLoader().getResource(fileName);
+		URL url = this. getClass().getClassLoader().getResource(fileName);
 		if (url == null) {
 			url = (new File(fileName)).toURL();
 		}
@@ -162,7 +167,6 @@ public class AiravataClient {
 		configurations[11].setValue(properties.getProperty(TRUSTED_CERT_LOCATION));
 
 		updateClientConfiguration(configurations);
-
 	}
 
 	private void updateClientConfiguration(NameValue[] configurations)
@@ -320,26 +324,49 @@ public class AiravataClient {
 	}
 
 	public String runWorkflow(String topic, String user, String metadata) {
-		String worflowoutput = null;
-		try {
-			WorkflowInterpretorStub stub = new WorkflowInterpretorStub(
-					getClientConfiguration().getXbayaServiceURL().toString());
-			worflowoutput = stub.launchWorkflow(workflow, topic,
-					getClientConfiguration().getMyproxyPassword(),
-					getClientConfiguration().getMyproxyUsername(), null,
-					configurations);
-			runPostWorkflowExecutionTasks(topic, user, metadata);
-			log.info("Workflow output : " + worflowoutput);
-		} catch (AxisFault e) {
-			log.fine(e.getMessage(), e);
+        String worflowoutput = null;
+                try {
+                    WorkflowInterpretorStub stub = new WorkflowInterpretorStub(
+                            getClientConfiguration().getXbayaServiceURL().toString());
+                    worflowoutput = stub.launchWorkflow(workflow, topic,
+                            getClientConfiguration().getMyproxyPassword(),
+                            getClientConfiguration().getMyproxyUsername(), null,
+                            configurations);
+                    runPostWorkflowExecutionTasks(worflowoutput, user, metadata);
+
+                } catch (AxisFault e) {
+//			log.fine(e.getMessage(), e);
 		} catch (RemoteException e) {
-			log.fine(e.getMessage(), e);
+//			log.fine(e.getMessage(), e);
 		} catch (RegistryException e) {
-			log.fine(e.getMessage(), e);
+//			log.fine(e.getMessage(), e);
 		}
-		return worflowoutput;
+//			log.info("Workflow output : " + worflowoutput);
+
+        return worflowoutput;
 	}
 
+    public void startMonitoring(String topic) {
+        final String fTopic = topic;
+        new Thread() {
+            /**
+             * @see java.lang.Thread#run()
+             */
+            @Override
+            public void run() {
+                try {
+                    monitorConfiguration = new MonitorConfiguration(new URI(getParameter(BROKER)), fTopic, true, new URI(getParameter(MSGBOX)));
+                    Monitor monitor = new Monitor(monitorConfiguration);
+                    monitor.setPrint(true);
+                    monitor.start();
+                } catch (URISyntaxException e) {
+                    e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+                } catch (MonitorException e) {
+                    e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+                }
+            }
+        }.start();
+    }
 	private void runPostWorkflowExecutionTasks(String topic, String user,
 			String metadata) throws RegistryException {
 		if (user != null) {
@@ -369,9 +396,9 @@ public class AiravataClient {
 					getClientConfiguration().getMyproxyUsername(), inputs,
 					configurations);
 			runPostWorkflowExecutionTasks(topic, user, metadata);
-			log.info("Workflow output : " + worflowoutput);
+//			log.info("Workflow output : " + worflowoutput);
 		} catch (RegistryException e) {
-			log.fine(e.getMessage(), e);
+//			log.fine(e.getMessage(), e);
 		}
 		return worflowoutput;
 	}
@@ -605,4 +632,13 @@ public class AiravataClient {
 		return null;
 	}
 
+    private String getParameter(String paramName){
+        for(NameValue param:configurations){
+            if(paramName.equals(param.getName())){
+                return param.getValue();
+            }
+        }
+        return null;
+    }
+
 }