You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2012/11/15 16:28:21 UTC

svn commit: r1409835 - in /airavata/trunk/modules: airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/ airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/client/ airavata-rest-services/src/main/...

Author: chathuri
Date: Thu Nov 15 15:28:20 2012
New Revision: 1409835

URL: http://svn.apache.org/viewvc?rev=1409835&view=rev
Log:
updating provenance related client methods

Modified:
    airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/Test.java
    airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/client/ProvenanceResourceClient.java
    airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/resources/ProvenanceRegistryResource.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java

Modified: airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/Test.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/Test.java?rev=1409835&r1=1409834&r2=1409835&view=diff
==============================================================================
--- airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/Test.java (original)
+++ airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/Test.java Thu Nov 15 15:28:20 2012
@@ -22,21 +22,37 @@
 package org.apache.airavata.services.registry.rest;
 
 
+import org.apache.airavata.commons.gfac.type.ApplicationDeploymentDescription;
 import org.apache.airavata.commons.gfac.type.HostDescription;
-import org.apache.airavata.schemas.gfac.GlobusHostType;
-import org.apache.airavata.services.registry.rest.client.ConfigurationResourceClient;
-import org.apache.airavata.services.registry.rest.client.DescriptorResourceClient;
-import org.apache.airavata.services.registry.rest.resourcemappings.HostDescriptor;
-
-import java.net.URI;
-import java.util.List;
+import org.apache.airavata.commons.gfac.type.ServiceDescription;
+import org.apache.airavata.registry.api.AiravataExperiment;
+import org.apache.airavata.registry.api.WorkspaceProject;
+import org.apache.airavata.registry.api.exception.RegistryException;
+import org.apache.airavata.registry.api.workflow.*;
+import org.apache.airavata.schemas.gfac.*;
+import org.apache.airavata.services.registry.rest.client.*;
+
+import java.sql.*;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.Date;
 
 public class Test {
     public static void main(String[] args) {
-        configurationResourceClientTest();
-//        descriptorClientTest();
+//        configurationResourceClientTest();
+//        hostDescriptorClientTest();
+//        serviceDescriptorClientTest();
+//          appDescriptorClientTest();
+//        projectRegistryClientTest();
+//        experimentRegistryClient();
+//        userWFClientTest();
+//        publishWFClientTest();
+        provenanceClientTest();
     }
 
+
     public static void configurationResourceClientTest(){
         //configuration resource test
         ConfigurationResourceClient configurationResourceClient = new ConfigurationResourceClient();
@@ -47,10 +63,10 @@ public class Test {
 //
 //        System.out.println("###############getConfigurationList###############");
 //        configurationResourceClient.addWFInterpreterURI("http://192.168.17.1:8080/axis2/services/WorkflowInterpretor2");
-        List<Object> configurationList = configurationResourceClient.getConfigurationList("testKey1");
-        for(Object object : configurationList){
-            System.out.println(object.toString());
-        }
+//        List<Object> configurationList = configurationResourceClient.getConfigurationList("testKey1");
+//        for(Object object : configurationList){
+//            System.out.println(object.toString());
+//        }
 //
 //        System.out.println("###############setConfiguration###############");
 //        configurationResourceClient.setConfiguration("testKey1", "testVal1", "2012-11-12 00:12:31");
@@ -123,7 +139,7 @@ public class Test {
 //        configurationResourceClient.unsetMessageBoxURI();
     }
 
-    public static void descriptorClientTest(){
+    public static void hostDescriptorClientTest(){
         DescriptorResourceClient descriptorResourceClient = new DescriptorResourceClient();
 
 //        boolean localHost = descriptorResourceClient.isHostDescriptorExists("LocalHost");
@@ -135,11 +151,392 @@ public class Test {
 //        descriptorResourceClient.addHostDescriptor(descriptor);
 
 //        HostDescription localHost = descriptorResourceClient.getHostDescriptor("purdue.teragrid.org");
-        List<HostDescription> hostDescriptors = descriptorResourceClient.getHostDescriptors();
+//        List<HostDescription> hostDescriptors = descriptorResourceClient.getHostDescriptors();
+//        for(HostDescription hostDescription : hostDescriptors){
+//            System.out.println(hostDescription.getType().getHostName());
+//            System.out.println(hostDescription.getType().getHostAddress());
+//        }
+//
+//        List<String> hostDescriptorNames = descriptorResourceClient.getHostDescriptorNames();
+//        for (String hostName : hostDescriptorNames){
+//            System.out.println(hostName);
+//        }
+
+        descriptorResourceClient.removeHostDescriptor("testHost");
+
 //        System.out.println(localHost.getType().getHostName());
 //        System.out.println(localHost.getType().getHostAddress());
 
     }
 
+    public static void serviceDescriptorClientTest (){
+        DescriptorResourceClient descriptorResourceClient = new DescriptorResourceClient();
+        //service descriptor exists
+//        boolean exists = descriptorResourceClient.isServiceDescriptorExists("echo");
+//        System.out.println(exists);
+
+        //service descriptor save
+//        ServiceDescription serviceDescription = new ServiceDescription();
+//        List<InputParameterType> inputParameters = new ArrayList<InputParameterType>();
+//        List<OutputParameterType> outputParameters = new ArrayList<OutputParameterType>();
+//        serviceDescription.getType().setName("testServiceDesc");
+//        serviceDescription.getType().setDescription("testDescription");
+//        InputParameterType parameter = InputParameterType.Factory.newInstance();
+//        parameter.setParameterName("input1");
+//        parameter.setParameterDescription("testDesc");
+//        ParameterType parameterType = parameter.addNewParameterType();
+//        parameterType.setType(DataType.STRING);
+//        parameterType.setName("testParamtype");
+//        inputParameters.add(parameter);
+//
+//        OutputParameterType outputParameter = OutputParameterType.Factory.newInstance();
+//        outputParameter.setParameterName("output1");
+//        outputParameter.setParameterDescription("testDesc");
+//        ParameterType outputParaType = outputParameter.addNewParameterType();
+//        outputParaType.setType(DataType.STRING);
+//        outputParaType.setName("testParamtype");
+//        outputParameters.add(outputParameter);
+//
+//        serviceDescription.getType().setInputParametersArray(inputParameters.toArray(new InputParameterType[]{}));
+//        serviceDescription.getType().setOutputParametersArray(outputParameters.toArray(new OutputParameterType[]{}));
+//
+//        descriptorResourceClient.saveServiceDescriptor(serviceDescription);
+
+        // Service descriptor update
+//        ServiceDescription testServiceDesc = descriptorResourceClient.getServiceDescriptor("testServiceDesc");
+//        testServiceDesc.getType().setDescription("testDescription2");
+//        List<InputParameterType> inputParameters = new ArrayList<InputParameterType>();
+//        List<OutputParameterType> outputParameters = new ArrayList<OutputParameterType>();
+//        InputParameterType parameter = InputParameterType.Factory.newInstance();
+//        parameter.setParameterName("input2");
+//        parameter.setParameterDescription("testDesc2");
+//        ParameterType parameterType = parameter.addNewParameterType();
+//        parameterType.setType(DataType.STRING);
+//        parameterType.setName("testParamtype2");
+//        inputParameters.add(parameter);
+//
+//        OutputParameterType outputParameter = OutputParameterType.Factory.newInstance();
+//        outputParameter.setParameterName("output2");
+//        outputParameter.setParameterDescription("testDesc2");
+//        ParameterType outputParaType = outputParameter.addNewParameterType();
+//        outputParaType.setType(DataType.STRING);
+//        outputParaType.setName("testParamtype2");
+//        outputParameters.add(outputParameter);
+//
+//        testServiceDesc.getType().setInputParametersArray(inputParameters.toArray(new InputParameterType[]{}));
+//        testServiceDesc.getType().setOutputParametersArray(outputParameters.toArray(new OutputParameterType[]{}));
+//
+//        descriptorResourceClient.updateServiceDescriptor(testServiceDesc);
+
+         //getServiceDescriptor
+//        ServiceDescription testServiceDesc = descriptorResourceClient.getServiceDescriptor("testServiceDesc");
+//        System.out.println(testServiceDesc.getType().getName());
+//        System.out.println(testServiceDesc.getType().getDescription());
+
+        //removeServiceDescriptor
+//        descriptorResourceClient.removeServiceDescriptor("testServiceDesc");
+
+        //getServiceDescriptors
+//        List<ServiceDescription> serviceDescriptors = descriptorResourceClient.getServiceDescriptors();
+//        for (ServiceDescription serviceDescription : serviceDescriptors){
+//            System.out.println(serviceDescription.getType().getName());
+//            System.out.println(serviceDescription.getType().getDescription());
+//        }
+    }
+
+    public static void appDescriptorClientTest (){
+//        DescriptorResourceClient descriptorResourceClient = new DescriptorResourceClient();
+
+        //isApplicationDescriptorExist
+//        boolean descriptorExist = descriptorResourceClient.isApplicationDescriptorExist("echo", "LocalHost", "LocalHost_application");
+//        System.out.println(descriptorExist);
+
+        // addApplicationDescriptor
+//        ServiceDescription serviceDescription = new ServiceDescription();
+//        List<InputParameterType> inputParameters = new ArrayList<InputParameterType>();
+//        List<OutputParameterType> outputParameters = new ArrayList<OutputParameterType>();
+//        serviceDescription.getType().setName("testServiceDesc");
+//        serviceDescription.getType().setDescription("testDescription");
+//        InputParameterType parameter = InputParameterType.Factory.newInstance();
+//        parameter.setParameterName("input1");
+//        parameter.setParameterDescription("testDesc");
+//        ParameterType parameterType = parameter.addNewParameterType();
+//        parameterType.setType(DataType.STRING);
+//        parameterType.setName("testParamtype");
+//        inputParameters.add(parameter);
+//
+//        OutputParameterType outputParameter = OutputParameterType.Factory.newInstance();
+//        outputParameter.setParameterName("output1");
+//        outputParameter.setParameterDescription("testDesc");
+//        ParameterType outputParaType = outputParameter.addNewParameterType();
+//        outputParaType.setType(DataType.STRING);
+//        outputParaType.setName("testParamtype");
+//        outputParameters.add(outputParameter);
+//
+//        serviceDescription.getType().setInputParametersArray(inputParameters.toArray(new InputParameterType[]{}));
+//        serviceDescription.getType().setOutputParametersArray(outputParameters.toArray(new OutputParameterType[]{}));
+//
+//        HostDescription hostDescription = new HostDescription(GlobusHostType.type);
+//        hostDescription.getType().setHostName("testHost");
+//        hostDescription.getType().setHostAddress("testHostAddress");
+//        descriptorResourceClient.addHostDescriptor(hostDescription);
+//
+//        ApplicationDeploymentDescription applicationDeploymentDescription = new ApplicationDeploymentDescription(ApplicationDeploymentDescriptionType.type);
+//        ApplicationDeploymentDescriptionType.ApplicationName applicationName = applicationDeploymentDescription.getType().addNewApplicationName();
+//        applicationName.setStringValue("testApplication");
+//        applicationDeploymentDescription.getType().setApplicationName(applicationName);
+//        applicationDeploymentDescription.getType().setInputDataDirectory("/bin");
+//        applicationDeploymentDescription.getType().setExecutableLocation("/bin/echo");
+//        applicationDeploymentDescription.getType().setOutputDataDirectory("/tmp");
+//
+//        descriptorResourceClient.addApplicationDescriptor(serviceDescription, hostDescription, applicationDeploymentDescription);
+
+        //addApplicationDescriptor(String serviceName, String hostName, ApplicationDeploymentDescription descriptor)
+//        ApplicationDeploymentDescription applicationDeploymentDescription = new ApplicationDeploymentDescription(ApplicationDeploymentDescriptionType.type);
+//        ApplicationDeploymentDescriptionType.ApplicationName applicationName = applicationDeploymentDescription.getType().addNewApplicationName();
+//        applicationName.setStringValue("testApplication2");
+//        applicationDeploymentDescription.getType().setApplicationName(applicationName);
+//        applicationDeploymentDescription.getType().setInputDataDirectory("/bin");
+//        applicationDeploymentDescription.getType().setExecutableLocation("/bin/echo");
+//        applicationDeploymentDescription.getType().setOutputDataDirectory("/tmp");
+//        descriptorResourceClient.addApplicationDescriptor("testServiceDesc", "testHost", applicationDeploymentDescription);
+
+        //udpateApplicationDescriptor
+//        ApplicationDeploymentDescription applicationDescriptor = descriptorResourceClient.getApplicationDescriptor("testServiceDesc", "testHost", "testApplication2");
+//        applicationDescriptor.getType().setInputDataDirectory("/bin1");
+//        applicationDescriptor.getType().setExecutableLocation("/bin/echo1");
+//        applicationDescriptor.getType().setOutputDataDirectory("/tmp1");
+//        descriptorResourceClient.updateApplicationDescriptor("testServiceDesc", "testHost", applicationDescriptor);
+
+        //getApplicationDescriptors(String serviceName, String hostname)
+//        ApplicationDeploymentDescription applicationDescriptors = descriptorResourceClient.getApplicationDescriptors("testServiceDesc", "testHost");
+//        System.out.println(applicationDescriptors.getType().getApplicationName().getStringValue());
+//        System.out.println(applicationDescriptors.getType().getExecutableLocation());
+//        System.out.println(applicationDescriptors.getType().getOutputDataDirectory());
+
+        //getApplicationDescriptors(String serviceName)
+//        Map<String,ApplicationDeploymentDescription> testServiceDesc = descriptorResourceClient.getApplicationDescriptors("testServiceDesc");
+//        for (String host : testServiceDesc.keySet()){
+//            System.out.println(host);
+//            ApplicationDeploymentDescription applicationDeploymentDescription = testServiceDesc.get(host);
+//            System.out.println(applicationDeploymentDescription.getType().getApplicationName().getStringValue());
+//        }
+         //getApplicationDescriptors()
+//        Map<String[], ApplicationDeploymentDescription> applicationDescriptors = descriptorResourceClient.getApplicationDescriptors();
+//        for (String[] desc : applicationDescriptors.keySet()){
+//            System.out.println(desc[0]);
+//            System.out.println(desc[1]);
+//            ApplicationDeploymentDescription applicationDeploymentDescription = applicationDescriptors.get(desc);
+//            System.out.println(applicationDeploymentDescription.getType().getApplicationName().getStringValue());
+//        }
+
+        //getApplicationDescriptorNames ()
+//        List<String> applicationDescriptorNames = descriptorResourceClient.getApplicationDescriptorNames();
+//        for (String appName : applicationDescriptorNames){
+//            System.out.println(appName);
+//        }
+    }
+
+    public static void projectRegistryClientTest(){
+        ProjectResourceClient projectResourceClient = new ProjectResourceClient();
+        //isWorkspaceProjectExists
+//        boolean projectExists = projectResourceClient.isWorkspaceProjectExists("default");
+//        System.out.println(projectExists);
+       //isWorkspaceProjectExists(String projectName, boolean createIfNotExists)
+//        projectResourceClient.isWorkspaceProjectExists("testproject", true);
+        // addWorkspaceProject
+//        projectResourceClient.addWorkspaceProject("testproject2");
+
+        //updateWorkspaceProject(String projectName)
+//        projectResourceClient.updateWorkspaceProject("testproject");
+
+        // deleteWorkspaceProject
+//        projectResourceClient.deleteWorkspaceProject("testproject");
+
+        //getWorkspaceProject
+//        WorkspaceProject project = projectResourceClient.getWorkspaceProject("default");
+//        System.out.println(project.getGateway().getGatewayName());
+
+        //getWorkspaceProjects
+//        List<WorkspaceProject> workspaceProjects = projectResourceClient.getWorkspaceProjects();
+//        for (WorkspaceProject workspaceProject : workspaceProjects){
+//            System.out.println(workspaceProject.getProjectName());
+//        }
+
+    }
+
+    public static void experimentRegistryClient(){
+        ExperimentResourceClient experimentResourceClient = new ExperimentResourceClient();
+        //add experiment
+//        try {
+//            AiravataExperiment experiment = new AiravataExperiment();
+//            experiment.setExperimentId("testExperiment2");
+//            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//            Date formattedDate = dateFormat.parse("2012-11-13 11:50:32");
+//            experiment.setSubmittedDate(formattedDate);
+//            experimentResourceClient.addExperiment("default", experiment);
+//        } catch (ParseException e) {
+//            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+//        }
+
+        //remove experiment
+//        experimentResourceClient.removeExperiment("testExperiment");
+
+//        List<AiravataExperiment> experiments = experimentResourceClient.getExperiments();
+//        System.out.println(experiments.size());
+        //getExperiments(Date from, Date to)
+//        try{
+//            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//            Date date1 = dateFormat.parse("2012-11-01 11:50:32");
+//            Date date2 = dateFormat.parse("2012-11-15 11:50:32");
+//            List<AiravataExperiment> experiments = experimentResourceClient.getExperiments(date1, date2);
+//            System.out.println(experiments.size());
+//        } catch (ParseException e) {
+//            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+//        }
+
+        //getExperiments(String projectName, Date from, Date to)
+//        try{
+//            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//            Date date1 = dateFormat.parse("2012-11-01 11:50:32");
+//            Date date2 = dateFormat.parse("2012-11-15 11:50:32");
+//            List<AiravataExperiment> experiments = experimentResourceClient.getExperiments("default",date1, date2);
+//            System.out.println(experiments.size());
+//        } catch (ParseException e) {
+//            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+//        }
+
+          //isExperimentExists(String experimentId)
+//        boolean exists = experimentResourceClient.isExperimentExists("testExperiment");
+//        System.out.println(exists);
+
+
+        //isExperimentExists(String experimentId, boolean createIfNotPresent)
+//        experimentResourceClient.isExperimentExists("testExp", true);
+
+
+    }
+
+    public static void userWFClientTest (){
+        UserWorkflowResourceClient userWorkflowResourceClient = new UserWorkflowResourceClient();
+//        boolean exists = userWorkflowResourceClient.isWorkflowExists("Workflow1");
+//        System.out.println(exists);
+//         userWorkflowResourceClient.addWorkflow("workflow5", "testworlflowcontent");
+//         userWorkflowResourceClient.updateWorkflow("worklfow5", "updatedtestworlflowcontent");
+//        String workflow2 = userWorkflowResourceClient.getWorkflowGraphXML("workflow2");
+//        System.out.println(workflow2);
+//        Map<String, String> workflows = userWorkflowResourceClient.getWorkflows();
+//        System.out.println(workflows.size());
+//        userWorkflowResourceClient.removeWorkflow("workflow5");
+    }
+
+    public static void publishWFClientTest () {
+        PublishedWorkflowResourceClient publishedWorkflowResourceClient = new PublishedWorkflowResourceClient();
+//        boolean exists = publishedWorkflowResourceClient.isPublishedWorkflowExists("Workflow2");
+//        System.out.println(exists);
+
+//        publishedWorkflowResourceClient.publishWorkflow("workflow3", "publishedWF3");
+//        publishedWorkflowResourceClient.publishWorkflow("workflow4");
+//        String workflow1 = publishedWorkflowResourceClient.getPublishedWorkflowGraphXML("Workflow2");
+//        System.out.println(workflow1);
+//        List<String> publishedWorkflowNames = publishedWorkflowResourceClient.getPublishedWorkflowNames();
+//        System.out.println(publishedWorkflowNames.size());
+
+//        publishedWorkflowResourceClient.removePublishedWorkflow("workflow4");
+
+    }
+
+    public static void provenanceClientTest()  {
+//        ProvenanceResourceClient provenanceResourceClient = new ProvenanceResourceClient();
+//        provenanceResourceClient.updateExperimentExecutionUser("eb9e67cf-6fe3-46f1-b50b-7b42936d347d", "aaa");
+//        String experimentExecutionUser = provenanceResourceClient.getExperimentExecutionUser("eb9e67cf-6fe3-46f1-b50b-7b42936d347d");
+//        System.out.println(experimentExecutionUser);
+//        boolean nameExist = provenanceResourceClient.isExperimentNameExist("exp1");
+//        System.out.println(nameExist);
+//        String experimentName = provenanceResourceClient.getExperimentName("eb9e67cf-6fe3-46f1-b50b-7b42936d347d");
+//        System.out.println(experimentName);
+//        String workflowExecutionTemplateName = provenanceResourceClient.getWorkflowExecutionTemplateName("e00ddc5e-f8d5-4492-9eb2-10372efb103c");
+//        System.out.println(workflowExecutionTemplateName);
+//        provenanceResourceClient.setWorkflowInstanceTemplateName("eb9e67cf-6fe3-46f1-b50b-7b42936d347d", "wftemplate2");
+//        List<WorkflowInstance> experimentWorkflowInstances = provenanceResourceClient.getExperimentWorkflowInstances("e00ddc5e-f8d5-4492-9eb2-10372efb103c");
+//        System.out.println(experimentWorkflowInstances.size());
+//        System.out.println(provenanceResourceClient.isWorkflowInstanceExists("e00ddc5e-f8d5-4492-9eb2-10372efb103c"));
+//        provenanceResourceClient.isWorkflowInstanceExists("testInstance", true);
+
+//        try {
+//            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//            Date date = dateFormat.parse("2012-11-01 11:50:32");
+//            WorkflowInstanceStatus workflowInstanceStatus = new WorkflowInstanceStatus(new WorkflowInstance("testInstance", "testInstance"), WorkflowInstanceStatus.ExecutionStatus.FINISHED, date);
+//            provenanceResourceClient.updateWorkflowInstanceStatus(workflowInstanceStatus);
+//        } catch (ParseException e) {
+//            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+//        }
+
+//        System.out.println(provenanceResourceClient.getWorkflowInstanceStatus("testInstance").getExecutionStatus().name());
+//        WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(provenanceResourceClient.getWorkflowInstanceData("TempConvertSoap_FahrenheitToCelsius").getWorkflowInstance(), "TempConvertSoap_FahrenheitToCelsius");
+//        provenanceResourceClient.updateWorkflowNodeInput(workflowInstanceNode, "testInput2");
+
+//        WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(provenanceResourceClient.getWorkflowInstanceData("TempConvertSoap_FahrenheitToCelsius").getWorkflowInstance(), "TempConvertSoap_FahrenheitToCelsius");
+//        provenanceResourceClient.updateWorkflowNodeOutput(workflowInstanceNode, "testOutput");
+
+//        ExperimentData experiment = provenanceResourceClient.getExperiment("ff7338c9-f9ad-4d86-b486-1e8e9c3a9cc4");
+//        String experimentName = experiment.getExperimentName();
+//        System.out.println(experimentName);
+
+//        ExperimentData experiment = provenanceResourceClient.getExperimentMetaInformation("ff7338c9-f9ad-4d86-b486-1e8e9c3a9cc4");
+//        String experimentName = experiment.getExperimentName();
+//        System.out.println(experimentName);
+
+//        List<ExperimentData> admin = provenanceResourceClient.getAllExperimentMetaInformation("admin");
+//        System.out.println(admin.size());
+
+//        List<ExperimentData> experimentDataList = provenanceResourceClient.searchExperiments("admin", "exp");
+//        System.out.println(experimentDataList.size());
+
+//        List<String> admin = provenanceResourceClient.getExperimentIdByUser("admin");
+//        for (String exp : admin){
+//            System.out.println(exp);
+//        }
+//        List<ExperimentData> experimentByUser = provenanceResourceClient.getExperimentByUser("admin");
+//        System.out.println(experimentByUser.size());
+
+//        WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(provenanceResourceClient.getWorkflowInstanceData("TempConvertSoap_FahrenheitToCelsius").getWorkflowInstance(), "TempConvertSoap_FahrenheitToCelsius");
+//        WorkflowInstanceNodeStatus workflowInstanceNodeStatus = new WorkflowInstanceNodeStatus(workflowInstanceNode, WorkflowInstanceStatus.ExecutionStatus.STARTED);
+//        provenanceResourceClient.updateWorkflowNodeStatus(workflowInstanceNodeStatus);
+
+//        WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(provenanceResourceClient.getWorkflowInstanceData("TempConvertSoap_FahrenheitToCelsius").getWorkflowInstance(), "TempConvertSoap_FahrenheitToCelsius");
+//        provenanceResourceClient.updateWorkflowNodeStatus(workflowInstanceNode, WorkflowInstanceStatus.ExecutionStatus.FINISHED);
+
+//        WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(provenanceResourceClient.getWorkflowInstanceData("TempConvertSoap_FahrenheitToCelsius").getWorkflowInstance(), "TempConvertSoap_FahrenheitToCelsius");
+//        WorkflowInstanceNodeStatus workflowNodeStatus = provenanceResourceClient.getWorkflowNodeStatus(workflowInstanceNode);
+//        System.out.println(workflowNodeStatus.getExecutionStatus().name());
+
+//        WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(provenanceResourceClient.getWorkflowInstanceData("TempConvertSoap_FahrenheitToCelsius").getWorkflowInstance(), "TempConvertSoap_FahrenheitToCelsius");
+//        Date workflowNodeStartTime = provenanceResourceClient.getWorkflowNodeStartTime(workflowInstanceNode);
+//        System.out.println(workflowNodeStartTime.toString());
+
+//        WorkflowInstance tempConvertSoap_fahrenheitToCelsius = provenanceResourceClient.getWorkflowInstanceData("TempConvertSoap_FahrenheitToCelsius").getWorkflowInstance();
+//        Date workflowStartTime = provenanceResourceClient.getWorkflowStartTime(tempConvertSoap_fahrenheitToCelsius);
+//        System.out.println(workflowStartTime.toString());
+
+//        WorkflowNodeGramData workflowNodeGramData = new WorkflowNodeGramData("TempConvertSoap_FahrenheitToCelsius", "TempConvertSoap_FahrenheitToCelsius", "rsl", "invokedHost", "jobID");
+//        provenanceResourceClient.updateWorkflowNodeGramData(workflowNodeGramData);
+
+//        WorkflowInstanceData instanceData = provenanceResourceClient.getWorkflowInstanceData("TempConvertSoap_FahrenheitToCelsius");
+//        System.out.println(instanceData.getWorkflowInstance().getExperimentId());
+
+//        System.out.println(provenanceResourceClient.isWorkflowInstanceNodePresent("TempConvertSoap_FahrenheitToCelsius", "TempConvertSoap_FahrenheitToCelsius"));
+
+//        provenanceResourceClient.isWorkflowInstanceNodePresent("TempConvertSoap_FahrenheitToCelsius", "TempConvertSoap_FahrenheitToCelsius1", true);
+
+//        provenanceResourceClient.addWorkflowInstance("testInstance", "testWF", "testWotrfklow");
+//        WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(provenanceResourceClient.getWorkflowInstanceData("TempConvertSoap_FahrenheitToCelsius").getWorkflowInstance(), "TempConvertSoap_FahrenheitToCelsius");
+//        WorkflowNodeType workflowNodeType = new WorkflowNodeType();
+//        workflowNodeType.setNodeType(WorkflowNodeType.WorkflowNode.SERVICENODE);
+//        provenanceResourceClient.updateWorkflowNodeType(workflowInstanceNode, workflowNodeType);
+
+//         provenanceResourceClient.addWorkflowInstanceNode("TempConvertSoap_FahrenheitToCelsius", "testNode");
+    }
+
 
 }

Modified: airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/client/ProvenanceResourceClient.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/client/ProvenanceResourceClient.java?rev=1409835&r1=1409834&r2=1409835&view=diff
==============================================================================
--- airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/client/ProvenanceResourceClient.java (original)
+++ airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/client/ProvenanceResourceClient.java Thu Nov 15 15:28:20 2012
@@ -245,10 +245,10 @@ public class ProvenanceResourceClient {
     }
 
     public boolean isWorkflowInstanceExists(String instanceId, boolean createIfNotPresent){
-        webResource = getProvenanceRegistryBaseResource().path(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_NODE_EXIST_CREATE);
+        webResource = getProvenanceRegistryBaseResource().path(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_EXIST_CREATE);
         MultivaluedMap formParams = new MultivaluedMapImpl();
         formParams.add("instanceId", instanceId);
-        formParams.add("createIfNotPresent", createIfNotPresent);
+        formParams.add("createIfNotPresent", String.valueOf(createIfNotPresent));
 
         ClientResponse response = webResource.accept(MediaType.TEXT_PLAIN).post(ClientResponse.class, formParams);
         int status = response.getStatus();
@@ -276,11 +276,13 @@ public class ProvenanceResourceClient {
     }
 
     public void updateWorkflowInstanceStatus(WorkflowInstanceStatus workflowInstanceStatus){
+        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String statusUpdateDate = dateFormat.format(workflowInstanceStatus.getStatusUpdateTime());
         webResource = getProvenanceRegistryBaseResource().path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWINSTANCESTATUS);
         MultivaluedMap formParams = new MultivaluedMapImpl();
         formParams.add("workflowInstanceId", workflowInstanceStatus.getWorkflowInstance().getWorkflowInstanceId());
         formParams.add("executionStatus", workflowInstanceStatus.getExecutionStatus().name());
-        formParams.add("statusUpdateTime", workflowInstanceStatus.getStatusUpdateTime().toString());
+        formParams.add("statusUpdateTime", statusUpdateDate);
 
         ClientResponse response = webResource.accept(MediaType.TEXT_PLAIN).post(ClientResponse.class, formParams);
         int status = response.getStatus();
@@ -565,7 +567,7 @@ public class ProvenanceResourceClient {
 
     public void updateWorkflowNodeGramData(WorkflowNodeGramData workflowNodeGramData){
         webResource = getProvenanceRegistryBaseResource().path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODE_GRAMDATA);
-        ClientResponse response = webResource.type(MediaType.APPLICATION_JSON).accept(MediaType.TEXT_PLAIN).post(ClientResponse.class, workflowNodeGramData);
+        ClientResponse response = webResource.accept(MediaType.TEXT_PLAIN).type(MediaType.APPLICATION_JSON).post(ClientResponse.class, workflowNodeGramData);
         int status = response.getStatus();
         if (status != 200) {
             logger.error(response.getEntity(String.class));
@@ -607,11 +609,11 @@ public class ProvenanceResourceClient {
 
     public boolean isWorkflowInstanceNodePresent(String workflowInstanceId, String nodeId, boolean createIfNotPresent){
         webResource = getProvenanceRegistryBaseResource().path(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_NODE_EXIST_CREATE);
-        MultivaluedMap queryParams = new MultivaluedMapImpl();
-        queryParams.add("workflowInstanceId", workflowInstanceId);
-        queryParams.add("nodeId", nodeId);
-        queryParams.add("createIfNotPresent", createIfNotPresent);
-        ClientResponse response = webResource.queryParams(queryParams).accept(MediaType.TEXT_PLAIN).get(ClientResponse.class);
+        MultivaluedMap formParams = new MultivaluedMapImpl();
+        formParams.add("workflowInstanceId", workflowInstanceId);
+        formParams.add("nodeId", nodeId);
+        formParams.add("createIfNotPresent", String.valueOf(createIfNotPresent));
+        ClientResponse response = webResource.accept(MediaType.TEXT_PLAIN).post(ClientResponse.class, formParams);
         int status = response.getStatus();
         if (status != 200) {
             logger.error(response.getEntity(String.class));

Modified: airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/resources/ProvenanceRegistryResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/resources/ProvenanceRegistryResource.java?rev=1409835&r1=1409834&r2=1409835&view=diff
==============================================================================
--- airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/resources/ProvenanceRegistryResource.java (original)
+++ airavata/trunk/modules/airavata-rest-services/src/main/java/org/apache/airavata/services/registry/rest/resources/ProvenanceRegistryResource.java Thu Nov 15 15:28:20 2012
@@ -337,14 +337,14 @@ public class ProvenanceRegistryResource 
      * @param createIfNotPresent flag whether to create a new workflow instance or not
      * @return HTTP response
      */
-    @GET
-    @Path(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_NODE_EXIST_CREATE)
+    @POST
+    @Path(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_EXIST_CREATE)
     @Produces(MediaType.TEXT_PLAIN)
-    public Response isWorkflowInstanceExistsThenCreate(@QueryParam("instanceId") String instanceId,
-                                                       @QueryParam("createIfNotPresent") boolean createIfNotPresent) {
+    public Response isWorkflowInstanceExistsThenCreate(@FormParam("instanceId") String instanceId,
+                                                       @FormParam("createIfNotPresent") String createIfNotPresent) {
         airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
         try {
-            Boolean result = airavataRegistry.isWorkflowInstanceExists(instanceId, createIfNotPresent);
+            Boolean result = airavataRegistry.isWorkflowInstanceExists(instanceId, Boolean.valueOf(createIfNotPresent));
             if (result) {
                 Response.ResponseBuilder builder = Response.status(Response.Status.OK);
                 builder.entity("New workflow instance has been created...");
@@ -691,7 +691,7 @@ public class ProvenanceRegistryResource 
      */
     @GET
     @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_ID_USER)
-    @Produces(MediaType.APPLICATION_XML)
+    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
     public Response getExperimentIdByUser(@QueryParam("username") String username) {
         airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
         try{
@@ -875,7 +875,7 @@ public class ProvenanceRegistryResource 
      * @param workflowNodeGramData workflow node gram data object as a JSON input
      * @return HTTP response
      */
-    @GET
+    @POST
     @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODE_GRAMDATA)
     @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
     @Produces(MediaType.TEXT_PLAIN)
@@ -966,10 +966,10 @@ public class ProvenanceRegistryResource 
     @Produces(MediaType.TEXT_PLAIN)
     public Response isWorkflowInstanceNodePresentCreate(@FormParam("workflowInstanceId") String workflowInstanceId,
                                                         @FormParam("nodeId") String nodeId,
-                                                        @FormParam("createIfNotPresent") boolean createIfNotPresent){
+                                                        @FormParam("createIfNotPresent") String createIfNotPresent){
         airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
         try{
-            boolean workflowInstanceNodePresent = airavataRegistry.isWorkflowInstanceNodePresent(workflowInstanceId, nodeId, createIfNotPresent);
+            boolean workflowInstanceNodePresent = airavataRegistry.isWorkflowInstanceNodePresent(workflowInstanceId, nodeId, Boolean.getBoolean(createIfNotPresent));
             if (workflowInstanceNodePresent){
                 Response.ResponseBuilder builder = Response.status(Response.Status.OK);
                 builder.entity("Workflow instance node exists...");

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java?rev=1409835&r1=1409834&r2=1409835&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java Thu Nov 15 15:28:20 2012
@@ -1021,7 +1021,10 @@ public class AiravataJPARegistry extends
 		}
 		WorkflowDataResource wi = jpa.getWorker().getWorkflowInstance(status.getWorkflowInstance().getWorkflowInstanceId());
 		Timestamp currentTime = new Timestamp(status.getStatusUpdateTime().getTime());
-		wi.setStatus(status.getExecutionStatus().toString());
+        if(status.getExecutionStatus() != null){
+            wi.setStatus(status.getExecutionStatus().toString());
+        }
+
 		if (status.getExecutionStatus()==ExecutionStatus.STARTED){
 			wi.setStartTime(currentTime);
 		}