Author: samindaw
Date: Thu Jan 17 18:21:07 2013
New Revision: 1434843

URL: http://svn.apache.org/viewvc?rev=1434843&view=rev
Log:
fixing bugs on API function parameter types allowing Boolean & Integer instead 
of boolean & int + fixing adding new outputdatasettings function

Modified:
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/OutputDataSettings.java
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowOutputDataSettings.java
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ApplicationOutputDataSettingsImpl.java
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ExecutionManagerImpl.java
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/HostSchedulingSettingsImpl.java
    
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/WorkflowOutputDataSettingsImpl.java
    
airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java

Modified: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java?rev=1434843&r1=1434842&r2=1434843&view=diff
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
 (original)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/HostSchedulingSettings.java
 Thu Jan 17 18:21:07 2013
@@ -51,7 +51,7 @@ public interface HostSchedulingSettings 
         * Set whether to use WS-GRAM or Pre WS-GRAM
         * @param wsgramPreffered
         */
-       public void setWSGramPreffered(boolean wsgramPreffered);
+       public void setWSGramPreffered(Boolean wsgramPreffered);
        
        /**
         * Set the gatekeeper endpoint reference

Modified: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/OutputDataSettings.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/OutputDataSettings.java?rev=1434843&r1=1434842&r2=1434843&view=diff
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/OutputDataSettings.java
 (original)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/OutputDataSettings.java
 Thu Jan 17 18:21:07 2013
@@ -70,7 +70,7 @@ public interface OutputDataSettings {
         * @param isDataPersistance - if true (default value) the intermediate 
output data is 
         * kept, else discarded.
         */
-       public void setDataPersistent(boolean isDataPersistance);
+       public void setDataPersistent(Boolean isDataPersistance);
        
        /**
         * Default output data directory will be used.
@@ -86,4 +86,5 @@ public interface OutputDataSettings {
         * Default data persistent settings will be used.
         */
        public void resetDataPersistent();
+
 }

Modified: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowOutputDataSettings.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowOutputDataSettings.java?rev=1434843&r1=1434842&r2=1434843&view=diff
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowOutputDataSettings.java
 (original)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowOutputDataSettings.java
 Thu Jan 17 18:21:07 2013
@@ -43,7 +43,7 @@ public interface WorkflowOutputDataSetti
         * @param isDataPersistent
         * @return
         */
