You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ms...@apache.org on 2014/11/24 16:14:21 UTC
[2/4] airavata git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/airavata
Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/airavata
Conflicts:
airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/dc1898df
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/dc1898df
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/dc1898df
Branch: refs/heads/master
Commit: dc1898dfe05465fdd1102b1f1c382540dd229f26
Parents: a838b66 f348ef4
Author: msmemon <sh...@gmail.com>
Authored: Mon Nov 24 15:44:43 2014 +0100
Committer: msmemon <sh...@gmail.com>
Committed: Mon Nov 24 15:44:43 2014 +0100
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 94 +-
.../java/org/apache/airavata/api/Airavata.java | 19662 +++++++++--------
.../main/resources/lib/airavata/Airavata.cpp | 852 +-
.../src/main/resources/lib/airavata/Airavata.h | 227 +-
.../lib/airavata/Airavata_server.skeleton.cpp | 11 +-
.../applicationInterfaceModel_types.cpp | 22 +-
.../airavata/applicationInterfaceModel_types.h | 22 +-
.../lib/airavata/computeResourceModel_types.cpp | 218 +-
.../lib/airavata/computeResourceModel_types.h | 28 +-
.../lib/airavata/experimentModel_types.cpp | 521 +-
.../lib/airavata/experimentModel_types.h | 124 +-
.../gatewayResourceProfileModel_types.cpp | 48 +-
.../gatewayResourceProfileModel_types.h | 19 +-
.../lib/airavata/messagingEvents_types.cpp | 6 +-
.../lib/airavata/messagingEvents_types.h | 9 +-
.../resources/lib/Airavata/API/Airavata.php | 562 +-
.../Model/AppCatalog/AppInterface/Types.php | 20 +-
.../Model/AppCatalog/ComputeResource/Types.php | 29 +
.../Model/AppCatalog/GatewayProfile/Types.php | 20 +-
.../Airavata/Model/Messaging/Event/Types.php | 4 +-
.../Model/Workspace/Experiment/Types.php | 171 +-
.../registerApplicationInterface.php | 2 +-
.../client/samples/CreateLaunchExperiment.java | 843 +-
.../samples/CreateLaunchExperimentUS3.java | 239 +-
.../tools/RegisterOGCEUS3Application.java | 4 +-
.../tools/RegisterSampleApplications.java | 12 +-
.../tools/RegisterSampleApplicationsUtils.java | 7 +-
.../ApplicationInterfaceDescription.java | 104 +-
.../model/appcatalog/appinterface/DataType.java | 8 +-
.../appcatalog/computeresource/MonitorMode.java | 73 +
.../computeresource/SSHJobSubmission.java | 121 +-
.../ComputeResourcePreference.java | 68 +-
.../messaging/event/TaskOutputChangeEvent.java | 40 +-
.../workspace/experiment/DataObjectType.java | 719 -
.../model/workspace/experiment/DataType.java | 71 -
.../model/workspace/experiment/Experiment.java | 76 +-
.../model/workspace/experiment/TaskDetails.java | 76 +-
.../experiment/WorkflowNodeDetails.java | 76 +-
.../model/util/ExperimentModelUtil.java | 15 +-
.../airavataAPI.thrift | 16 +-
.../applicationInterfaceModel.thrift | 6 +-
.../computeResourceModel.thrift | 19 +-
.../experimentModel.thrift | 32 +-
.../gatewayResourceProfileModel.thrift | 5 +-
.../messagingEvents.thrift | 3 +-
.../apache/airavata/client/AiravataClient.java | 14 +-
.../apache/airavata/client/api/AiravataAPI.java | 2 +-
.../airavata/client/api/ApplicationManager.java | 502 +-
.../client/api/builder/DescriptorBuilder.java | 170 +-
.../client/impl/ApplicationManagerImpl.java | 994 +-
.../airavata/client/tools/DocumentCreator.java | 1796 +-
.../client/tools/DocumentCreatorNew.java | 1612 +-
.../client/tools/DocumentCreatorUtils.java | 4 +-
.../client/tools/UltrascanDocumentCreator.java | 888 +-
.../data/impl/ApplicationInterfaceImpl.java | 65 +-
.../data/impl/GwyResourceProfileImpl.java | 19 +-
.../resources/AppModuleMappingResource.java | 29 +-
.../resources/ApplicationInputResource.java | 6 +-
.../resources/ApplicationOutputResource.java | 31 +-
.../data/util/AppCatalogThriftConversion.java | 10 +-
.../app/catalog/test/AppInterfaceTest.java | 17 +-
.../app/catalog/test/GatewayProfileTest.java | 8 +-
.../app/catalog/test/util/Initialize.java | 2 +-
.../server/src/main/resources/gfac-config.xml | 14 +-
.../src/main/assembly/bin-assembly.xml | 17 +-
modules/distribution/client/java/pom.xml | 10 +-
.../java/src/main/assembly/bin-assembly.xml | 4 +-
modules/distribution/gfac-server/pom.xml | 12 +-
.../src/main/assembly/bin-assembly.xml | 131 +-
.../src/main/assembly/bin-assembly.xml | 56 +-
modules/distribution/server/pom.xml | 10 +-
.../server/src/main/assembly/bin-assembly.xml | 4 +-
modules/distribution/xbaya-gui/pom.xml | 471 +
.../src/main/assembly/bin-assembly.xml | 101 +
.../airavata/distribution/xbaya/jnlp/Main.java | 156 +
.../xbaya-gui/src/main/resources/INSTALL | 44 +
.../xbaya-gui/src/main/resources/LICENSE | 2273 ++
.../xbaya-gui/src/main/resources/NOTICE | 163 +
.../xbaya-gui/src/main/resources/README | 101 +
.../src/main/resources/airavata-logo.gif | Bin 0 -> 13895 bytes
.../xbaya-gui/src/main/resources/bin/setenv.bat | 42 +
.../xbaya-gui/src/main/resources/bin/setenv.sh | 77 +
.../src/main/resources/bin/xbaya-gui.bat | 23 +
.../src/main/resources/bin/xbaya-gui.sh | 22 +
.../src/main/resources/conf/log4j.properties | 40 +
.../xbaya-gui/src/main/resources/jnlp/INSTALL | 48 +
.../xbaya-gui/src/main/resources/jnlp/LICENSE | 2272 ++
.../xbaya-gui/src/main/resources/jnlp/NOTICE | 163 +
.../xbaya-gui/src/main/resources/jnlp/README | 91 +
.../src/main/resources/jnlp/xbaya.jnlp | 42 +
.../xbaya-gui/src/main/resources/xbaya.jks | Bin 0 -> 2234 bytes
.../airavata/gfac/server/GfacServerHandler.java | 6 +-
.../src/main/resources/gfac-config.xml | 106 -
.../src/test/resources/gfac-config.xml | 90 -
.../gfac/bes/handlers/AbstractSMSHandler.java | 74 +-
.../gfac/bes/provider/impl/BESProvider.java | 180 +-
.../bes/security/UNICORESecurityContext.java | 4 +-
.../gfac/bes/utils/ApplicationProcessor.java | 212 +-
.../gfac-bes/src/test/resources/gfac-config.xml | 26 -
.../org/apache/airavata/gfac/Constants.java | 3 +
.../org/apache/airavata/gfac/Scheduler.java | 110 +-
.../gfac/core/context/ApplicationContext.java | 44 +-
.../gfac/core/context/JobExecutionContext.java | 215 +-
.../airavata/gfac/core/cpi/BetterGfacImpl.java | 434 +-
.../handler/AbstractRecoverableHandler.java | 4 +-
.../core/handler/AppDescriptorCheckHandler.java | 55 +-
.../airavata/gfac/core/monitor/MonitorID.java | 20 +-
.../gfac/core/provider/utils/ProviderUtils.java | 18 +-
.../airavata/gfac/core/utils/GFacUtils.java | 1047 +-
.../airavata/gfac/core/utils/OutputUtils.java | 72 +-
.../apache/airavata/job/GFacConfigXmlTest.java | 80 +-
.../src/test/resources/gfac-config.xml | 2 +-
.../apache/airavata/gfac/ec2/EC2Provider.java | 113 +-
.../airavata/gfac/ec2/EC2ProviderTest.java | 366 +-
.../gfac-ec2/src/test/resources/gfac-config.xml | 26 -
.../gfac/gram/handler/GridFTPOutputHandler.java | 5 +-
.../src/test/resources/gfac-config.xml | 36 -
.../handler/GSISSHDirectorySetupHandler.java | 24 +-
.../gfac/gsissh/handler/GSISSHInputHandler.java | 102 +-
.../gsissh/handler/GSISSHOutputHandler.java | 116 +-
.../gsissh/provider/impl/GSISSHProvider.java | 77 +-
.../gfac/gsissh/util/GFACGSISSHUtils.java | 215 +-
.../impl/GSISSHProviderTestWithMyProxyAuth.java | 465 +-
.../src/test/resources/gfac-config.xml | 33 -
.../src/test/resources/gfac-config.xml | 30 -
.../handler/LocalDirectorySetupHandler.java | 19 +-
.../gfac/local/provider/impl/LocalProvider.java | 54 +-
.../gfac/local/utils/LocalProviderUtil.java | 15 +-
.../gfac/services/impl/LocalProviderTest.java | 368 +-
.../src/test/resources/gfac-config.xml | 27 -
.../airavata/gfac/monitor/HPCMonitorID.java | 36 +-
.../airavata/gfac/monitor/HostMonitorData.java | 40 +-
.../handlers/GridPullMonitorHandler.java | 2 +-
.../monitor/impl/pull/qstat/HPCPullMonitor.java | 83 +-
.../impl/pull/qstat/ResourceConnection.java | 20 +-
.../monitor/impl/push/amqp/AMQPMonitor.java | 57 +-
.../airavata/gfac/monitor/util/CommonUtils.java | 83 +-
.../apache/airavata/job/AMQPMonitorTest.java | 64 +-
.../job/QstatMonitorTestWithMyProxyAuth.java | 344 +-
.../src/test/resources/gfac-config.xml | 65 -
.../ssh/handler/AdvancedSCPInputHandler.java | 82 +-
.../ssh/handler/AdvancedSCPOutputHandler.java | 48 +-
.../ssh/handler/SSHDirectorySetupHandler.java | 23 +-
.../gfac/ssh/handler/SSHInputHandler.java | 105 +-
.../gfac/ssh/handler/SSHOutputHandler.java | 185 +-
.../gfac/ssh/provider/impl/SSHProvider.java | 239 +-
.../airavata/gfac/ssh/util/GFACSSHUtils.java | 356 +-
.../services/impl/BigRed2TestWithSSHAuth.java | 504 +-
.../impl/SSHProviderTestWithSSHAuth.java | 342 +-
.../gfac-ssh/src/test/resources/gfac-config.xml | 51 -
modules/gfac/pom.xml | 6 +-
.../apache/airavata/integration/BaseCaseIT.java | 49 +-
.../airavata/integration/DataRetrievalIT.java | 15 +-
.../airavata/integration/SimpleEchoIT.java | 23 +-
.../integration/tools/DocumentCreatorUtils.java | 4 +-
.../src/test/resources/gfac-config.xml | 80 +-
modules/messaging/core/pom.xml | 11 +-
.../src/main/resources/gfac-config.xml | 106 -
.../src/test/resources/gfac-config.xml | 90 -
.../sample/OrchestratorClientSample.java | 22 +-
.../core/impl/GFACEmbeddedJobSubmitter.java | 2 +-
.../core/utils/OrchestratorUtils.java | 7 -
.../src/test/resources/gfac-config.xml | 104 -
modules/registry/airavata-jpa-registry/pom.xml | 10 +-
.../registry/jpa/impl/ExperimentRegistry.java | 124 +-
.../registry/jpa/impl/RegistryImpl.java | 13 +-
.../jpa/utils/ThriftDataModelConversion.java | 101 +-
modules/test-suite/pom.xml | 10 +-
modules/workflow-model/workflow-engine/pom.xml | 10 +-
.../engine/interpretor/WorkflowInterpreter.java | 81 +-
.../component/ws/WSComponentApplication.java | 2 +-
modules/xbaya-gui/pom.xml | 10 +-
.../ui/experiment/LaunchApplicationWindow.java | 58 +-
.../WorkflowInterpreterLaunchWindow.java | 17 +-
.../airavata/gsi/ssh/api/job/JobDescriptor.java | 7 +
.../apache/airavata/gsi/ssh/util/SSHUtils.java | 4 +-
176 files changed, 26791 insertions(+), 19657 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc1898df/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
----------------------------------------------------------------------
diff --cc airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
index b0ee5a0,34d419c..c5cbc79
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
@@@ -55,9 -57,15 +57,21 @@@ public class CreateLaunchExperiment
private static final String DEFAULT_GATEWAY = "default.registry.gateway";
private static Airavata.Client airavataClient;
++<<<<<<< HEAD
+ private static String echoAppId = "Echo_7405adc7-9519-4478-8529-21846b837cd3";
+ private static String wrfAppId = "WRF_d41bdc86-e280-4eb6-a045-708f69a8c116";
+ private static String amberAppId = "Amber_b23ee051-90d6-4892-827e-622a2f6c95ee";
++=======
+ private static String echoAppId = "Echo_36fbb479-5b41-4f48-a9c5-382ee910ac6b";
+ private static String wrfAppId = "WRF_7ad5da38-c08b-417c-a9ea-da9298839762";
+ private static String amberAppId = "Amber_49b16f6f-93ab-4885-9971-6ab2ab5eb3d3";
+ private static String gromacsAppId = "GROMACS_05622038-9edd-4cb1-824e-0b7cb993364b";
+ private static String espressoAppId = "ESPRESSO_10cc2820-5d0b-4c63-9546-8a8b595593c1";
+ private static String lammpsAppId = "LAMMPS_10893eb5-3840-438c-8446-d26c7ecb001f";
+ private static String nwchemAppId = "NWChem_2c8fee64-acf9-4a89-b6d3-91eb53c7640c";
+ private static String trinityAppId = "Trinity_e894acf5-9bca-46e8-a1bd-7e2d5155191a";
+ private static String autodockAppId = "AutoDock_43d9fdd0-c404-49f4-b913-3abf9080a8c9";
++>>>>>>> f348ef4c59c7f6a8c0fa347bde5b203ae17f7dde
private static String localHost = "localhost";
@@@ -206,24 -219,23 +225,41 @@@
public static String createEchoExperimentForFSD(Airavata.Client client) throws TException {
try {
++<<<<<<< HEAD
+ // these are template variables and do not need to have values, as it is a data model.
+ List<DataObjectType> exInputs = new ArrayList<DataObjectType>();
+ DataObjectType i1 = new DataObjectType();
+ i1.setKey("i1");
+ i1.setType(DataType.STRING);
+ i1.setValue("Test echo output");
+ exInputs.add(i1);
+ DataObjectType i2 = new DataObjectType();
+ i2.setKey("i2");
++=======
+ List<InputDataObjectType> exInputs = new ArrayList<InputDataObjectType>();
+ InputDataObjectType input = new InputDataObjectType();
+ input.setName("Input_to_Echo");
+ input.setType(DataType.STRING);
+ input.setValue("Echoed_Output=Hello World");
+ exInputs.add(input);
+ InputDataObjectType i2 = new InputDataObjectType();
+ i2.setName("Input_to_Echo1");
++>>>>>>> f348ef4c59c7f6a8c0fa347bde5b203ae17f7dde
i2.setType(DataType.URI);
- i2.setValue("http://shrib.com/22QmrrX4");
+ i2.setValue("http://textfiles.com/art/152614.txt");
exInputs.add(i2);
++<<<<<<< HEAD
+ List<DataObjectType> exOut = new ArrayList<DataObjectType>();
+ DataObjectType output = new DataObjectType();
+ output.setKey("o1");
++=======
+ List<OutputDataObjectType> exOut = new ArrayList<OutputDataObjectType>();
+ OutputDataObjectType output = new OutputDataObjectType();
+ output.setName("Echoed_Output");
++>>>>>>> f348ef4c59c7f6a8c0fa347bde5b203ae17f7dde
output.setType(DataType.STRING);
- output.setValue("22QmrrX4");
+ output.setValue("152614.txt");
exOut.add(output);
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc1898df/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
----------------------------------------------------------------------
diff --cc airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
index d9ccebb,41020a0..6e1bb20
--- 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
@@@ -529,19 -529,14 +529,21 @@@ public class RegisterSampleApplication
List<String> appModules = new ArrayList<String>();
appModules.add(echoModuleId);
- InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Input_to_Echo", "Hello World",
+ InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("i1", "",
DataType.STRING, null, false, "A test string to Echo", null);
++<<<<<<< HEAD
+ InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("i2", "",
+ DataType.URI, null, false, "A test uri to Echo", null);
+
+
++=======
++>>>>>>> f348ef4c59c7f6a8c0fa347bde5b203ae17f7dde
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
- applicationInputs.add(input2);
- OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("Echoed_Output",
- "22QmrrX4", DataType.STRING);
+ OutputDataObjectType output1 = RegisterSampleApplicationsUtils.createAppOutput("o1",
+ "", DataType.STRING);
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
applicationOutputs.add(output1);
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc1898df/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java
----------------------------------------------------------------------
diff --cc modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java
index 044ffa2,964e6d1..b0fa422
--- a/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java
+++ b/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java
@@@ -101,9 -105,170 +105,170 @@@ public class BESProvider extends Abstra
public void execute(JobExecutionContext jobExecutionContext)
throws GFacProviderException, GFacException {
-<<<<<<< HEAD
++
+ StorageClient sc = null;
+ try {
+ JobSubmissionInterface preferredJobSubmissionInterface = jobExecutionContext.getPreferredJobSubmissionInterface();
+ JobSubmissionProtocol protocol = preferredJobSubmissionInterface.getJobSubmissionProtocol();
+ String interfaceId = preferredJobSubmissionInterface.getJobSubmissionInterfaceId();
+ String factoryUrl = null;
+ if (protocol.equals(JobSubmissionProtocol.UNICORE)) {
+ UnicoreJobSubmission unicoreJobSubmission = GFacUtils.getUnicoreJobSubmission(interfaceId);
+ factoryUrl = unicoreJobSubmission.getUnicoreEndPointURL();
+ }
+ EndpointReferenceType eprt = EndpointReferenceType.Factory
+ .newInstance();
+ eprt.addNewAddress().setStringValue(factoryUrl);
+ String userDN = getUserName(jobExecutionContext);
+
+ // TODO: to be removed
+ if (userDN == null || userDN.equalsIgnoreCase("admin")) {
+ userDN = "CN=zdv575, O=Ultrascan Gateway, C=DE";
+ }
+ CreateActivityDocument cad = CreateActivityDocument.Factory
+ .newInstance();
+ JobDefinitionDocument jobDefDoc = JobDefinitionDocument.Factory
+ .newInstance();
+
+ // create storage
+ StorageCreator storageCreator = new StorageCreator(secProperties,
+ factoryUrl, 5, null);
+ sc = storageCreator.createStorage();
+
+ JobDefinitionType jobDefinition = JSDLGenerator.buildJSDLInstance(
+ jobExecutionContext, sc.getUrl()).getJobDefinition();
+ cad.addNewCreateActivity().addNewActivityDocument()
+ .setJobDefinition(jobDefinition);
+ log.info("JSDL" + jobDefDoc.toString());
+
+ // upload files if any
+ DataTransferrer dt = new DataTransferrer(jobExecutionContext, sc);
+ dt.uploadLocalFiles();
+
+ JobDetails jobDetails = new JobDetails();
+ FactoryClient factory = new FactoryClient(eprt, secProperties);
+
+ log.info(String.format("Activity Submitting to %s ... \n",
+ factoryUrl));
+ jobExecutionContext.getNotifier().publish(new StartExecutionEvent());
+ CreateActivityResponseDocument response = factory.createActivity(cad);
+ log.info(String.format("Activity Submitted to %s \n", factoryUrl));
+
+ EndpointReferenceType activityEpr = response.getCreateActivityResponse().getActivityIdentifier();
+
+ log.info("Activity : " + activityEpr.getAddress().getStringValue() + " Submitted.");
+
+ // factory.waitWhileActivityIsDone(activityEpr, 1000);
+ jobId = WSUtilities.extractResourceID(activityEpr);
+ if (jobId == null) {
+ jobId = new Long(Calendar.getInstance().getTimeInMillis())
+ .toString();
+ }
+ log.info("JobID: " + jobId);
+ jobDetails.setJobID(activityEpr.toString());
+ jobDetails.setJobDescription(activityEpr.toString());
+
+ jobExecutionContext.setJobDetails(jobDetails);
+ log.info(formatStatusMessage(activityEpr.getAddress()
+ .getStringValue(), factory.getActivityStatus(activityEpr)
+ .toString()));
+
+ jobExecutionContext.getNotifier().publish(new UnicoreJobIDEvent(jobId));
+ GFacUtils.saveJobStatus(jobExecutionContext, details, JobState.SUBMITTED);
+
+ factory.getActivityStatus(activityEpr);
+ log.info(formatStatusMessage(activityEpr.getAddress()
+ .getStringValue(), factory.getActivityStatus(activityEpr)
+ .toString()));
+
+ // TODO publish the status messages to the message bus
+ while ((factory.getActivityStatus(activityEpr) != ActivityStateEnumeration.FINISHED)
+ && (factory.getActivityStatus(activityEpr) != ActivityStateEnumeration.FAILED)
+ && (factory.getActivityStatus(activityEpr) != ActivityStateEnumeration.CANCELLED)) {
+
+ ActivityStatusType activityStatus = getStatus(factory, activityEpr);
+ JobState applicationJobStatus = getApplicationJobStatus(activityStatus);
+ String jobStatusMessage = "Status of job " + jobId + "is "
+ + applicationJobStatus;
+ GFacUtils.updateJobStatus(jobExecutionContext, jobDetails,
+ applicationJobStatus);
+
+ jobExecutionContext.getNotifier().publish(
+ new StatusChangeEvent(jobStatusMessage));
+
+ // GFacUtils.updateApplicationJobStatus(jobExecutionContext,jobId,
+ // applicationJobStatus);
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ }
+ continue;
+ }
+
+ ActivityStatusType activityStatus = null;
+ activityStatus = getStatus(factory, activityEpr);
+ log.info(formatStatusMessage(activityEpr.getAddress().getStringValue(), activityStatus.getState().toString()));
+ ActivityClient activityClient;
+ activityClient = new ActivityClient(activityEpr, secProperties);
+ dt.setStorageClient(activityClient.getUspaceClient());
+
+ if ((activityStatus.getState() == ActivityStateEnumeration.FAILED)) {
+ String error = activityStatus.getFault().getFaultcode()
+ .getLocalPart()
+ + "\n"
+ + activityStatus.getFault().getFaultstring()
+ + "\n EXITCODE: " + activityStatus.getExitCode();
+ log.info(error);
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ }
+ dt.downloadStdOuts();
+ } else if (activityStatus.getState() == ActivityStateEnumeration.CANCELLED) {
+ JobState applicationJobStatus = JobState.CANCELED;
+ String jobStatusMessage = "Status of job " + jobId + "is "
+ + applicationJobStatus;
+ jobExecutionContext.getNotifier().publish(
+ new StatusChangeEvent(jobStatusMessage));
+ GFacUtils.updateJobStatus(jobExecutionContext, jobDetails,
+ applicationJobStatus);
+ throw new GFacProviderException(
+ jobExecutionContext.getExperimentID() + "Job Canceled");
+ } else if (activityStatus.getState() == ActivityStateEnumeration.FINISHED) {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ }
+ if (activityStatus.getExitCode() == 0) {
+ dt.downloadRemoteFiles();
+ } else {
+ dt.downloadStdOuts();
+ }
+ }
+ } catch (AppCatalogException e) {
+ log.error("Error while retrieving UNICORE job submission..");
+ throw new GFacProviderException("Error while retrieving UNICORE job submission..", e);
+ } catch (Exception e) {
+ log.error("Cannot create storage..");
+ throw new GFacProviderException("Cannot create storage..", e);
+ } finally {
+ // destroy sms instance
+ try {
+ if (sc != null) {
+ sc.destroy();
+ }
+ } catch (Exception e) {
+ log.warn(
+ "Cannot destroy temporary SMS instance:" + sc.getUrl(),
+ e);
+ }
+ }
+
+ }
-=======
++
UnicoreHostType host = (UnicoreHostType) jobExecutionContext
.getApplicationContext().getHostDescription().getType();
--
++
String factoryUrl = host.getUnicoreBESEndPointArray()[0];
EndpointReferenceType eprt = EndpointReferenceType.Factory
@@@ -304,7 -469,8 +469,8 @@@
}
}
->>>>>>> f7de359dcae3694912248e50a1a2fd5e30fc613e
+
+
private JobState getApplicationJobStatus(ActivityStatusType activityStatus) {
if (activityStatus == null) {
return JobState.UNKNOWN;
Re: [2/4] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata
Posted by Shameera Rathnayaka <sh...@gmail.com>.
Hi msmemon,
This commit break the build - compilation error, Seems you haven't resolve
merge conflicts.
Thanks,
Shameera.
On Mon, Nov 24, 2014 at 10:14 AM, <ms...@apache.org> wrote:
> Merge branch 'master' of
> https://git-wip-us.apache.org/repos/asf/airavata
>
> Conflicts:
>
> airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
>
> airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
>
>
> Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
> Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/dc1898df
> Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/dc1898df
> Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/dc1898df
>
> Branch: refs/heads/master
> Commit: dc1898dfe05465fdd1102b1f1c382540dd229f26
> Parents: a838b66 f348ef4
> Author: msmemon <sh...@gmail.com>
> Authored: Mon Nov 24 15:44:43 2014 +0100
> Committer: msmemon <sh...@gmail.com>
> Committed: Mon Nov 24 15:44:43 2014 +0100
>
> ----------------------------------------------------------------------
> .../server/handler/AiravataServerHandler.java | 94 +-
> .../java/org/apache/airavata/api/Airavata.java | 19662 +++++++++--------
> .../main/resources/lib/airavata/Airavata.cpp | 852 +-
> .../src/main/resources/lib/airavata/Airavata.h | 227 +-
> .../lib/airavata/Airavata_server.skeleton.cpp | 11 +-
> .../applicationInterfaceModel_types.cpp | 22 +-
> .../airavata/applicationInterfaceModel_types.h | 22 +-
> .../lib/airavata/computeResourceModel_types.cpp | 218 +-
> .../lib/airavata/computeResourceModel_types.h | 28 +-
> .../lib/airavata/experimentModel_types.cpp | 521 +-
> .../lib/airavata/experimentModel_types.h | 124 +-
> .../gatewayResourceProfileModel_types.cpp | 48 +-
> .../gatewayResourceProfileModel_types.h | 19 +-
> .../lib/airavata/messagingEvents_types.cpp | 6 +-
> .../lib/airavata/messagingEvents_types.h | 9 +-
> .../resources/lib/Airavata/API/Airavata.php | 562 +-
> .../Model/AppCatalog/AppInterface/Types.php | 20 +-
> .../Model/AppCatalog/ComputeResource/Types.php | 29 +
> .../Model/AppCatalog/GatewayProfile/Types.php | 20 +-
> .../Airavata/Model/Messaging/Event/Types.php | 4 +-
> .../Model/Workspace/Experiment/Types.php | 171 +-
> .../registerApplicationInterface.php | 2 +-
> .../client/samples/CreateLaunchExperiment.java | 843 +-
> .../samples/CreateLaunchExperimentUS3.java | 239 +-
> .../tools/RegisterOGCEUS3Application.java | 4 +-
> .../tools/RegisterSampleApplications.java | 12 +-
> .../tools/RegisterSampleApplicationsUtils.java | 7 +-
> .../ApplicationInterfaceDescription.java | 104 +-
> .../model/appcatalog/appinterface/DataType.java | 8 +-
> .../appcatalog/computeresource/MonitorMode.java | 73 +
> .../computeresource/SSHJobSubmission.java | 121 +-
> .../ComputeResourcePreference.java | 68 +-
> .../messaging/event/TaskOutputChangeEvent.java | 40 +-
> .../workspace/experiment/DataObjectType.java | 719 -
> .../model/workspace/experiment/DataType.java | 71 -
> .../model/workspace/experiment/Experiment.java | 76 +-
> .../model/workspace/experiment/TaskDetails.java | 76 +-
> .../experiment/WorkflowNodeDetails.java | 76 +-
> .../model/util/ExperimentModelUtil.java | 15 +-
> .../airavataAPI.thrift | 16 +-
> .../applicationInterfaceModel.thrift | 6 +-
> .../computeResourceModel.thrift | 19 +-
> .../experimentModel.thrift | 32 +-
> .../gatewayResourceProfileModel.thrift | 5 +-
> .../messagingEvents.thrift | 3 +-
> .../apache/airavata/client/AiravataClient.java | 14 +-
> .../apache/airavata/client/api/AiravataAPI.java | 2 +-
> .../airavata/client/api/ApplicationManager.java | 502 +-
> .../client/api/builder/DescriptorBuilder.java | 170 +-
> .../client/impl/ApplicationManagerImpl.java | 994 +-
> .../airavata/client/tools/DocumentCreator.java | 1796 +-
> .../client/tools/DocumentCreatorNew.java | 1612 +-
> .../client/tools/DocumentCreatorUtils.java | 4 +-
> .../client/tools/UltrascanDocumentCreator.java | 888 +-
> .../data/impl/ApplicationInterfaceImpl.java | 65 +-
> .../data/impl/GwyResourceProfileImpl.java | 19 +-
> .../resources/AppModuleMappingResource.java | 29 +-
> .../resources/ApplicationInputResource.java | 6 +-
> .../resources/ApplicationOutputResource.java | 31 +-
> .../data/util/AppCatalogThriftConversion.java | 10 +-
> .../app/catalog/test/AppInterfaceTest.java | 17 +-
> .../app/catalog/test/GatewayProfileTest.java | 8 +-
> .../app/catalog/test/util/Initialize.java | 2 +-
> .../server/src/main/resources/gfac-config.xml | 14 +-
> .../src/main/assembly/bin-assembly.xml | 17 +-
> modules/distribution/client/java/pom.xml | 10 +-
> .../java/src/main/assembly/bin-assembly.xml | 4 +-
> modules/distribution/gfac-server/pom.xml | 12 +-
> .../src/main/assembly/bin-assembly.xml | 131 +-
> .../src/main/assembly/bin-assembly.xml | 56 +-
> modules/distribution/server/pom.xml | 10 +-
> .../server/src/main/assembly/bin-assembly.xml | 4 +-
> modules/distribution/xbaya-gui/pom.xml | 471 +
> .../src/main/assembly/bin-assembly.xml | 101 +
> .../airavata/distribution/xbaya/jnlp/Main.java | 156 +
> .../xbaya-gui/src/main/resources/INSTALL | 44 +
> .../xbaya-gui/src/main/resources/LICENSE | 2273 ++
> .../xbaya-gui/src/main/resources/NOTICE | 163 +
> .../xbaya-gui/src/main/resources/README | 101 +
> .../src/main/resources/airavata-logo.gif | Bin 0 -> 13895 bytes
> .../xbaya-gui/src/main/resources/bin/setenv.bat | 42 +
> .../xbaya-gui/src/main/resources/bin/setenv.sh | 77 +
> .../src/main/resources/bin/xbaya-gui.bat | 23 +
> .../src/main/resources/bin/xbaya-gui.sh | 22 +
> .../src/main/resources/conf/log4j.properties | 40 +
> .../xbaya-gui/src/main/resources/jnlp/INSTALL | 48 +
> .../xbaya-gui/src/main/resources/jnlp/LICENSE | 2272 ++
> .../xbaya-gui/src/main/resources/jnlp/NOTICE | 163 +
> .../xbaya-gui/src/main/resources/jnlp/README | 91 +
> .../src/main/resources/jnlp/xbaya.jnlp | 42 +
> .../xbaya-gui/src/main/resources/xbaya.jks | Bin 0 -> 2234 bytes
> .../airavata/gfac/server/GfacServerHandler.java | 6 +-
> .../src/main/resources/gfac-config.xml | 106 -
> .../src/test/resources/gfac-config.xml | 90 -
> .../gfac/bes/handlers/AbstractSMSHandler.java | 74 +-
> .../gfac/bes/provider/impl/BESProvider.java | 180 +-
> .../bes/security/UNICORESecurityContext.java | 4 +-
> .../gfac/bes/utils/ApplicationProcessor.java | 212 +-
> .../gfac-bes/src/test/resources/gfac-config.xml | 26 -
> .../org/apache/airavata/gfac/Constants.java | 3 +
> .../org/apache/airavata/gfac/Scheduler.java | 110 +-
> .../gfac/core/context/ApplicationContext.java | 44 +-
> .../gfac/core/context/JobExecutionContext.java | 215 +-
> .../airavata/gfac/core/cpi/BetterGfacImpl.java | 434 +-
> .../handler/AbstractRecoverableHandler.java | 4 +-
> .../core/handler/AppDescriptorCheckHandler.java | 55 +-
> .../airavata/gfac/core/monitor/MonitorID.java | 20 +-
> .../gfac/core/provider/utils/ProviderUtils.java | 18 +-
> .../airavata/gfac/core/utils/GFacUtils.java | 1047 +-
> .../airavata/gfac/core/utils/OutputUtils.java | 72 +-
> .../apache/airavata/job/GFacConfigXmlTest.java | 80 +-
> .../src/test/resources/gfac-config.xml | 2 +-
> .../apache/airavata/gfac/ec2/EC2Provider.java | 113 +-
> .../airavata/gfac/ec2/EC2ProviderTest.java | 366 +-
> .../gfac-ec2/src/test/resources/gfac-config.xml | 26 -
> .../gfac/gram/handler/GridFTPOutputHandler.java | 5 +-
> .../src/test/resources/gfac-config.xml | 36 -
> .../handler/GSISSHDirectorySetupHandler.java | 24 +-
> .../gfac/gsissh/handler/GSISSHInputHandler.java | 102 +-
> .../gsissh/handler/GSISSHOutputHandler.java | 116 +-
> .../gsissh/provider/impl/GSISSHProvider.java | 77 +-
> .../gfac/gsissh/util/GFACGSISSHUtils.java | 215 +-
> .../impl/GSISSHProviderTestWithMyProxyAuth.java | 465 +-
> .../src/test/resources/gfac-config.xml | 33 -
> .../src/test/resources/gfac-config.xml | 30 -
> .../handler/LocalDirectorySetupHandler.java | 19 +-
> .../gfac/local/provider/impl/LocalProvider.java | 54 +-
> .../gfac/local/utils/LocalProviderUtil.java | 15 +-
> .../gfac/services/impl/LocalProviderTest.java | 368 +-
> .../src/test/resources/gfac-config.xml | 27 -
> .../airavata/gfac/monitor/HPCMonitorID.java | 36 +-
> .../airavata/gfac/monitor/HostMonitorData.java | 40 +-
> .../handlers/GridPullMonitorHandler.java | 2 +-
> .../monitor/impl/pull/qstat/HPCPullMonitor.java | 83 +-
> .../impl/pull/qstat/ResourceConnection.java | 20 +-
> .../monitor/impl/push/amqp/AMQPMonitor.java | 57 +-
> .../airavata/gfac/monitor/util/CommonUtils.java | 83 +-
> .../apache/airavata/job/AMQPMonitorTest.java | 64 +-
> .../job/QstatMonitorTestWithMyProxyAuth.java | 344 +-
> .../src/test/resources/gfac-config.xml | 65 -
> .../ssh/handler/AdvancedSCPInputHandler.java | 82 +-
> .../ssh/handler/AdvancedSCPOutputHandler.java | 48 +-
> .../ssh/handler/SSHDirectorySetupHandler.java | 23 +-
> .../gfac/ssh/handler/SSHInputHandler.java | 105 +-
> .../gfac/ssh/handler/SSHOutputHandler.java | 185 +-
> .../gfac/ssh/provider/impl/SSHProvider.java | 239 +-
> .../airavata/gfac/ssh/util/GFACSSHUtils.java | 356 +-
> .../services/impl/BigRed2TestWithSSHAuth.java | 504 +-
> .../impl/SSHProviderTestWithSSHAuth.java | 342 +-
> .../gfac-ssh/src/test/resources/gfac-config.xml | 51 -
> modules/gfac/pom.xml | 6 +-
> .../apache/airavata/integration/BaseCaseIT.java | 49 +-
> .../airavata/integration/DataRetrievalIT.java | 15 +-
> .../airavata/integration/SimpleEchoIT.java | 23 +-
> .../integration/tools/DocumentCreatorUtils.java | 4 +-
> .../src/test/resources/gfac-config.xml | 80 +-
> modules/messaging/core/pom.xml | 11 +-
> .../src/main/resources/gfac-config.xml | 106 -
> .../src/test/resources/gfac-config.xml | 90 -
> .../sample/OrchestratorClientSample.java | 22 +-
> .../core/impl/GFACEmbeddedJobSubmitter.java | 2 +-
> .../core/utils/OrchestratorUtils.java | 7 -
> .../src/test/resources/gfac-config.xml | 104 -
> modules/registry/airavata-jpa-registry/pom.xml | 10 +-
> .../registry/jpa/impl/ExperimentRegistry.java | 124 +-
> .../registry/jpa/impl/RegistryImpl.java | 13 +-
> .../jpa/utils/ThriftDataModelConversion.java | 101 +-
> modules/test-suite/pom.xml | 10 +-
> modules/workflow-model/workflow-engine/pom.xml | 10 +-
> .../engine/interpretor/WorkflowInterpreter.java | 81 +-
> .../component/ws/WSComponentApplication.java | 2 +-
> modules/xbaya-gui/pom.xml | 10 +-
> .../ui/experiment/LaunchApplicationWindow.java | 58 +-
> .../WorkflowInterpreterLaunchWindow.java | 17 +-
> .../airavata/gsi/ssh/api/job/JobDescriptor.java | 7 +
> .../apache/airavata/gsi/ssh/util/SSHUtils.java | 4 +-
> 176 files changed, 26791 insertions(+), 19657 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/airavata/blob/dc1898df/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
> ----------------------------------------------------------------------
> diff --cc
> airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
> index b0ee5a0,34d419c..c5cbc79
> ---
> a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
> +++
> b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
> @@@ -55,9 -57,15 +57,21 @@@ public class CreateLaunchExperiment
> private static final String DEFAULT_GATEWAY =
> "default.registry.gateway";
> private static Airavata.Client airavataClient;
>
> ++<<<<<<< HEAD
> + private static String echoAppId =
> "Echo_7405adc7-9519-4478-8529-21846b837cd3";
> + private static String wrfAppId =
> "WRF_d41bdc86-e280-4eb6-a045-708f69a8c116";
> + private static String amberAppId =
> "Amber_b23ee051-90d6-4892-827e-622a2f6c95ee";
> ++=======
> + private static String echoAppId =
> "Echo_36fbb479-5b41-4f48-a9c5-382ee910ac6b";
> + private static String wrfAppId =
> "WRF_7ad5da38-c08b-417c-a9ea-da9298839762";
> + private static String amberAppId =
> "Amber_49b16f6f-93ab-4885-9971-6ab2ab5eb3d3";
> + private static String gromacsAppId =
> "GROMACS_05622038-9edd-4cb1-824e-0b7cb993364b";
> + private static String espressoAppId =
> "ESPRESSO_10cc2820-5d0b-4c63-9546-8a8b595593c1";
> + private static String lammpsAppId =
> "LAMMPS_10893eb5-3840-438c-8446-d26c7ecb001f";
> + private static String nwchemAppId =
> "NWChem_2c8fee64-acf9-4a89-b6d3-91eb53c7640c";
> + private static String trinityAppId =
> "Trinity_e894acf5-9bca-46e8-a1bd-7e2d5155191a";
> + private static String autodockAppId =
> "AutoDock_43d9fdd0-c404-49f4-b913-3abf9080a8c9";
> ++>>>>>>> f348ef4c59c7f6a8c0fa347bde5b203ae17f7dde
>
>
> private static String localHost = "localhost";
> @@@ -206,24 -219,23 +225,41 @@@
>
> public static String createEchoExperimentForFSD(Airavata.Client
> client) throws TException {
> try {
> ++<<<<<<< HEAD
> + // these are template variables and do not need to have
> values, as it is a data model.
> + List<DataObjectType> exInputs = new
> ArrayList<DataObjectType>();
> + DataObjectType i1 = new DataObjectType();
> + i1.setKey("i1");
> + i1.setType(DataType.STRING);
> + i1.setValue("Test echo output");
> + exInputs.add(i1);
> + DataObjectType i2 = new DataObjectType();
> + i2.setKey("i2");
> ++=======
> + List<InputDataObjectType> exInputs = new
> ArrayList<InputDataObjectType>();
> + InputDataObjectType input = new InputDataObjectType();
> + input.setName("Input_to_Echo");
> + input.setType(DataType.STRING);
> + input.setValue("Echoed_Output=Hello World");
> + exInputs.add(input);
> + InputDataObjectType i2 = new InputDataObjectType();
> + i2.setName("Input_to_Echo1");
> ++>>>>>>> f348ef4c59c7f6a8c0fa347bde5b203ae17f7dde
> i2.setType(DataType.URI);
> - i2.setValue("http://shrib.com/22QmrrX4");
> + i2.setValue("http://textfiles.com/art/152614.txt");
> exInputs.add(i2);
>
> ++<<<<<<< HEAD
> + List<DataObjectType> exOut = new ArrayList<DataObjectType>();
> + DataObjectType output = new DataObjectType();
> + output.setKey("o1");
> ++=======
> + List<OutputDataObjectType> exOut = new
> ArrayList<OutputDataObjectType>();
> + OutputDataObjectType output = new OutputDataObjectType();
> + output.setName("Echoed_Output");
> ++>>>>>>> f348ef4c59c7f6a8c0fa347bde5b203ae17f7dde
> output.setType(DataType.STRING);
> - output.setValue("22QmrrX4");
> + output.setValue("152614.txt");
> exOut.add(output);
>
>
>
>
> http://git-wip-us.apache.org/repos/asf/airavata/blob/dc1898df/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
> ----------------------------------------------------------------------
> diff --cc
> airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
> index d9ccebb,41020a0..6e1bb20
> ---
> 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
> @@@ -529,19 -529,14 +529,21 @@@ public class RegisterSampleApplication
> List<String> appModules = new ArrayList<String>();
> appModules.add(echoModuleId);
>
> - InputDataObjectType input1 =
> RegisterSampleApplicationsUtils.createAppInput("Input_to_Echo", "Hello
> World",
> + InputDataObjectType input1 =
> RegisterSampleApplicationsUtils.createAppInput("i1", "",
> DataType.STRING, null, false, "A test string to
> Echo", null);
>
> ++<<<<<<< HEAD
> + InputDataObjectType input2 =
> RegisterSampleApplicationsUtils.createAppInput("i2", "",
> + DataType.URI, null, false, "A test uri to Echo",
> null);
> +
> +
> ++=======
> ++>>>>>>> f348ef4c59c7f6a8c0fa347bde5b203ae17f7dde
> List<InputDataObjectType> applicationInputs = new
> ArrayList<InputDataObjectType>();
> applicationInputs.add(input1);
> - applicationInputs.add(input2);
>
> - OutputDataObjectType output1 =
> RegisterSampleApplicationsUtils.createAppOutput("Echoed_Output",
> - "22QmrrX4", DataType.STRING);
> + OutputDataObjectType output1 =
> RegisterSampleApplicationsUtils.createAppOutput("o1",
> + "", DataType.STRING);
>
> List<OutputDataObjectType> applicationOutputs = new
> ArrayList<OutputDataObjectType>();
> applicationOutputs.add(output1);
>
>
> http://git-wip-us.apache.org/repos/asf/airavata/blob/dc1898df/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java
> ----------------------------------------------------------------------
> diff --cc
> modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java
> index 044ffa2,964e6d1..b0fa422
> ---
> a/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java
> +++
> b/modules/gfac/gfac-bes/src/main/java/org/apache/airavata/gfac/bes/provider/impl/BESProvider.java
> @@@ -101,9 -105,170 +105,170 @@@ public class BESProvider extends Abstra
>
> public void execute(JobExecutionContext jobExecutionContext)
> throws GFacProviderException, GFacException {
> -<<<<<<< HEAD
> ++
> + StorageClient sc = null;
> + try {
> + JobSubmissionInterface preferredJobSubmissionInterface =
> jobExecutionContext.getPreferredJobSubmissionInterface();
> + JobSubmissionProtocol protocol =
> preferredJobSubmissionInterface.getJobSubmissionProtocol();
> + String interfaceId =
> preferredJobSubmissionInterface.getJobSubmissionInterfaceId();
> + String factoryUrl = null;
> + if (protocol.equals(JobSubmissionProtocol.UNICORE)) {
> + UnicoreJobSubmission unicoreJobSubmission =
> GFacUtils.getUnicoreJobSubmission(interfaceId);
> + factoryUrl =
> unicoreJobSubmission.getUnicoreEndPointURL();
> + }
> + EndpointReferenceType eprt = EndpointReferenceType.Factory
> + .newInstance();
> + eprt.addNewAddress().setStringValue(factoryUrl);
> + String userDN = getUserName(jobExecutionContext);
> +
> + // TODO: to be removed
> + if (userDN == null || userDN.equalsIgnoreCase("admin")) {
> + userDN = "CN=zdv575, O=Ultrascan Gateway, C=DE";
> + }
> + CreateActivityDocument cad = CreateActivityDocument.Factory
> + .newInstance();
> + JobDefinitionDocument jobDefDoc =
> JobDefinitionDocument.Factory
> + .newInstance();
> +
> + // create storage
> + StorageCreator storageCreator = new
> StorageCreator(secProperties,
> + factoryUrl, 5, null);
> + sc = storageCreator.createStorage();
> +
> + JobDefinitionType jobDefinition =
> JSDLGenerator.buildJSDLInstance(
> + jobExecutionContext, sc.getUrl()).getJobDefinition();
> + cad.addNewCreateActivity().addNewActivityDocument()
> + .setJobDefinition(jobDefinition);
> + log.info("JSDL" + jobDefDoc.toString());
> +
> + // upload files if any
> + DataTransferrer dt = new
> DataTransferrer(jobExecutionContext, sc);
> + dt.uploadLocalFiles();
> +
> + JobDetails jobDetails = new JobDetails();
> + FactoryClient factory = new FactoryClient(eprt,
> secProperties);
> +
> + log.info(String.format("Activity Submitting to %s ... \n",
> + factoryUrl));
> + jobExecutionContext.getNotifier().publish(new
> StartExecutionEvent());
> + CreateActivityResponseDocument response =
> factory.createActivity(cad);
> + log.info(String.format("Activity Submitted to %s \n",
> factoryUrl));
> +
> + EndpointReferenceType activityEpr =
> response.getCreateActivityResponse().getActivityIdentifier();
> +
> + log.info("Activity : " +
> activityEpr.getAddress().getStringValue() + " Submitted.");
> +
> + // factory.waitWhileActivityIsDone(activityEpr, 1000);
> + jobId = WSUtilities.extractResourceID(activityEpr);
> + if (jobId == null) {
> + jobId = new
> Long(Calendar.getInstance().getTimeInMillis())
> + .toString();
> + }
> + log.info("JobID: " + jobId);
> + jobDetails.setJobID(activityEpr.toString());
> + jobDetails.setJobDescription(activityEpr.toString());
> +
> + jobExecutionContext.setJobDetails(jobDetails);
> + log.info(formatStatusMessage(activityEpr.getAddress()
> + .getStringValue(),
> factory.getActivityStatus(activityEpr)
> + .toString()));
> +
> + jobExecutionContext.getNotifier().publish(new
> UnicoreJobIDEvent(jobId));
> + GFacUtils.saveJobStatus(jobExecutionContext, details,
> JobState.SUBMITTED);
> +
> + factory.getActivityStatus(activityEpr);
> + log.info(formatStatusMessage(activityEpr.getAddress()
> + .getStringValue(),
> factory.getActivityStatus(activityEpr)
> + .toString()));
> +
> + // TODO publish the status messages to the message bus
> + while ((factory.getActivityStatus(activityEpr) !=
> ActivityStateEnumeration.FINISHED)
> + && (factory.getActivityStatus(activityEpr) !=
> ActivityStateEnumeration.FAILED)
> + && (factory.getActivityStatus(activityEpr) !=
> ActivityStateEnumeration.CANCELLED)) {
> +
> + ActivityStatusType activityStatus = getStatus(factory,
> activityEpr);
> + JobState applicationJobStatus =
> getApplicationJobStatus(activityStatus);
> + String jobStatusMessage = "Status of job " + jobId + "is
> "
> + + applicationJobStatus;
> + GFacUtils.updateJobStatus(jobExecutionContext,
> jobDetails,
> + applicationJobStatus);
> +
> + jobExecutionContext.getNotifier().publish(
> + new StatusChangeEvent(jobStatusMessage));
> +
> + //
> GFacUtils.updateApplicationJobStatus(jobExecutionContext,jobId,
> + // applicationJobStatus);
> + try {
> + Thread.sleep(5000);
> + } catch (InterruptedException e) {
> + }
> + continue;
> + }
> +
> + ActivityStatusType activityStatus = null;
> + activityStatus = getStatus(factory, activityEpr);
> + log.info(formatStatusMessage(activityEpr.getAddress().getStringValue(),
> activityStatus.getState().toString()));
> + ActivityClient activityClient;
> + activityClient = new ActivityClient(activityEpr,
> secProperties);
> + dt.setStorageClient(activityClient.getUspaceClient());
> +
> + if ((activityStatus.getState() ==
> ActivityStateEnumeration.FAILED)) {
> + String error = activityStatus.getFault().getFaultcode()
> + .getLocalPart()
> + + "\n"
> + + activityStatus.getFault().getFaultstring()
> + + "\n EXITCODE: " + activityStatus.getExitCode();
> + log.info(error);
> + try {
> + Thread.sleep(5000);
> + } catch (InterruptedException e) {
> + }
> + dt.downloadStdOuts();
> + } else if (activityStatus.getState() ==
> ActivityStateEnumeration.CANCELLED) {
> + JobState applicationJobStatus = JobState.CANCELED;
> + String jobStatusMessage = "Status of job " + jobId + "is
> "
> + + applicationJobStatus;
> + jobExecutionContext.getNotifier().publish(
> + new StatusChangeEvent(jobStatusMessage));
> + GFacUtils.updateJobStatus(jobExecutionContext,
> jobDetails,
> + applicationJobStatus);
> + throw new GFacProviderException(
> + jobExecutionContext.getExperimentID() + "Job
> Canceled");
> + } else if (activityStatus.getState() ==
> ActivityStateEnumeration.FINISHED) {
> + try {
> + Thread.sleep(5000);
> + } catch (InterruptedException e) {
> + }
> + if (activityStatus.getExitCode() == 0) {
> + dt.downloadRemoteFiles();
> + } else {
> + dt.downloadStdOuts();
> + }
> + }
> + } catch (AppCatalogException e) {
> + log.error("Error while retrieving UNICORE job submission..");
> + throw new GFacProviderException("Error while retrieving
> UNICORE job submission..", e);
> + } catch (Exception e) {
> + log.error("Cannot create storage..");
> + throw new GFacProviderException("Cannot create storage..",
> e);
> + } finally {
> + // destroy sms instance
> + try {
> + if (sc != null) {
> + sc.destroy();
> + }
> + } catch (Exception e) {
> + log.warn(
> + "Cannot destroy temporary SMS instance:" +
> sc.getUrl(),
> + e);
> + }
> + }
> +
> + }
> -=======
> ++
> UnicoreHostType host = (UnicoreHostType)
> jobExecutionContext
>
> .getApplicationContext().getHostDescription().getType();
> --
> ++
> String factoryUrl = host.getUnicoreBESEndPointArray()[0];
>
> EndpointReferenceType eprt = EndpointReferenceType.Factory
> @@@ -304,7 -469,8 +469,8 @@@
> }
>
> }
> ->>>>>>> f7de359dcae3694912248e50a1a2fd5e30fc613e
> +
> +
> private JobState getApplicationJobStatus(ActivityStatusType
> activityStatus) {
> if (activityStatus == null) {
> return JobState.UNKNOWN;
>
>
--
Best Regards,
Shameera Rathnayaka.
email: shameera AT apache.org , shameerainfo AT gmail.com
Blog : http://shameerarathnayaka.blogspot.com/