Repository: airavata Updated Branches: refs/heads/master c29d4040b -> 61d0c7369
Handled output inclusive and exclusive properties in gsissh provider and modified games and nwchem appliation registration code Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/61d0c736 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/61d0c736 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/61d0c736 Branch: refs/heads/master Commit: 61d0c7369a68261a1018d5e6523674b23d5cd28a Parents: c29d404 Author: shamrath <[email protected]> Authored: Wed Dec 24 10:29:30 2014 -0500 Committer: shamrath <[email protected]> Committed: Wed Dec 24 10:29:30 2014 -0500 ---------------------------------------------------------------------- .../tools/RegisterSampleApplications.java | 31 +++++++++++--------- .../gfac/gsissh/util/GFACGSISSHUtils.java | 13 +++++++- 2 files changed, 29 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/61d0c736/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java index 19d0bfe..7a829fc 100644 --- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java +++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java @@ -371,7 +371,7 @@ public class RegisterSampleApplications { //Registering Lammps registerLammpsInterface(); //Registrting Gamess -// registerGamessInterface(); + registerGamessInterface(); //Registering NWChem registerNWChemInterface(); @@ -393,26 +393,26 @@ public class RegisterSampleApplications { System.out.println("#### Registering Gamess Interface #### \n"); List<String> appModules = new ArrayList<String>(); - appModules.add(gamessDescription); + appModules.add(gamessModuleId); List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>(); applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("gams_input", "", - DataType.URI, null, 1, ValidityType.REQUIRED, CommandLineType.EXCLUSIVE, false, "Gamess Input file", null)); - applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("EXT_FILE", "", - DataType.URI, null, 1, ValidityType.OPTIONAL, CommandLineType.INCLUSIVE, false, "Gamess EXT file", null)); + DataType.URI, null, 1, ValidityType.REQUIRED, CommandLineType.INCLUSIVE, false, "Gamess Input file", null)); +// applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("EXT_FILE", "", +// DataType.URI, null, 2, ValidityType.OPTIONAL, CommandLineType.EXCLUSIVE, false, "Gamess EXT file", null)); List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>(); applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("gams_output", - "", DataType.URI, ValidityType.REQUIRED, CommandLineType.EXCLUSIVE)); - applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("dat_file", "", DataType.URI, ValidityType.REQUIRED, CommandLineType.INCLUSIVE)); + applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("dat_file", + "", DataType.URI, ValidityType.REQUIRED, CommandLineType.EXCLUSIVE)); applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("trj_file", - "", DataType.URI, ValidityType.OPTIONAL, CommandLineType.INCLUSIVE)); + "", DataType.URI, ValidityType.OPTIONAL, CommandLineType.EXCLUSIVE)); applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("rst_file", - "", DataType.URI, ValidityType.OPTIONAL, CommandLineType.INCLUSIVE)); + "", DataType.URI, ValidityType.OPTIONAL, CommandLineType.EXCLUSIVE)); applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("f10_file", - "", DataType.URI, ValidityType.OPTIONAL, CommandLineType.INCLUSIVE)); + "", DataType.URI, ValidityType.OPTIONAL, CommandLineType.EXCLUSIVE)); gamessInterfaceId = airavataClient.registerApplicationInterface( @@ -710,12 +710,13 @@ public class RegisterSampleApplications { appModules.add(nwChemModuleId); InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Water_Molecule_Input", null, - DataType.URI, null, 1,null, null, false, "Water Molecule Input File - water.nw", null); + DataType.URI, null, 1,ValidityType.REQUIRED , CommandLineType.INCLUSIVE, false, "Water Molecule Input File - water.nw", null); List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>(); applicationInputs.add(input1); - OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("NWChem_Execution_Log",null,DataType.URI, null, null); + OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("NWChem_Execution_Log", + null, DataType.URI, ValidityType.REQUIRED, CommandLineType.INCLUSIVE); List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>(); applicationOutputs.add(output1); @@ -976,10 +977,12 @@ public class RegisterSampleApplications { System.out.println("LAMMPS on stampede deployment Id " + lammpsAppDeployId); //Register NWChem + List<String> nwChemModuleCmds = new ArrayList<String>(); + nwChemModuleCmds.add("module load nwchem"); String nwChemAppDeployId = airavataClient.registerApplicationDeployment( RegisterSampleApplicationsUtils.createApplicationDeployment(nwChemModuleId, stampedeResourceId, - "/home1/01437/ogce/production/app_wrappers/nwchem_wrapper.sh", ApplicationParallelismType.MPI, - nwChemDescription, null)); + "nwchem", ApplicationParallelismType.MPI, + nwChemDescription, nwChemModuleCmds)); System.out.println("NWChem on stampede deployment Id " + nwChemAppDeployId); //Register Trinity http://git-wip-us.apache.org/repos/asf/airavata/blob/61d0c736/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java index 68e0072..266c0e4 100644 --- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java +++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/util/GFACGSISSHUtils.java @@ -43,6 +43,7 @@ import org.apache.airavata.gsi.ssh.util.CommonUtils; import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription; import org.apache.airavata.model.appcatalog.appinterface.CommandLineType; import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType; +import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; import org.apache.airavata.model.appcatalog.computeresource.*; import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference; import org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling; @@ -198,7 +199,6 @@ public class GFACGSISSHUtils { List<String> inputValues = new ArrayList<String>(); MessageContext input = jobExecutionContext.getInMessageContext(); - Map<String, Object> inputs = input.getParameters(); // sort the inputs first and then build the command List Comparator<InputDataObjectType> inputOrderComparator = new Comparator<InputDataObjectType>() { @Override @@ -228,6 +228,17 @@ public class GFACGSISSHUtils { inputValues.add(inputDataObjectType.getValue()); } } + + Map<String, Object> outputParams = jobExecutionContext.getOutMessageContext().getParameters(); + for (Object outputParam : outputParams.values()) { + if (outputParam instanceof OutputDataObjectType) { + OutputDataObjectType output = (OutputDataObjectType) outputParam; + if (output.getValue() != null && !output.getValue().equals("") && output.getAddedToCommandLine() != null + && output.getAddedToCommandLine() == CommandLineType.INCLUSIVE) { + inputValues.add(output.getValue()); + } + } + } jobDescriptor.setInputValues(inputValues); jobDescriptor.setUserName(((GSISSHAbstractCluster) cluster).getServerInfo().getUserName());