-       public OutputDataSettings addNewOutputDataSettings(String nodeId, 
String outputDataDirectory, String dataRegistryURL, boolean isDataPersistent);
+       public OutputDataSettings addNewOutputDataSettings(String nodeId, 
String outputDataDirectory, String dataRegistryURL, Boolean isDataPersistent);
        
        /**
         * Add new application putput data settings

Modified: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ApplicationOutputDataSettingsImpl.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ApplicationOutputDataSettingsImpl.java?rev=1434843&r1=1434842&r2=1434843&view=diff
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ApplicationOutputDataSettingsImpl.java
 (original)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ApplicationOutputDataSettingsImpl.java
 Thu Jan 17 18:21:07 2013
@@ -30,7 +30,7 @@ public class ApplicationOutputDataSettin
        private Boolean dataPersistent;
 
        public ApplicationOutputDataSettingsImpl(String nodeId) {
-               this(nodeId, null,null,false);
+               this(nodeId, null,null,null);
        }
 
        public ApplicationOutputDataSettingsImpl(String nodeId, String 
outputDataDirectory, String dataRegistryUrl, Boolean dataPersistent) {
@@ -66,7 +66,7 @@ public class ApplicationOutputDataSettin
        }
 
        @Override
-       public void setDataPersistent(boolean isDataPersistance) {
+       public void setDataPersistent(Boolean isDataPersistance) {
                this.dataPersistent=isDataPersistance;
        }
 

Modified: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ExecutionManagerImpl.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ExecutionManagerImpl.java?rev=1434843&r1=1434842&r2=1434843&view=diff
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ExecutionManagerImpl.java
 (original)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/ExecutionManagerImpl.java
 Thu Jan 17 18:21:07 2013
@@ -207,24 +207,14 @@ public class ExecutionManagerImpl implem
                                experimentID = workflowTemplateName + "_" + 
UUID.randomUUID();
                        }
                
getClient().getProvenanceManager().setWorkflowInstanceTemplateName(experimentID,workflowTemplateName);
-               
-                       WorkflowContextHeaderBuilder 
builder=createWorkflowContextHeader();
-                       
-                       //TODO - fix user passing
+
+               //TODO - fix user passing
                String submissionUser = 
getClient().getUserManager().getAiravataUser();
-                       builder.setUserIdentifier(submissionUser);
                        String 
executionUser=options.getExperimentExecutionUser();
                        if (executionUser==null){
                                executionUser=submissionUser;
                        }
-                       NodeSettings[] nodeSettingsList = 
options.getCustomWorkflowSchedulingSettings().getNodeSettingsList();
-                       for (NodeSettings nodeSettings : nodeSettingsList) {
-                               
builder.addApplicationSchedulingContext(nodeSettings.getNodeId(), 
nodeSettings.getServiceId(), nodeSettings.getHostSettings().getHostId(), 
nodeSettings.getHostSettings().isWSGRAMPreffered(), 
nodeSettings.getHostSettings().getGatekeeperEPR(), 
nodeSettings.getHPCSettings().getJobManager(), 
nodeSettings.getHPCSettings().getCPUCount(), 
nodeSettings.getHPCSettings().getNodeCount(), 
nodeSettings.getHPCSettings().getQueueName(), 
nodeSettings.getHPCSettings().getMaxWallTime());
-                       }
-                       OutputDataSettings[] outputDataSettingsList = 
options.getCustomWorkflowOutputDataSettings().getOutputDataSettingsList();
-                       for (OutputDataSettings outputDataSettings : 
outputDataSettingsList) {
-                               
builder.addApplicationOutputDataHandling(outputDataSettings.getNodeId(),outputDataSettings.getOutputDataDirectory(),
 outputDataSettings.getDataRegistryUrl(), 
outputDataSettings.isDataPersistent());
-                       }
+                       WorkflowContextHeaderBuilder builder = 
createWorkflowContextHeaderBuilder(options, submissionUser);
                        runPreWorkflowExecutionTasks(experimentID, 
executionUser, options.getExperimentMetadata(), options.getExperimentName());
                        NameValue[] inputVals = inputValues.toArray(new 
NameValue[] {});
                        if (listener!=null){
@@ -241,10 +231,22 @@ public class ExecutionManagerImpl implem
            }
        }
 
-//     private String runWorkflow(String workflowName, List<WorkflowInput> 
inputs, ExperimentAdvanceOptions options) throws AiravataAPIInvocationException 
{
-//             return runExperimentGeneral(extractWorkflow(workflowName), 
inputs, options, null);
-//     }
-       
+       private WorkflowContextHeaderBuilder createWorkflowContextHeaderBuilder(
+                       ExperimentAdvanceOptions options, String submissionUser)
+                       throws AiravataAPIInvocationException {
+               WorkflowContextHeaderBuilder 
builder=createWorkflowContextHeader();
+               builder.setUserIdentifier(submissionUser);
+               NodeSettings[] nodeSettingsList = 
options.getCustomWorkflowSchedulingSettings().getNodeSettingsList();
+               for (NodeSettings nodeSettings : nodeSettingsList) {
+                       
builder.addApplicationSchedulingContext(nodeSettings.getNodeId(), 
nodeSettings.getServiceId(), nodeSettings.getHostSettings().getHostId(), 
nodeSettings.getHostSettings().isWSGRAMPreffered(), 
nodeSettings.getHostSettings().getGatekeeperEPR(), 
nodeSettings.getHPCSettings().getJobManager(), 
nodeSettings.getHPCSettings().getCPUCount(), 
nodeSettings.getHPCSettings().getNodeCount(), 
nodeSettings.getHPCSettings().getQueueName(), 
nodeSettings.getHPCSettings().getMaxWallTime());
+               }
+               OutputDataSettings[] outputDataSettingsList = 
options.getCustomWorkflowOutputDataSettings().getOutputDataSettingsList();
+               for (OutputDataSettings outputDataSettings : 
outputDataSettingsList) {
+                       
builder.addApplicationOutputDataHandling(outputDataSettings.getNodeId(),outputDataSettings.getOutputDataDirectory(),
 outputDataSettings.getDataRegistryUrl(), 
outputDataSettings.isDataPersistent());
+               }
+               return builder;
+       }
+
     private Workflow extractWorkflow(String workflowName) throws 
AiravataAPIInvocationException {
         Workflow workflowObj = null;
         //FIXME - There should be a better way to figure-out if the passed 
string is a name or an xml
@@ -379,4 +381,15 @@ public class ExecutionManagerImpl implem
        
        //------------------End of Deprecated Functions---------------------//
 
+       public static void main(String[] args) {
+               ExecutionManagerImpl a = new ExecutionManagerImpl(null);
+               try {
+                       ExperimentAdvanceOptions b = 
a.createExperimentAdvanceOptions();
+                       
b.getCustomWorkflowOutputDataSettings().addNewOutputDataSettings("la", "di", 
"da", false);
+                       WorkflowContextHeaderBuilder c = 
a.createWorkflowContextHeaderBuilder(b, "meeee");
+                       
System.out.println(XMLUtil.xmlElementToString(c.getXml()));
+               } catch (AiravataAPIInvocationException e) {
+                       e.printStackTrace();
+               }
+       }
 }

Modified: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/HostSchedulingSettingsImpl.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/HostSchedulingSettingsImpl.java?rev=1434843&r1=1434842&r2=1434843&view=diff
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/HostSchedulingSettingsImpl.java
 (original)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/HostSchedulingSettingsImpl.java
 Thu Jan 17 18:21:07 2013
@@ -49,7 +49,7 @@ public class HostSchedulingSettingsImpl 
        }
 
        @Override
-       public void setWSGramPreffered(boolean wsgramPreffered) {
+       public void setWSGramPreffered(Boolean wsgramPreffered) {
                this.wsgramPreffered=wsgramPreffered;
        }
 

Modified: 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/WorkflowOutputDataSettingsImpl.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/WorkflowOutputDataSettingsImpl.java?rev=1434843&r1=1434842&r2=1434843&view=diff
==============================================================================
--- 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/WorkflowOutputDataSettingsImpl.java
 (original)
+++ 
airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/impl/WorkflowOutputDataSettingsImpl.java
 Thu Jan 17 18:21:07 2013
@@ -47,8 +47,8 @@ public class WorkflowOutputDataSettingsI
        @Override
        public OutputDataSettings addNewOutputDataSettings(String nodeId,
                        String outputDataDirectory, String dataRegistryURL,
-                       boolean isDataPersistent) {
-               getOutputDataSettingsListArray().add(new 
ApplicationOutputDataSettingsImpl(nodeId, outputDataDirectory, dataRegistryURL, 
isDataPersistent));
+                       Boolean isDataPersistent) {
+               addNewOutputDataSettings(new 
ApplicationOutputDataSettingsImpl(nodeId, outputDataDirectory, dataRegistryURL, 
isDataPersistent));
                return 
getOutputDataSettingsListArray().get(getOutputDataSettingsListArray().size()-1);
        }
 
@@ -56,7 +56,6 @@ public class WorkflowOutputDataSettingsI
        public void addNewOutputDataSettings(
                        OutputDataSettings... outputDataSettings) {
                
getOutputDataSettingsListArray().addAll(Arrays.asList(outputDataSettings));
-
        }
 
        @Override
@@ -73,7 +72,7 @@ public class WorkflowOutputDataSettingsI
 
        @Override
        public OutputDataSettings addNewOutputDataSettings(String nodeId) {
-               return new ApplicationOutputDataSettingsImpl(nodeId);
+               return addNewOutputDataSettings(nodeId,null,null,null);
        }
 
 }

Modified: 
airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java?rev=1434843&r1=1434842&r2=1434843&view=diff
==============================================================================
--- 
airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java
 (original)
+++ 
airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java
 Thu Jan 17 18:21:07 2013
@@ -280,18 +280,28 @@ public class WorkflowContextHeaderBuilde
     }
 
     public WorkflowContextHeaderBuilder 
addApplicationOutputDataHandling(String nodeId, String outputDir, String 
outputDataRegistry,
-            boolean dataPersistence) {
+            Boolean dataPersistence) {
         if (this.workflowOutputDataHandling == null) {
             this.workflowOutputDataHandling = 
WorkflowOutputDataHandlingDocument.WorkflowOutputDataHandling.Factory
                     .newInstance();
         }
-        ApplicationOutputDataHandlingDocument.ApplicationOutputDataHandling 
applicationOutputDataHandling = this.workflowOutputDataHandling
-                .addNewApplicationOutputDataHandling();
-        applicationOutputDataHandling.setNodeId(nodeId);
-        applicationOutputDataHandling.setOutputDataDirectory(outputDir);
-        applicationOutputDataHandling.setDataRegistryUrl(outputDataRegistry);
-        applicationOutputDataHandling.setDataPersistance(dataPersistence);
-        return this;
+        if (nodeId!=null) {
+                       
ApplicationOutputDataHandlingDocument.ApplicationOutputDataHandling 
applicationOutputDataHandling = this.workflowOutputDataHandling
+                                       .addNewApplicationOutputDataHandling();
+                       applicationOutputDataHandling.setNodeId(nodeId);
+                       if (outputDir!=null) {
+                               
applicationOutputDataHandling.setOutputDataDirectory(outputDir);
+                       }
+                       if (outputDataRegistry!=null) {
+                               applicationOutputDataHandling
+                                               
.setDataRegistryUrl(outputDataRegistry);
+                       }
+                       if (dataPersistence!=null) {
+                               applicationOutputDataHandling
+                                               
.setDataPersistance(dataPersistence);
+                       }
+               }
+               return this;
     }
     
     /**
@@ -302,30 +312,51 @@ public class WorkflowContextHeaderBuilde
      * @return
      */
     public WorkflowContextHeaderBuilder 
