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 <[email protected]>
Authored: Mon Nov 24 15:44:43 2014 +0100
Committer: msmemon <[email protected]>
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;