You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2015/03/19 20:12:08 UTC
[50/50] [abbrv] airavata git commit: Mereged master branch
Mereged master branch
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/0db33d2e
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/0db33d2e
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/0db33d2e
Branch: refs/heads/new-workflow-design
Commit: 0db33d2e515603f94a8fc4abd34b1b91f6a1faa4
Parents: 48192d9 73f371d
Author: shamrath <sh...@gmail.com>
Authored: Thu Mar 19 15:11:10 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Thu Mar 19 15:11:10 2015 -0400
----------------------------------------------------------------------
.../airavata/api/server/AiravataAPIServer.java | 38 +-
.../server/handler/AiravataServerHandler.java | 498 +-
.../api/server/util/DataModelUtils.java | 8 +-
.../java/org/apache/airavata/api/Airavata.java | 49461 ++++++++++++-----
.../airavata/api/airavataAPIConstants.java | 2 +-
.../main/resources/lib/airavata/Airavata.cpp | 15118 +++--
.../src/main/resources/lib/airavata/Airavata.h | 7404 ++-
.../lib/airavata/Airavata_server.skeleton.cpp | 115 +-
.../lib/airavata/airavataAPI_constants.cpp | 2 +-
.../lib/airavata/computeResourceModel_types.cpp | 12 +-
.../lib/airavata/computeResourceModel_types.h | 5 +-
.../lib/airavata/experimentModel_types.cpp | 62 +-
.../lib/airavata/experimentModel_types.h | 61 +-
.../gatewayResourceProfileModel_constants.cpp | 2 -
.../gatewayResourceProfileModel_constants.h | 1 -
.../gatewayResourceProfileModel_types.cpp | 72 +-
.../gatewayResourceProfileModel_types.h | 45 +-
.../lib/airavata/workspaceModel_types.cpp | 51 +-
.../lib/airavata/workspaceModel_types.h | 45 +-
.../resources/lib/Airavata/API/Airavata.php | 13160 +++--
.../main/resources/lib/Airavata/API/Types.php | 2 +-
.../Model/AppCatalog/ComputeResource/Types.php | 10 +-
.../Model/AppCatalog/GatewayProfile/Types.php | 92 +-
.../Model/Workspace/Experiment/Types.php | 60 +
.../lib/Airavata/Model/Workspace/Types.php | 58 +-
.../client/samples/CreateLaunchExperiment.java | 1007 +-
.../samples/CreateLaunchExperimentUS3.java | 20 +-
.../client/samples/RegisterSampleData.java | 37 +-
.../samples/TestCreateLaunchExperiment.java | 10 +-
.../tools/RegisterOGCEUS3Application.java | 10 +-
.../tools/RegisterSampleApplications.java | 366 +-
.../client/tools/RegisterUS3Application.java | 14 +-
.../computeresource/AuthenticationMode.java | 70 +
.../computeresource/ResourceJobManagerType.java | 42 +-
.../computeresource/UnicoreJobSubmission.java | 2 +
.../ComputeResourcePreference.java | 168 +-
.../gatewayprofile/GatewayResourceProfile.java | 226 +-
.../airavata/model/workspace/Gateway.java | 334 +-
.../ComputationalResourceScheduling.java | 109 +-
.../experiment/UserConfigurationData.java | 205 +-
.../airavataAPI.thrift | 192 +-
.../computeResourceModel.thrift | 23 +-
.../experimentModel.thrift | 11 +-
.../gatewayResourceProfileModel.thrift | 28 +-
.../workspaceModel.thrift | 6 +-
.../appcatalog/cpi/ApplicationDeployment.java | 4 +-
.../appcatalog/cpi/ApplicationInterface.java | 8 +-
.../appcatalog/cpi/ComputeResource.java | 3 +
.../appcatalog/cpi/WorkflowCatalog.java | 4 +-
.../data/impl/ApplicationDeploymentImpl.java | 6 +-
.../data/impl/ApplicationInterfaceImpl.java | 12 +-
.../catalog/data/impl/ComputeResourceImpl.java | 45 +-
.../data/impl/GwyResourceProfileImpl.java | 30 +-
.../catalog/data/impl/WorkflowCatalogImpl.java | 6 +-
.../data/model/ApplicationDeployment.java | 10 +
.../data/model/ApplicationInterface.java | 10 +
.../catalog/data/model/ApplicationModule.java | 10 +
.../data/model/ComputeResourcePreference.java | 10 +
.../catalog/data/model/GatewayProfile.java | 19 -
.../catalog/data/model/UnicoreDataMovement.java | 65 +
.../data/model/UnicoreJobSubmission.java | 5 +-
.../catalog/data/model/Workflow.java | 10 +
.../data/resources/AbstractResource.java | 13 +-
.../data/resources/AppDeploymentResource.java | 12 +
.../data/resources/AppInterfaceResource.java | 12 +
.../data/resources/AppModuleResource.java | 12 +
.../ComputeHostPreferenceResource.java | 11 +
.../data/resources/GatewayProfileResource.java | 30 +-
.../resources/UnicoreDataMovementResource.java | 255 +
.../resources/UnicoreJobSubmissionResource.java | 16 +-
.../data/resources/WorkflowResource.java | 12 +
.../catalog/data/util/AppCatalogJPAUtils.java | 26 +-
.../data/util/AppCatalogResourceType.java | 1 +
.../data/util/AppCatalogThriftConversion.java | 29 +-
.../src/main/resources/META-INF/persistence.xml | 1 +
.../src/main/resources/appcatalog-derby.sql | 219 +-
.../src/main/resources/appcatalog-mysql.sql | 218 +-
.../app/catalog/test/AppDeploymentTest.java | 11 +-
.../app/catalog/test/AppInterfaceTest.java | 12 +-
.../app/catalog/test/GatewayProfileTest.java | 5 +-
.../src/test/resources/appcatalog-derby.sql | 219 +-
modules/commons/utils/pom.xml | 4 +-
.../apache/airavata/common/utils/Constants.java | 4 +-
.../common/utils/DatabaseTestCases.java | 2 +-
.../airavata/common/utils/WSConstants.java | 10 +-
.../apache/airavata/common/utils/WSDLUtil.java | 764 +-
.../apache/airavata/common/utils/XMLUtil.java | 34 +-
.../main/resources/airavata-client.properties | 2 +-
.../server/src/main/resources/LSFTemplate.xslt | 92 +
.../server/src/main/resources/PBSTemplate.xslt | 22 +-
.../server/src/main/resources/SGETemplate.xslt | 18 +-
.../src/main/resources/SLURMTemplate.xslt | 22 +-
.../main/resources/airavata-server.properties | 6 +-
.../credential-store-webapp/pom.xml | 158 -
.../basic/BasicAccessAuthenticator.java | 226 -
.../credentialstore/local/LocalUserStore.java | 339 -
.../session/HttpAuthenticatorFilter.java | 191 -
.../session/ServletRequestHelper.java | 129 -
.../main/resources/airavata-server.properties | 241 -
.../main/resources/credential-store/client.xml | 36 -
.../credential-store/oauth-privkey.pk8 | 28 -
.../resources/credential-store/oauth-pubkey.pem | 9 -
.../src/main/webapp/WEB-INF/web.xml | 130 -
.../src/main/webapp/acs/index.jsp | 44 -
.../src/main/webapp/credential-store/error.jsp | 53 -
.../credential-store/password-credentials.jsp | 33 -
.../webapp/credential-store/show-redirect.jsp | 44 -
.../main/webapp/credential-store/success.jsp | 25 -
.../src/main/webapp/gateway/acs.jsp | 62 -
.../src/main/webapp/gateway/callback.jsp | 78 -
.../src/main/webapp/gateway/list_users.jsp | 78 -
.../src/main/webapp/gateway/logout.jsp | 35 -
.../src/main/webapp/gateway/user.jsp | 102 -
.../src/main/webapp/images/airavata-logo-2.png | Bin 4314 -> 0 bytes
.../src/main/webapp/index.jsp | 26 -
.../src/main/webapp/user-store/add.jsp | 142 -
.../src/main/webapp/user-store/index.jsp | 138 -
.../src/main/webapp/user-store/password.jsp | 157 -
.../credential-store/pom.xml | 149 -
.../scripts/credential-store-h2.sql | 42 -
.../scripts/credential-store-mysql.sql | 42 -
.../credential/store/client/TestSSLClient.java | 140 -
.../store/cpi/CredentialStoreService.java | 6888 ---
.../store/cpi/cs_cpi_serviceConstants.java | 55 -
.../credential/store/credential/AuditInfo.java | 53 -
.../store/credential/CommunityUser.java | 71 -
.../credential/store/credential/Credential.java | 62 -
.../impl/certificate/CertificateAuditInfo.java | 101 -
.../impl/certificate/CertificateCredential.java | 102 -
.../impl/password/PasswordCredential.java | 53 -
.../credential/impl/ssh/SSHCredential.java | 88 -
.../impl/ssh/SSHCredentialGenerator.java | 103 -
.../store/datamodel/CertificateCredential.java | 1104 -
.../store/datamodel/CommunityUser.java | 589 -
.../store/datamodel/PasswordCredential.java | 698 -
.../store/datamodel/SSHCredential.java | 998 -
.../store/datamodel/csDataModelConstants.java | 55 -
.../exception/CredentialStoreException.java | 397 -
.../store/notifier/CredentialStoreNotifier.java | 42 -
.../store/notifier/NotificationMessage.java | 46 -
.../store/notifier/NotifierBootstrap.java | 144 -
.../notifier/impl/EmailNotificationMessage.java | 58 -
.../store/notifier/impl/EmailNotifier.java | 71 -
.../impl/EmailNotifierConfiguration.java | 84 -
.../store/server/CredentialStoreServer.java | 158 -
.../server/CredentialStoreServerHandler.java | 201 -
.../store/servlet/CredentialBootstrapper.java | 49 -
.../servlet/CredentialStoreCallbackServlet.java | 272 -
.../servlet/CredentialStoreStartServlet.java | 183 -
.../store/store/CredentialReader.java | 112 -
.../store/store/CredentialReaderFactory.java | 54 -
.../store/store/CredentialStoreException.java | 40 -
.../store/store/CredentialWriter.java | 39 -
.../store/impl/CertificateCredentialWriter.java | 121 -
.../store/store/impl/CredentialReaderImpl.java | 162 -
.../store/store/impl/SSHCredentialWriter.java | 87 -
.../store/store/impl/db/CommunityUserDAO.java | 257 -
.../store/store/impl/db/CredentialsDAO.java | 458 -
.../store/store/impl/db/ParentDAO.java | 37 -
.../store/util/ConfigurationReader.java | 121 -
.../store/util/CredentialStoreConstants.java | 37 -
.../credential/store/util/PrivateKeyStore.java | 70 -
.../credential/store/util/TokenGenerator.java | 57 -
.../airavata/credential/store/util/Utility.java | 110 -
.../store/notifier/impl/EmailNotifierTest.java | 56 -
.../store/impl/db/CommunityUserDAOTest.java | 207 -
.../store/store/impl/db/CredentialsDAOTest.java | 421 -
.../store/util/ConfigurationReaderTest.java | 58 -
.../store/util/TokenGeneratorTest.java | 42 -
.../test/resources/credential-store/client.xml | 35 -
.../src/test/resources/keystore.jks | Bin 2230 -> 0 bytes
.../src/test/resources/mykeystore.jks | Bin 498 -> 0 bytes
.../credentialStoreErrors.thrift | 32 -
.../cs-thrift-description/cs.cpi.service.thrift | 50 -
.../cs-thrift-description/csDataModel.thrift | 61 -
.../cs-thrift-description/generate-cs-stubs.sh | 134 -
modules/credential-store-service/pom.xml | 42 -
.../credential-store-service/pom.xml | 166 +
.../scripts/credential-store-h2.sql | 42 +
.../scripts/credential-store-mysql.sql | 42 +
.../credential/store/credential/AuditInfo.java | 53 +
.../store/credential/CommunityUser.java | 71 +
.../credential/store/credential/Credential.java | 62 +
.../impl/certificate/CertificateAuditInfo.java | 101 +
.../impl/certificate/CertificateCredential.java | 102 +
.../impl/password/PasswordCredential.java | 53 +
.../credential/impl/ssh/SSHCredential.java | 88 +
.../impl/ssh/SSHCredentialGenerator.java | 103 +
.../store/notifier/CredentialStoreNotifier.java | 42 +
.../store/notifier/NotificationMessage.java | 46 +
.../store/notifier/NotifierBootstrap.java | 144 +
.../notifier/impl/EmailNotificationMessage.java | 58 +
.../store/notifier/impl/EmailNotifier.java | 71 +
.../impl/EmailNotifierConfiguration.java | 84 +
.../store/server/CredentialStoreServer.java | 158 +
.../server/CredentialStoreServerHandler.java | 202 +
.../store/servlet/CredentialBootstrapper.java | 49 +
.../servlet/CredentialStoreCallbackServlet.java | 272 +
.../servlet/CredentialStoreStartServlet.java | 183 +
.../store/store/CredentialReader.java | 112 +
.../store/store/CredentialReaderFactory.java | 54 +
.../store/store/CredentialStoreException.java | 40 +
.../store/store/CredentialWriter.java | 39 +
.../store/impl/CertificateCredentialWriter.java | 121 +
.../store/store/impl/CredentialReaderImpl.java | 162 +
.../store/store/impl/SSHCredentialWriter.java | 87 +
.../store/store/impl/db/CommunityUserDAO.java | 257 +
.../store/store/impl/db/CredentialsDAO.java | 458 +
.../store/store/impl/db/ParentDAO.java | 37 +
.../store/util/ConfigurationReader.java | 121 +
.../store/util/CredentialStoreConstants.java | 37 +
.../credential/store/util/PrivateKeyStore.java | 70 +
.../credential/store/util/TokenGenerator.java | 57 +
.../airavata/credential/store/util/Utility.java | 110 +
.../store/notifier/impl/EmailNotifierTest.java | 56 +
.../store/impl/db/CommunityUserDAOTest.java | 207 +
.../store/store/impl/db/CredentialsDAOTest.java | 421 +
.../store/store/impl/db/SSHCredentialTest.java | 92 +
.../store/util/ConfigurationReaderTest.java | 58 +
.../store/util/TokenGeneratorTest.java | 42 +
.../test/resources/airavata-server.properties | 254 +
.../test/resources/credential-store/client.xml | 35 +
.../src/test/resources/keystore.jks | Bin 0 -> 2230 bytes
.../src/test/resources/mykeystore.jks | Bin 0 -> 498 bytes
.../credential-store-stubs/pom.xml | 50 +
.../credential/store/client/TestSSLClient.java | 140 +
.../store/cpi/CredentialStoreService.java | 6888 +++
.../store/cpi/credentialStoreCPIConstants.java | 55 +
.../store/datamodel/CertificateCredential.java | 1104 +
.../store/datamodel/CommunityUser.java | 589 +
.../store/datamodel/PasswordCredential.java | 698 +
.../store/datamodel/SSHCredential.java | 998 +
.../credentialStoreDataModelConstants.java | 55 +
.../exception/CredentialStoreException.java | 397 +
.../credential-store-webapp/pom.xml | 158 +
.../basic/BasicAccessAuthenticator.java | 226 +
.../credentialstore/local/LocalUserStore.java | 339 +
.../session/HttpAuthenticatorFilter.java | 191 +
.../session/ServletRequestHelper.java | 129 +
.../main/resources/airavata-server.properties | 241 +
.../main/resources/credential-store/client.xml | 36 +
.../credential-store/oauth-privkey.pk8 | 28 +
.../resources/credential-store/oauth-pubkey.pem | 9 +
.../src/main/webapp/WEB-INF/web.xml | 130 +
.../src/main/webapp/acs/index.jsp | 44 +
.../src/main/webapp/credential-store/error.jsp | 53 +
.../credential-store/password-credentials.jsp | 33 +
.../webapp/credential-store/show-redirect.jsp | 44 +
.../main/webapp/credential-store/success.jsp | 25 +
.../src/main/webapp/gateway/acs.jsp | 62 +
.../src/main/webapp/gateway/callback.jsp | 78 +
.../src/main/webapp/gateway/list_users.jsp | 78 +
.../src/main/webapp/gateway/logout.jsp | 35 +
.../src/main/webapp/gateway/user.jsp | 102 +
.../src/main/webapp/images/airavata-logo-2.png | Bin 0 -> 4314 bytes
.../src/main/webapp/index.jsp | 26 +
.../src/main/webapp/user-store/add.jsp | 142 +
.../src/main/webapp/user-store/index.jsp | 138 +
.../src/main/webapp/user-store/password.jsp | 157 +
.../credentialStoreCPI.thrift | 61 +
.../credentialStoreDataModel.thrift | 61 +
.../credentialStoreErrors.thrift | 32 +
.../cs-thrift-descriptions/generate-cs-stubs.sh | 134 +
modules/credential-store/pom.xml | 43 +
modules/distribution/server/pom.xml | 1251 +-
.../server/src/main/assembly/bin-assembly.xml | 1 +
.../server/src/main/resources/bin/data.sql | 141 -
.../airavata/gfac/server/GfacServerHandler.java | 44 +-
.../airavata/gfac/client/util/Initialize.java | 4 +-
modules/gfac/gfac-bes/pom.xml | 9 +-
.../gfac/bes/provider/impl/BESProvider.java | 10 +-
.../org/apache/airavata/gfac/RequestData.java | 2 +
.../gfac/core/context/JobExecutionContext.java | 9 +
.../airavata/gfac/core/cpi/BetterGfacImpl.java | 26 +-
.../airavata/gfac/core/utils/GFacUtils.java | 2 +-
.../gfac/core/utils/OutHandlerWorker.java | 11 +-
modules/gfac/gfac-gsissh/pom.xml | 10 -
.../handler/GSISSHDirectorySetupHandler.java | 7 +-
.../gfac/gsissh/util/GFACGSISSHUtils.java | 10 +-
.../monitor/impl/pull/qstat/HPCPullMonitor.java | 42 +-
.../impl/pull/qstat/ResourceConnection.java | 16 +-
.../airavata/gfac/monitor/util/CommonUtils.java | 1 +
modules/gfac/gfac-ssh/pom.xml | 10 -
.../ssh/handler/SSHDirectorySetupHandler.java | 7 +-
.../gfac/ssh/provider/impl/SSHProvider.java | 1 +
.../gfac/ssh/security/TokenizedSSHAuthInfo.java | 5 +-
.../airavata/gfac/ssh/util/GFACSSHUtils.java | 98 +-
.../airavata/gfac/ssh/util/HandleOutputs.java | 5 +-
.../apache/airavata/integration/BaseCaseIT.java | 4 +-
.../airavata/integration/DataRetrievalIT.java | 8 +-
.../airavata/integration/SimpleEchoIT.java | 4 +-
.../SingleAppIntegrationTestBase.java | 6 +-
.../WorkflowIntegrationTestBase.java | 2 +-
.../integration/tools/DocumentCreatorNew.java | 75 +-
.../messaging/client/RabbitMQListener.java | 13 +
.../airavata/messaging/client/TestReader.java | 50 +
.../core/impl/RabbitMQStatusPublisher.java | 5 +-
.../messaging/core/stats/CountWriterTask.java | 35 +
.../messaging/core/stats/LatencyWriterTask.java | 37 +
.../messaging/core/stats/StatCounter.java | 38 +-
.../messaging/core/stats/WriterTask.java | 38 -
.../orchestrator/util/DataModelUtils.java | 10 +-
.../orchestrator/client/util/Initialize.java | 4 +-
.../airavata/orchestrator/cpi/Orchestrator.java | 2 +-
.../orchestrator/core/util/Initialize.java | 4 +-
.../persistance/registry/jpa/ResourceType.java | 2 -
.../persistance/registry/jpa/ResourceUtils.java | 69 +-
.../registry/jpa/impl/ExperimentRegistry.java | 16 +-
.../registry/jpa/impl/GatewayRegistry.java | 76 +
.../registry/jpa/impl/LoggingRegistryImpl.java | 35 +-
.../registry/jpa/impl/ProjectRegistry.java | 16 +-
.../registry/jpa/impl/RegistryFactory.java | 17 +
.../registry/jpa/impl/RegistryImpl.java | 28 +-
.../Computational_Resource_Scheduling.java | 10 +
.../registry/jpa/model/Experiment.java | 14 +-
.../jpa/model/ExperimentConfigData.java | 20 +
.../persistance/registry/jpa/model/Gateway.java | 32 +-
.../registry/jpa/model/Gateway_Worker.java | 14 +-
.../registry/jpa/model/Gateway_Worker_PK.java | 14 +-
.../persistance/registry/jpa/model/Project.java | 13 +-
.../registry/jpa/model/Published_Workflow.java | 124 -
.../jpa/model/Published_Workflow_PK.java | 64 -
.../registry/jpa/model/User_Workflow.java | 122 -
.../registry/jpa/model/User_Workflow_PK.java | 74 -
.../jpa/resources/AbstractResource.java | 33 +-
.../ComputationSchedulingResource.java | 10 +
.../jpa/resources/ConfigDataResource.java | 22 +
.../jpa/resources/ExperimentResource.java | 6 +-
.../registry/jpa/resources/GatewayResource.java | 159 +-
.../registry/jpa/resources/ProjectResource.java | 4 +-
.../jpa/resources/PublishWorkflowResource.java | 282 -
.../jpa/resources/UserWorkflowResource.java | 174 -
.../registry/jpa/resources/Utils.java | 72 +-
.../registry/jpa/resources/WorkerResource.java | 100 +-
.../jpa/utils/ThriftDataModelConversion.java | 22 +
.../src/main/resources/META-INF/persistence.xml | 2 -
.../src/main/resources/registry-derby.sql | 58 +-
.../src/main/resources/registry-mysql.sql | 56 +-
.../registry/jpa/GatewayResourceTest.java | 26 +-
.../jpa/PublishWorkflowResourceTest.java | 62 -
.../registry/jpa/UserWorkflowResourceTest.java | 66 -
.../registry/jpa/util/Initialize.java | 4 +-
.../src/test/resources/registry-derby.sql | 58 +-
.../airavata/registry/cpi/ParentDataType.java | 3 +-
.../apache/airavata/registry/cpi/Registry.java | 2 +-
.../registry/cpi/RegistryModelType.java | 1 +
.../airavata/registry/cpi/utils/Constants.java | 3 +-
.../src/test/resources/jdbc-authenticator.xml | 2 +-
.../test/resources/session-authenticator.xml | 2 +-
modules/test-suite/pom.xml | 116 -
.../tests/LeadCallbackHandlerTest.java | 173 -
.../tests/LeadNotificationManagerTest.java | 49 -
.../tests/MultipleSubscriptionTest.java | 105 -
.../tests/RenewSubscriptionTest.java | 155 -
.../tests/ThreadMessagePassingCallback.java | 27 -
.../tests/impl/publish/Test.java | 40 -
.../tests/impl/publish/TestWSMPublisher.java | 119 -
.../tests/messagebox/MessagePullerTest.java | 140 -
.../MultipleSubscriptionForMessageBoxTest.java | 118 -
.../tests/messagebox/RenewSubscriptionTest.java | 109 -
.../tests/messagebox/SubscriberThread.java | 96 -
.../restart/MessageBoxClientRestartTest.java | 131 -
.../restart/MessageBoxCreateThread.java | 83 -
.../tests/samples/workflow/SimpleTest.java | 202 -
.../workflow/SimpleWorkflowExecution.java | 473 -
.../workflow/WorkflowNotificationListener.java | 127 -
.../tests/util/CommonUtils.java | 26 -
.../tests/util/SubscriberThread.java | 91 -
.../tests/util/TestConfigKeys.java | 34 -
.../src/test/resources/gram.properties.template | 70 -
.../src/test/resources/unit_test.properties | 26 -
modules/workflow-model/workflow-engine/pom.xml | 5 +-
.../airavata/workflow/engine/WorkflowUtils.java | 10 +-
.../engine/gfac/GFacRegistryClient.java | 186 +-
.../workflow/engine/gfac/SimpleWSClient.java | 166 +-
.../interpretor/SystemComponentInvoker.java | 86 +-
.../engine/interpretor/WorkflowInterpreter.java | 24 +-
.../engine/invoker/AsynchronousInvoker.java | 98 +-
.../workflow/engine/invoker/DynamicInvoker.java | 48 +-
.../workflow/engine/invoker/Invoker.java | 84 +-
.../workflow/engine/invoker/SimpleInvoker.java | 411 +-
.../workflow/engine/util/InterpreterUtil.java | 112 +-
.../workflow/engine/util/XBayaUtil.java | 94 +-
.../engine/workflow/proxy/WorkflowContext.java | 4 +-
.../workflow-model-component/pom.xml | 7 +-
.../registry/JCRComponentRegistry.java | 3 +-
.../workflow-model/workflow-model-core/pom.xml | 8 +-
.../component/system/SubWorkflowComponent.java | 4 +-
.../component/url/URLComponentRegistry.java | 12 +-
.../component/ws/WSComponentApplication.java | 2 +-
.../model/component/ws/WSComponentFactory.java | 8 +-
.../model/component/ws/WSComponentRegistry.java | 32 +-
.../model/component/ws/WorkflowComponent.java | 108 +-
.../airavata/workflow/model/gpel/DSCUtil.java | 140 +-
.../workflow/model/gpel/script/BPELScript.java | 1276 +-
.../model/gpel/script/WorkflowWSDL.java | 528 +-
.../model/graph/system/StreamSourceNode.java | 7 +-
.../workflow/model/ode/ODEBPELTransformer.java | 1260 +-
.../airavata/workflow/model/ode/ODEClient.java | 200 +-
.../model/ode/ODEDeploymentDescriptor.java | 368 +-
.../workflow/model/ode/ODEWSDLTransformer.java | 872 +-
.../workflow/model/ode/WSDLCleaner.java | 196 +-
.../workflow/model/wf/TridentTransformer.java | 50 +-
.../airavata/workflow/model/wf/Workflow.java | 542 +-
modules/xbaya-gui/pom.xml | 5 +
.../xbaya/core/generators/BPELFiler.java | 38 +-
.../xbaya/core/generators/ODEScriptFiler.java | 68 +-
.../xbaya/invoker/factory/InvokerFactory.java | 16 +-
.../graph/dynamic/DynamicNodeWindow.java | 72 +-
.../dialogs/workflow/WorkflowImportWindow.java | 3 +-
.../ui/experiment/LaunchApplicationWindow.java | 8 +-
.../RegistryWorkflowPublisherWindow.java | 3 +-
.../WorkflowInterpreterLaunchWindow.java | 9 +-
pom.xml | 6 +-
tools/gsissh/pom.xml | 8 +-
.../java/com/jcraft/jsch/ExtendedSession.java | 2 -
.../illinois/ncsa/BCGSS/BCGSSContextImpl.java | 2894 +-
.../illinois/ncsa/BCGSS/CircularByteBuffer.java | 1648 +-
.../ncsa/BCGSS/GlobusTlsCipherFactory.java | 126 +-
.../illinois/ncsa/BCGSS/GlobusTlsClient.java | 494 +-
.../edu/illinois/ncsa/BCGSS/TlsHandlerUtil.java | 564 +-
.../apache/airavata/gsi/ssh/GSSContextX509.java | 43 +-
.../airavata/gsi/ssh/api/job/JobDescriptor.java | 14 +
.../ssh/api/job/JobManagerConfiguration.java | 9 +-
.../gsi/ssh/api/job/LSFJobConfiguration.java | 116 +
.../gsi/ssh/api/job/LSFOutputParser.java | 110 +
.../airavata/gsi/ssh/api/job/OutputParser.java | 14 +-
.../gsi/ssh/api/job/PBSJobConfiguration.java | 15 +
.../gsi/ssh/api/job/PBSOutputParser.java | 8 +-
.../gsi/ssh/api/job/SGEOutputParser.java | 8 +-
.../gsi/ssh/api/job/SlurmJobConfiguration.java | 15 +
.../gsi/ssh/api/job/SlurmOutputParser.java | 10 +-
.../gsi/ssh/impl/GSISSHAbstractCluster.java | 233 +-
.../apache/airavata/gsi/ssh/impl/JobStatus.java | 20 +-
.../airavata/gsi/ssh/impl/PBSCluster.java | 4 +
.../airavata/gsi/ssh/impl/RawCommandInfo.java | 8 +-
.../gsi/ssh/listener/JobSubmissionListener.java | 2 +-
.../airavata/gsi/ssh/util/CommonUtils.java | 13 +
.../apache/airavata/gsi/ssh/util/SSHUtils.java | 4 +-
.../gsissh/src/main/resources/LSFTemplate.xslt | 93 +
.../main/resources/schemas/PBSJobDescriptor.xsd | 3 +-
.../impl/DefaultSSHApiTestWithMyProxyAuth.java | 32 +-
.../gsi/ssh/impl/VanilaTestWithSSHAuth.java | 90 +-
tools/registry-tool/README | 2 +-
444 files changed, 91302 insertions(+), 58080 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/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 dd8686d,ed141b9..812f6c4
--- 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
@@@ -54,16 -55,16 +55,17 @@@ public class CreateLaunchExperiment
private final static Logger logger = LoggerFactory.getLogger(CreateLaunchExperiment.class);
private static final String DEFAULT_USER = "default.registry.user";
- private static final String DEFAULT_GATEWAY = "default.registry.gateway";
+ private static final String DEFAULT_GATEWAY = "php_reference_gateway";
private static Airavata.Client airavataClient;
- private static String echoAppId = "Echo_a8fc8511-7b8e-431a-ad0f-de5eb1a9c576";
++
+ private static String echoAppId = "Echo_61988d1f-7ca9-47ba-9212-a0ac2e973cf1";
private static String mpiAppId = "HelloMPI_720e159f-198f-4daa-96ca-9f5eafee92c9";
private static String wrfAppId = "WRF_7ad5da38-c08b-417c-a9ea-da9298839762";
- private static String amberAppId = "Amber_42124128-628b-484c-829d-aff8b584eb00";
+ private static String amberAppId = "Amber_aa083c86-4680-4002-b3ef-fad93c181926";
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 lammpsAppId = "LAMMPS_2472685b-8acf-497e-aafe-cc66fe5f4cb6";
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";
@@@ -89,11 -95,75 +96,76 @@@
private static String fsdResourceId;
+ public static void getAvailableAppInterfaceComputeResources(String appInterfaceId) {
+ try {
+ Map<String, String> availableAppInterfaceComputeResources = airavataClient.getAvailableAppInterfaceComputeResources(appInterfaceId);
+ for (String key : availableAppInterfaceComputeResources.keySet()){
+ System.out.println("id : " + key);
+ System.out.println("name : " + availableAppInterfaceComputeResources.get(key));
+ }
+ } catch (AiravataSystemException e) {
+ e.printStackTrace();
+ } catch (InvalidRequestException e) {
+ e.printStackTrace();
+ } catch (AiravataClientException e) {
+ e.printStackTrace();
+ } catch (TException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ public static void createGateway(){
+ try {
+ Gateway gateway = new Gateway();
+ gateway.setGatewayId("testGatewayId2");
+ gateway.setGatewayName("testGateway2");
+ gatewayId = airavataClient.addGateway(gateway);
+ System.out.println(gatewayId);
+ } catch (AiravataSystemException e) {
+ e.printStackTrace();
+ } catch (InvalidRequestException e) {
+ e.printStackTrace();
+ } catch (AiravataClientException e) {
+ e.printStackTrace();
+ } catch (TException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ public static void getGateway(String gatewayId){
+ try {
+ Gateway gateway = airavataClient.getGateway(gatewayId);
+ gateway.setDomain("testDomain");
+ airavataClient.updateGateway(gatewayId, gateway);
+ List<Gateway> allGateways = airavataClient.getAllGateways();
+ System.out.println(allGateways.size());
+ if (airavataClient.isGatewayExist(gatewayId)){
+ Gateway gateway1 = airavataClient.getGateway(gatewayId);
+ System.out.println(gateway1.getGatewayName());
+ }
+ boolean b = airavataClient.deleteGateway("testGatewayId2");
+ System.out.println(b);
+ } catch (AiravataSystemException e) {
+ e.printStackTrace();
+ } catch (InvalidRequestException e) {
+ e.printStackTrace();
+ } catch (AiravataClientException e) {
+ e.printStackTrace();
+ } catch (TException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
public static void createAndLaunchExp() throws TException {
// final String expId = createEchoExperimentForFSD(airavataClient);
+ List<String> experimentIds = new ArrayList<String>();
try {
- for (int i = 0; i < 100; i++) {
+ for (int i = 0; i < 1; i++) {
// final String expId = createExperimentForSSHHost(airavata);
// final String expId = createEchoExperimentForFSD(airavataClient);
// final String expId = createMPIExperimentForFSD(airavataClient);
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/modules/credential-store/credential-store-webapp/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --cc modules/credential-store/credential-store-webapp/src/main/resources/airavata-server.properties
index 0000000,badf28d..fe4de5d
mode 000000,100644..100644
--- a/modules/credential-store/credential-store-webapp/src/main/resources/airavata-server.properties
+++ b/modules/credential-store/credential-store-webapp/src/main/resources/airavata-server.properties
@@@ -1,0 -1,234 +1,241 @@@
+ #
+ #
+ # Licensed to the Apache Software Foundation (ASF) under one
+ # or more contributor license agreements. See the NOTICE file
+ # distributed with this work for additional information
+ # regarding copyright ownership. The ASF licenses this file
+ # to you under the Apache License, Version 2.0 (the
+ # "License"); you may not use this file except in compliance
+ # with the License. You may obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing,
+ # software distributed under the License is distributed on an
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ # KIND, either express or implied. See the License for the
+ # specific language governing permissions and limitations
+ # under the License.
+ #
+
+ ###########################################################################
+ #
+ # This properties file provides configuration for all Airavata Services:
+ # API Server, Registry, Workflow Interpreter, GFac, Orchestrator
+ #
+ ###########################################################################
+
+ ###########################################################################
+ # API Server Registry Configuration
+ ###########################################################################
+
+ #for derby [AiravataJPARegistry]
+ registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+ registry.jdbc.url=jdbc:derby://localhost:1527/experiment_catalog;create=true;user=airavata;password=airavata
+ # MySql database configuration
+ #registry.jdbc.driver=com.mysql.jdbc.Driver
+ #registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data
+ registry.jdbc.user=airavata
+ registry.jdbc.password=airavata
+ start.derby.server.mode=true
+ validationQuery=SELECT 1 from CONFIGURATION
+ jpa.cache.size=5000
+ #jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true
+
+ # Properties for default user mode
+ default.registry.user=admin
+ default.registry.password=admin
+ default.registry.password.hash.method=SHA
+ default.registry.gateway=default
+
+ #ip=127.0.0.1
+
+ ###########################################################################
+ # Application Catalog DB Configuration
+ ###########################################################################
+ #for derby [AiravataJPARegistry]
+ appcatalog.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+ appcatalog.jdbc.url=jdbc:derby://localhost:1527/app_catalog;create=true;user=airavata;password=airavata
+ # MySql database configuration
+ #appcatalog.jdbc.driver=com.mysql.jdbc.Driver
+ #appcatalog.jdbc.url=jdbc:mysql://localhost:3306/app_catalog
+ appcatalog.jdbc.user=airavata
+ appcatalog.jdbc.password=airavata
+ appcatalog.validationQuery=SELECT 1 from CONFIGURATION
+
+ ###########################################################################
+ # Server module Configuration
+ ###########################################################################
+
+ servers=apiserver,orchestrator,gfac,workflowserver
+ #shutdown.trategy=NONE
+ shutdown.trategy=SELF_TERMINATE
+
+
+ apiserver.server.host=localhost
+ apiserver.server.port=8930
+ apiserver.server.min.threads=50
+ workflow.server.host=localhost
+ workflow.server.port=8931
+ orchestrator.server.host=localhost
+ orchestrator.server.port=8940
+ gfac.server.host=localhost
+ gfac.server.port=8950
+ orchestrator.server.min.threads=50
+
+ ###########################################################################
+ # Credential Store module Configuration
+ ###########################################################################
+ credential.store.keystore.url=/Users/lahirugunathilake/Downloads/airavata_sym.jks
+ credential.store.keystore.alias=airavata
+ credential.store.keystore.password=airavata
+ credential.store.jdbc.url=jdbc:derby://localhost:1527/experiment_catalog;create=true;user=airavata;password=airavata
+ credential.store.jdbc.user=airavata
+ credential.store.jdbc.password=airavata
+ credential.store.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+
+ notifier.enabled=false
+ #period in milliseconds
+ notifier.duration=5000
+
+ email.server=smtp.googlemail.com
+ email.server.port=465
+ email.user=airavata
+ email.password=xxx
+ email.ssl=true
+ email.from=airavata@apache.org
+
+ ###########################################################################
+ # Airavata GFac MyProxy GSI credentials to access Grid Resources.
+ ###########################################################################
+ #
+ # Security Configuration used by Airavata Generic Factory Service
+ # to interact with Computational Resources.
+ #
+ gfac=org.apache.airavata.gfac.server.GfacServer
+ myproxy.server=myproxy.teragrid.org
+ myproxy.username=ogce
+ myproxy.password=
+ myproxy.life=3600
+ # XSEDE Trusted certificates can be downloaded from https://software.xsede.org/security/xsede-certs.tar.gz
+ trusted.cert.location=/Users/lahirugunathilake/Downloads/certificates
+ # SSH PKI key pair or ssh password can be used SSH based authentication is used.
+ # if user specify both password authentication gets the higher preference
+
+ ################# ---------- For ssh key pair authentication ------------------- ################
+ #public.ssh.key=/path to public key for ssh
+ #ssh.username=username for ssh connection
+ #private.ssh.key=/path to private key file for ssh
+ #ssh.keypass=passphrase for the private key
+
+
+ ################# ---------- For ssh key pair authentication ------------------- ################
+ #ssh.username=username for ssh connection
+ #ssh.password=Password for ssh connection
+
+
+
+ ###########################################################################
+ # Airavata Workflow Interpreter Configurations
+ ###########################################################################
+
+ #runInThread=true
+ #provenance=true
+ #provenanceWriterThreadPoolSize=20
+ #gfac.embedded=true
+ #workflowserver=org.apache.airavata.api.server.WorkflowServer
++enactment.thread.pool.size=10
++
++#to define custom workflow parser user following property
++#workflow.parser=org.apache.airavata.simple.workflow.engine.parser.AiravataWorkflowParser
+
+
+ ###########################################################################
+ # API Server module Configuration
+ ###########################################################################
+ apiserver=org.apache.airavata.api.server.AiravataAPIServer
+
+ ###########################################################################
+ # Workflow Server module Configuration
+ ###########################################################################
+
+ workflowserver=org.apache.airavata.api.server.WorkflowServer
+
+ ###########################################################################
+ # Advance configuration to change service implementations
+ ###########################################################################
+ # If false, disables two phase commit when submitting jobs
+ TwoPhase=true
+ #
+ # Class which implemented HostScheduler interface. It will determine the which host to submit the request
+ #
+ host.scheduler=org.apache.airavata.gfac.core.scheduler.impl.SimpleHostScheduler
+
+ ###########################################################################
+ # Monitoring module Configuration
+ ###########################################################################
+
+ #This will be the primary monitoring tool which runs in airavata, in future there will be multiple monitoring
+ #mechanisms and one would be able to start a monitor
+ monitors=org.apache.airavata.gfac.monitor.impl.pull.qstat.QstatMonitor,org.apache.airavata.gfac.monitor.impl.LocalJobMonitor
+
+
+ ###########################################################################
+ # AMQP Notification Configuration
+ ###########################################################################
+
+
+ amqp.notification.enable=1
+
+ amqp.broker.host=localhost
+ amqp.broker.port=5672
+ amqp.broker.username=guest
+ amqp.broker.password=guest
+
+ amqp.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPSenderImpl
+ amqp.topic.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPTopicSenderImpl
+ amqp.broadcast.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPBroadcastSenderImpl
+
+ #,org.apache.airavata.gfac.monitor.impl.push.amqp.AMQPMonitor
+ #This is the amqp related configuration and this lists down the Rabbitmq host, this is an xsede specific configuration
+ amqp.hosts=info1.dyn.teragrid.org,info2.dyn.teragrid.org
+ proxy.file.path=/Users/lahirugunathilake/Downloads/x509up_u503876
+ connection.name=xsede
+ #publisher
+ activity.listeners=org.apache.airavata.gfac.core.monitor.AiravataJobStatusUpdator,org.apache.airavata.gfac.core.monitor.AiravataTaskStatusUpdator,org.apache.airavata.gfac.core.monitor.AiravataWorkflowNodeStatusUpdator,org.apache.airavata.api.server.listener.AiravataExperimentStatusUpdator,org.apache.airavata.gfac.core.monitor.GfacInternalStatusUpdator,org.apache.airavata.workflow.engine.util.ProxyMonitorPublisher
+ publish.rabbitmq=false
-activity.publisher=org.apache.airavata.messaging.core.impl.RabbitMQPublisher
++status.publisher=org.apache.airavata.messaging.core.impl.RabbitMQStatusPublisher
++task.launch.publisher=org.apache.airavata.messaging.core.impl.RabbitMQTaskLaunchPublisher
+ rabbitmq.broker.url=amqp://localhost:5672
-rabbitmq.exchange.name=airavata_rabbitmq_exchange
++rabbitmq.status.exchange.name=airavata_rabbitmq_exchange
++rabbitmq.task.launch.exchange.name=airavata_task_launch_rabbitmq_exchange
+
+ ###########################################################################
+ # Orchestrator module Configuration
+ ###########################################################################
+
+ #job.submitter=org.apache.airavata.orchestrator.core.impl.GFACEmbeddedJobSubmitter
-job.submitter=org.apache.airavata.orchestrator.core.impl.GFACServiceJobSubmitter
++#job.submitter=org.apache.airavata.orchestrator.core.impl.GFACPassiveJobSubmitter
++job.submitter=org.apache.airavata.orchestrator.core.impl.GFACRPCJobSubmitter
+ job.validators=org.apache.airavata.orchestrator.core.validator.impl.SimpleAppDataValidator,org.apache.airavata.orchestrator.core.validator.impl.ExperimentStatusValidator
+ submitter.interval=10000
+ threadpool.size=10
+ start.submitter=true
+ embedded.mode=true
+ enable.validation=true
+ orchestrator=org.apache.airavata.orchestrator.server.OrchestratorServer
+
+ ###########################################################################
+ # Zookeeper Server Configuration
+ ###########################################################################
+
+ embedded.zk=true
+ zookeeper.server.host=localhost
+ zookeeper.server.port=2181
+ airavata-server=/api-server
+ orchestrator-server=/orchestrator-server
+ gfac-server=/gfac-server
+ gfac-experiments=/gfac-experiments
+ gfac-server-name=gfac-node0
+ orchestrator-server-name=orch-node0
+ airavata-server-name=api-node0
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
----------------------------------------------------------------------
diff --cc modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
index 1c0f095,4973a41..2fc3f16
--- a/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
+++ b/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
@@@ -27,7 -27,10 +27,11 @@@ import org.apache.aiaravata.application
import org.apache.airavata.common.exception.ApplicationSettingsException;
import org.apache.airavata.common.logger.AiravataLogger;
import org.apache.airavata.common.logger.AiravataLoggerFactory;
- import org.apache.airavata.common.utils.*;
+ import org.apache.airavata.common.utils.AiravataZKUtils;
+ import org.apache.airavata.common.utils.Constants;
+ import org.apache.airavata.common.utils.MonitorPublisher;
+ import org.apache.airavata.common.utils.ServerSettings;
++import org.apache.airavata.common.utils.ThriftUtils;
import org.apache.airavata.gfac.core.cpi.BetterGfacImpl;
import org.apache.airavata.gfac.core.cpi.GFac;
import org.apache.airavata.gfac.core.utils.GFacThreadPoolExecutor;
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListener.java
----------------------------------------------------------------------
diff --cc modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListener.java
index c1bdc3d,53d08d3..3f876ae
--- a/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListener.java
+++ b/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListener.java
@@@ -55,12 -56,16 +56,16 @@@ public class RabbitMQListener
private static boolean allMessages = false;
public static void main(String[] args) {
+ File file = new File("/tmp/latency_client");
parseArguments(args);
try {
+ FileOutputStream fos = new FileOutputStream(file, false);
+ final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
AiravataUtils.setExecutionAsServer();
String brokerUrl = ServerSettings.getSetting(RABBITMQ_BROKER_URL);
+ System.out.println("broker url " + brokerUrl);
final String exchangeName = ServerSettings.getSetting(RABBITMQ_EXCHANGE_NAME);
- RabbitMQConsumer consumer = new RabbitMQConsumer(brokerUrl, exchangeName);
+ RabbitMQStatusConsumer consumer = new RabbitMQStatusConsumer(brokerUrl, exchangeName);
consumer.listen(new MessageHandler() {
@Override
public Map<String, Object> getProperties() {
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/impl/RabbitMQStatusPublisher.java
----------------------------------------------------------------------
diff --cc modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/impl/RabbitMQStatusPublisher.java
index a149037,0000000..2ba7a19
mode 100644,000000..100644
--- a/modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/impl/RabbitMQStatusPublisher.java
+++ b/modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/impl/RabbitMQStatusPublisher.java
@@@ -1,107 -1,0 +1,106 @@@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.messaging.core.impl;
+
+import org.apache.airavata.common.exception.AiravataException;
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.common.utils.ThriftUtils;
+import org.apache.airavata.messaging.core.MessageContext;
+import org.apache.airavata.messaging.core.MessagingConstants;
+import org.apache.airavata.messaging.core.Publisher;
- import org.apache.airavata.messaging.core.stats.StatCounter;
+import org.apache.airavata.model.messaging.event.*;
+import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class RabbitMQStatusPublisher implements Publisher {
+
+ private static Logger log = LoggerFactory.getLogger(RabbitMQStatusPublisher.class);
+
+ private RabbitMQProducer rabbitMQProducer;
+
- StatCounter statCounter = StatCounter.getInstance();
++// StatCounter statCounter = StatCounter.getInstance();
+
+ public RabbitMQStatusPublisher() throws Exception {
+ String brokerUrl;
+ String exchangeName;
+ try {
+ brokerUrl = ServerSettings.getSetting(MessagingConstants.RABBITMQ_BROKER_URL);
+ exchangeName = ServerSettings.getSetting(MessagingConstants.RABBITMQ_STATUS_EXCHANGE_NAME);
+ } catch (ApplicationSettingsException e) {
+ String message = "Failed to get read the required properties from airavata to initialize rabbitmq";
+ log.error(message, e);
+ throw new AiravataException(message, e);
+ }
+ rabbitMQProducer = new RabbitMQProducer(brokerUrl, exchangeName);
+ rabbitMQProducer.open();
+ }
+
+ public void publish(MessageContext msgCtx) throws AiravataException {
+ try {
+ log.info("Publishing status to rabbitmq...");
+ byte[] body = ThriftUtils.serializeThriftObject(msgCtx.getEvent());
+ Message message = new Message();
+ message.setEvent(body);
+ message.setMessageId(msgCtx.getMessageId());
+ message.setMessageType(msgCtx.getType());
+ message.setUpdatedTime(msgCtx.getUpdatedTime().getTime());
+ String gatewayId = msgCtx.getGatewayId();
+ String routingKey = null;
+ if (msgCtx.getType() == MessageType.EXPERIMENT) {
+ ExperimentStatusChangeEvent event = (ExperimentStatusChangeEvent) msgCtx.getEvent();
+ routingKey = gatewayId + "." + event.getExperimentId();
+ } else if (msgCtx.getType() == MessageType.TASK) {
+ TaskStatusChangeEvent event = (TaskStatusChangeEvent) msgCtx.getEvent();
+ routingKey = gatewayId + "." + event.getTaskIdentity().getExperimentId() + "." +
+ event.getTaskIdentity().getWorkflowNodeId() + "." + event.getTaskIdentity().getTaskId();
+ } else if (msgCtx.getType() == MessageType.TASKOUTPUT) {
+ TaskOutputChangeEvent event = (TaskOutputChangeEvent) msgCtx.getEvent();
+ routingKey = gatewayId + "." + event.getTaskIdentity().getExperimentId() + "." +
+ event.getTaskIdentity().getWorkflowNodeId() + "." + event.getTaskIdentity().getTaskId();
+ } else if (msgCtx.getType() == MessageType.WORKFLOWNODE) {
+ WorkflowNodeStatusChangeEvent event = (WorkflowNodeStatusChangeEvent) msgCtx.getEvent();
+ WorkflowIdentifier workflowNodeIdentity = event.getWorkflowNodeIdentity();
+ routingKey = gatewayId + "." + workflowNodeIdentity.getExperimentId() + "." + workflowNodeIdentity.getWorkflowNodeId();
+ } else if (msgCtx.getType() == MessageType.JOB) {
+ JobStatusChangeEvent event = (JobStatusChangeEvent) msgCtx.getEvent();
+ JobIdentifier identity = event.getJobIdentity();
+ routingKey = gatewayId + "." + identity.getExperimentId() + "." +
+ identity.getWorkflowNodeId() + "." +
+ identity.getTaskId() + "." +
+ identity.getJobId();
+ }
+ byte[] messageBody = ThriftUtils.serializeThriftObject(message);
+ rabbitMQProducer.send(messageBody, routingKey);
- statCounter.add();
++// statCounter.add(message);
+ } catch (TException e) {
+ String msg = "Error while deserializing the object";
+ log.error(msg, e);
+ throw new AiravataException(msg, e);
+ } catch (Exception e) {
+ String msg = "Error while sending to rabbitmq";
+ log.error(msg, e);
+ throw new AiravataException(msg, e);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/stats/CountWriterTask.java
----------------------------------------------------------------------
diff --cc modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/stats/CountWriterTask.java
index 0000000,286e059..5261512
mode 000000,100644..100644
--- a/modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/stats/CountWriterTask.java
+++ b/modules/messaging/core/src/main/java/org/apache/airavata/messaging/core/stats/CountWriterTask.java
@@@ -1,0 -1,36 +1,35 @@@
+ package org.apache.airavata.messaging.core.stats;
+
+ import java.io.*;
+ import java.util.List;
+ import java.util.TimerTask;
+
+ public class CountWriterTask extends TimerTask {
+
+ private File file;
+ private FileOutputStream fos;
+ private BufferedWriter bw;
+
+ public void setFile(File file) {
+ this.file = file;
+
+ }
+
+ @Override
+ public void run() {
+ try {
- System.out.println("########### calling Write Task ############");
+ StatCounter statCounter = StatCounter.getInstance();
+ List<Long> contPer10S = statCounter.getMessageContPer10S();
+ fos = new FileOutputStream(file, false);
+ bw = new BufferedWriter(new OutputStreamWriter(fos));
+ for (int i = 0; i < contPer10S.size(); i++) {
+ bw.write(String.valueOf(i+1) + " :" + String.valueOf(contPer10S.get(i)));
+ bw.newLine();
+ }
+ bw.flush();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+ }
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/experiment/WorkflowInterpreterLaunchWindow.java
----------------------------------------------------------------------
diff --cc modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/experiment/WorkflowInterpreterLaunchWindow.java
index 3425a4f,7e7a8ba..2eece65
--- a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/experiment/WorkflowInterpreterLaunchWindow.java
+++ b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/experiment/WorkflowInterpreterLaunchWindow.java
@@@ -360,24 -355,9 +362,25 @@@ public class WorkflowInterpreterLaunchW
}else {
throw new RuntimeException("Resource scheduling failed, target computer resource host name is not defined");
}
+/*
+// code snippet for load test.
+ for (int i = 0; i < 20; i++) {
+ experiment.setName(instanceName + "_" + i);
+
+ experiment.setExperimentID(airavataClient.createExperiment(experiment));
+
+ try {
+ this.engine.getMonitor().subscribe(experiment.getExperimentID());
+ this.engine.getMonitor().fireStartMonitoring(workflow.getName());
+ } catch (MonitorException e) {
+ logger.error("Error while subscribing with experiment Id : " + experiment.getExperimentID(), e);
+ }
+ airavataClient.launchExperiment(experiment.getExperimentID(), "testToken");
+
+ }*/
- experiment.setExperimentID(airavataClient.createExperiment(experiment));
+ //FIXME:: use gatewayId from UI
+ experiment.setExperimentID(airavataClient.createExperiment("default", experiment));
try {
this.engine.getMonitor().subscribe(experiment.getExperimentID());
http://git-wip-us.apache.org/repos/asf/airavata/blob/0db33d2e/pom.xml
----------------------------------------------------------------------