addApplicationOutputDataHandling(String outputDir, String outputDataRegistry,
-            boolean dataPersistence) {
+            Boolean dataPersistence) {
         return addApplicationOutputDataHandling(null, outputDir, 
outputDataRegistry, dataPersistence);
     }
 
     public WorkflowContextHeaderBuilder addApplicationSchedulingContext(String 
workflowNodeId, String serviceId,
-            String hostName, boolean wsGramPreffered, String gateKeepersEpr, 
String jobManager, int cpuCount,
-            int nodeCount, String qName, int maxWalTime) {
+            String hostName, Boolean wsGramPreffered, String gateKeepersEpr, 
String jobManager, Integer cpuCount,
+            Integer nodeCount, String qName, Integer maxWalTime) {
         if (this.workflowSchedulingContext == null) {
             this.workflowSchedulingContext = 
WorkflowSchedulingContextDocument.WorkflowSchedulingContext.Factory
                     .newInstance();
         }
-        ApplicationSchedulingContextDocument.ApplicationSchedulingContext 
applicationSchedulingContext = this.workflowSchedulingContext
-                .addNewApplicationSchedulingContext();
-        applicationSchedulingContext.setWorkflowNodeId(workflowNodeId);
-        applicationSchedulingContext.setCpuCount(cpuCount);
-        applicationSchedulingContext.setGatekeeperEpr(gateKeepersEpr);
-        applicationSchedulingContext.setHostName(hostName);
-        applicationSchedulingContext.setJobManager(jobManager);
-        applicationSchedulingContext.setMaxWallTime(maxWalTime);
-        applicationSchedulingContext.setServiceId(serviceId);
-        applicationSchedulingContext.setNodeCount(nodeCount);
-        applicationSchedulingContext.setQueueName(qName);
-        applicationSchedulingContext.setWsgramPreferred(wsGramPreffered);
-        return this;
+        if (workflowNodeId!=null) {
+                       
ApplicationSchedulingContextDocument.ApplicationSchedulingContext 
applicationSchedulingContext = this.workflowSchedulingContext
+                                       .addNewApplicationSchedulingContext();
+                       
applicationSchedulingContext.setWorkflowNodeId(workflowNodeId);
+                       if (cpuCount!=null) {
+                               
applicationSchedulingContext.setCpuCount(cpuCount);
+                       }
+                       if (gateKeepersEpr!=null) {
+                               
applicationSchedulingContext.setGatekeeperEpr(gateKeepersEpr);
+                       }
+                       if (hostName!=null) {
+                               
applicationSchedulingContext.setHostName(hostName);
+                       }
+                       if (jobManager!=null) {
+                               
applicationSchedulingContext.setJobManager(jobManager);
+                       }
+                       if (maxWalTime!=null) {
+                               
applicationSchedulingContext.setMaxWallTime(maxWalTime);
+                       }
+                       if (serviceId!=null) {
+                               
applicationSchedulingContext.setServiceId(serviceId);
+                       }
+                       if (nodeCount!=null) {
+                               
applicationSchedulingContext.setNodeCount(nodeCount);
+                       }
+                       if (qName!=null) {
+                               
applicationSchedulingContext.setQueueName(qName);
+                       }
+                       if (wsGramPreffered!=null) {
+                               applicationSchedulingContext
+                                               
.setWsgramPreferred(wsGramPreffered);
+                       }
+               }
+               return this;
     }
 
     public static ContextHeaderDocument.ContextHeader 
removeOtherSchedulingConfig(String nodeID, ContextHeaderDocument.ContextHeader 
header) {


Reply via email to