You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2016/02/08 17:48:43 UTC
[01/50] [abbrv] airavata git commit: Adding API method descriptions
to App Catalog Airavata Thrift APIs
Repository: airavata
Updated Branches:
refs/heads/master 1a30d7f08 -> 4c7907706
Adding API method descriptions to App Catalog Airavata Thrift APIs
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/cda9014f
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/cda9014f
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/cda9014f
Branch: refs/heads/master
Commit: cda9014f87c4aa71d5dff2cd035593c5ee120bae
Parents: f1e1679
Author: Eroma Abeysinghe <er...@gmail.com>
Authored: Tue Jan 19 15:14:37 2016 -0500
Committer: Eroma Abeysinghe <er...@gmail.com>
Committed: Tue Jan 19 15:14:37 2016 -0500
----------------------------------------------------------------------
thrift-interface-descriptions/airavata-apis/airavata_api.thrift | 5 +++++
1 file changed, 5 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/cda9014f/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
index 5de721f..521b24b 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -2610,6 +2610,11 @@ service Airavata {
/**
* Fetch all gateway profiles registered
+ *
+ * @return GatewayResourceProfile
+ * Returns all the GatewayResourcePrifle list object.
+ *
+ *
**/
list<gateway_resource_profile_model.GatewayResourceProfile>
getAllGatewayResourceProfiles(1: required security_model.AuthzToken authzToken)
[33/50] [abbrv] airavata git commit: fixing compilation issue
Posted by ch...@apache.org.
fixing compilation issue
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/14a566a4
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/14a566a4
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/14a566a4
Branch: refs/heads/master
Commit: 14a566a47ce68d27684e1b891d1b39db2beba6ea
Parents: 2a2782a
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Wed Feb 3 15:42:49 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Wed Feb 3 15:42:49 2016 -0500
----------------------------------------------------------------------
.../core/app/catalog/impl/AppCatalogImpl.java | 1 +
.../app/catalog/impl/WorkflowCatalogImpl.java | 233 -------------------
.../catalog/impl/WorkflowCatalogImpl.java | 232 ++++++++++++++++++
.../core/workflow/catalog/model/Edge_PK.java | 8 +-
.../core/workflow/catalog/model/Node_PK.java | 8 +-
.../core/workflow/catalog/model/Port_PK.java | 8 +-
.../catalog/model/WorkflowOutput_PK.java | 8 +-
.../catalog/model/WorkflowStatus_PK.java | 8 +-
8 files changed, 253 insertions(+), 253 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/14a566a4/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java
index 27d2e14..60d4033 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java
@@ -22,6 +22,7 @@
package org.apache.airavata.registry.core.app.catalog.impl;
+import org.apache.airavata.registry.core.workflow.catalog.impl.WorkflowCatalogImpl;
import org.apache.airavata.registry.cpi.*;
public class AppCatalogImpl implements AppCatalog {
http://git-wip-us.apache.org/repos/asf/airavata/blob/14a566a4/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/WorkflowCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/WorkflowCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/WorkflowCatalogImpl.java
deleted file mode 100644
index 9c7df56..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/WorkflowCatalogImpl.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- *
- * 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.registry.core.app.catalog.impl;
-
-import org.apache.airavata.model.Workflow;
-import org.apache.airavata.model.application.io.InputDataObjectType;
-import org.apache.airavata.model.application.io.OutputDataObjectType;
-import org.apache.airavata.registry.core.workflow.catalog.resources.*;
-import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogThriftConversion;
-import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogUtils;
-import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.apache.airavata.registry.cpi.WorkflowCatalog;
-import org.apache.airavata.registry.cpi.WorkflowCatalogException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class WorkflowCatalogImpl implements WorkflowCatalog {
- private final static Logger logger = LoggerFactory.getLogger(WorkflowCatalogImpl.class);
-
- @Override
- public List<String> getAllWorkflows(String gatewayId) throws WorkflowCatalogException {
- List<String> workflowIds = new ArrayList<String>();
- try {
- WorkflowResource resource = new WorkflowResource();
- resource.setGatewayId(gatewayId);
- workflowIds = resource.getAllIds();
- } catch (Exception e) {
- logger.error("Error while retrieving all the workflow template ids...", e);
- throw new WorkflowCatalogException(e);
- }
- return workflowIds;
- }
-
- @Override
- public Workflow getWorkflow(String workflowTemplateId) throws WorkflowCatalogException {
- try {
- WorkflowResource resource = new WorkflowResource();
- WorkflowResource wfResource = (WorkflowResource)resource.get(workflowTemplateId);
- return WorkflowCatalogThriftConversion.getWorkflow(wfResource);
- } catch (Exception e) {
- logger.error("Error while retrieving the workflow...", e);
- throw new WorkflowCatalogException(e);
- }
- }
-
- @Override
- public void deleteWorkflow(String workflowTemplateId) throws WorkflowCatalogException {
- try {
- WorkflowResource resource = new WorkflowResource();
- resource.remove(workflowTemplateId);
- } catch (Exception e) {
- logger.error("Error while deleting the workflow...", e);
- throw new WorkflowCatalogException(e);
- }
- }
-
- @Override
- public String registerWorkflow(Workflow workflow, String gatewayId) throws WorkflowCatalogException {
- try {
- WorkflowResource resource = new WorkflowResource();
- resource.setWfTemplateId(WorkflowCatalogUtils.getID(workflow.getName()));
- resource.setWfName(workflow.getName());
- resource.setGraph(workflow.getGraph());
- resource.setGatewayId(gatewayId);
- if (workflow.getImage() != null){
- resource.setImage(new String(workflow.getImage()));
- }
- resource.save();
- workflow.setTemplateId(resource.getWfTemplateId());
- List<InputDataObjectType> workflowInputs = workflow.getWorkflowInputs();
- if (workflowInputs != null && workflowInputs.size() != 0){
- for (InputDataObjectType input : workflowInputs){
- WorkflowInputResource wfInputResource = new WorkflowInputResource();
- wfInputResource.setWorkflowResource(resource);
- wfInputResource.setInputKey(input.getName());
- wfInputResource.setInputVal(input.getValue());
- wfInputResource.setWfTemplateId(resource.getWfTemplateId());
- wfInputResource.setDataType(input.getType().toString());
- wfInputResource.setAppArgument(input.getApplicationArgument());
- wfInputResource.setStandardInput(input.isStandardInput());
- wfInputResource.setUserFriendlyDesc(input.getUserFriendlyDescription());
- wfInputResource.setMetadata(input.getMetaData());
- wfInputResource.save();
- }
- }
- List<OutputDataObjectType> workflowOutputs = workflow.getWorkflowOutputs();
- if (workflowOutputs != null && workflowOutputs.size() != 0){
- for (OutputDataObjectType output : workflowOutputs){
- WorkflowOutputResource outputResource = new WorkflowOutputResource();
- outputResource.setWorkflowResource(resource);
- outputResource.setOutputKey(output.getName());
- outputResource.setOutputVal(output.getValue());
- outputResource.setWfTemplateId(resource.getWfTemplateId());
- outputResource.setDataType(output.getType().toString());
- outputResource.save();
- }
- }
- return resource.getWfTemplateId();
- } catch (Exception e) {
- logger.error("Error while saving the workflow...", e);
- throw new WorkflowCatalogException(e);
- }
- }
-
- @Override
- public void updateWorkflow(String workflowTemplateId, Workflow workflow) throws WorkflowCatalogException {
- try {
- WorkflowResource resource = new WorkflowResource();
- WorkflowResource existingWF = (WorkflowResource)resource.get(workflowTemplateId);
- existingWF.setWfName(workflow.getName());
- existingWF.setGraph(workflow.getGraph());
- if (workflow.getImage() != null){
- existingWF.setImage(new String(workflow.getImage()));
- }
- existingWF.save();
- List<InputDataObjectType> existingwFInputs = workflow.getWorkflowInputs();
- if (existingwFInputs != null && existingwFInputs.size() != 0){
- for (InputDataObjectType input : existingwFInputs){
- WorkflowInputResource wfInputResource = new WorkflowInputResource();
- Map<String, String> ids = new HashMap<String, String>();
- ids.put(WorkflowCatAbstractResource.WorkflowInputConstants.WF_TEMPLATE_ID,existingWF.getWfTemplateId());
- ids.put(WorkflowCatAbstractResource.WorkflowInputConstants.INPUT_KEY,input.getName());
- WorkflowInputResource existingInput = (WorkflowInputResource)wfInputResource.get(ids);
- existingInput.setWorkflowResource(existingWF);
- existingInput.setInputKey(input.getName());
- existingInput.setInputVal(input.getValue());
- existingInput.setWfTemplateId(existingWF.getWfTemplateId());
- existingInput.setDataType(input.getType().toString());
- existingInput.setAppArgument(input.getApplicationArgument());
- existingInput.setStandardInput(input.isStandardInput());
- existingInput.setUserFriendlyDesc(input.getUserFriendlyDescription());
- existingInput.setMetadata(input.getMetaData());
- existingInput.save();
- }
- }
- List<OutputDataObjectType> workflowOutputs = workflow.getWorkflowOutputs();
- if (workflowOutputs != null && workflowOutputs.size() != 0){
- for (OutputDataObjectType output : workflowOutputs){
- WorkflowOutputResource outputResource = new WorkflowOutputResource();
- Map<String, String> ids = new HashMap<String, String>();
- ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.WF_TEMPLATE_ID,existingWF.getWfTemplateId());
- ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.OUTPUT_KEY,output.getName());
- WorkflowOutputResource existingOutput = (WorkflowOutputResource)outputResource.get(ids);
- existingOutput.setWorkflowResource(existingWF);
- existingOutput.setOutputKey(output.getName());
- existingOutput.setOutputVal(output.getValue());
- existingOutput.setWfTemplateId(existingWF.getWfTemplateId());
- existingOutput.setDataType(output.getType().toString());
- existingOutput.save();
- }
- }
- } catch (Exception e) {
- logger.error("Error while updating the workflow...", e);
- throw new WorkflowCatalogException(e);
- }
- }
-
- @Override
- public String getWorkflowTemplateId(String workflowName) throws WorkflowCatalogException {
- try {
- WorkflowResource resource = new WorkflowResource();
- List<WorkflowCatalogResource> resourceList = resource.get(WorkflowCatAbstractResource.WorkflowConstants.WORKFLOW_NAME, workflowName);
- if (resourceList != null && !resourceList.isEmpty()){
- WorkflowResource wfResource = (WorkflowResource)resourceList.get(0);
- return wfResource.getWfTemplateId();
- }
- } catch (Exception e) {
- logger.error("Error while retrieving the workflow with the workflow name...", e);
- throw new WorkflowCatalogException(e);
- }
- return null;
- }
-
- @Override
- public boolean isWorkflowExistWithName(String workflowName) throws WorkflowCatalogException {
- try {
- WorkflowResource resource = new WorkflowResource();
- List<WorkflowCatalogResource> resourceList = resource.get(WorkflowCatAbstractResource.WorkflowConstants.WORKFLOW_NAME, workflowName);
- if (resourceList != null && !resourceList.isEmpty()){
- return true;
- }
- } catch (Exception e) {
- logger.error("Error while retrieving the workflow with the workflow name...", e);
- throw new WorkflowCatalogException(e);
- }
- return false;
- }
-
- @Override
- public void updateWorkflowOutputs(String workflowTemplateId, List<OutputDataObjectType> workflowOutputs) throws WorkflowCatalogException {
- WorkflowResource resource = new WorkflowResource();
- WorkflowResource existingWF = (WorkflowResource)resource.get(workflowTemplateId);
- if (workflowOutputs != null && workflowOutputs.size() != 0) {
- for (OutputDataObjectType output : workflowOutputs) {
- WorkflowOutputResource outputResource = new WorkflowOutputResource();
- Map<String, String> ids = new HashMap<String, String>();
- ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.WF_TEMPLATE_ID, existingWF.getWfTemplateId());
- ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.OUTPUT_KEY, output.getName());
- WorkflowOutputResource existingOutput = (WorkflowOutputResource) outputResource.get(ids);
- existingOutput.setWorkflowResource(existingWF);
- existingOutput.setOutputKey(output.getName());
- existingOutput.setOutputVal(output.getValue());
- existingOutput.setWfTemplateId(existingWF.getWfTemplateId());
- existingOutput.setDataType(output.getType().toString());
- existingOutput.save();
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/14a566a4/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
new file mode 100644
index 0000000..8c0ced4
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
@@ -0,0 +1,232 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.impl;
+
+import org.apache.airavata.model.Workflow;
+import org.apache.airavata.model.application.io.InputDataObjectType;
+import org.apache.airavata.model.application.io.OutputDataObjectType;
+import org.apache.airavata.registry.core.workflow.catalog.resources.*;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogThriftConversion;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogUtils;
+import org.apache.airavata.registry.cpi.WorkflowCatalog;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class WorkflowCatalogImpl implements WorkflowCatalog {
+ private final static Logger logger = LoggerFactory.getLogger(WorkflowCatalogImpl.class);
+
+ @Override
+ public List<String> getAllWorkflows(String gatewayId) throws WorkflowCatalogException {
+ List<String> workflowIds = new ArrayList<String>();
+ try {
+ WorkflowResource resource = new WorkflowResource();
+ resource.setGatewayId(gatewayId);
+ workflowIds = resource.getAllIds();
+ } catch (Exception e) {
+ logger.error("Error while retrieving all the workflow template ids...", e);
+ throw new WorkflowCatalogException(e);
+ }
+ return workflowIds;
+ }
+
+ @Override
+ public Workflow getWorkflow(String workflowTemplateId) throws WorkflowCatalogException {
+ try {
+ WorkflowResource resource = new WorkflowResource();
+ WorkflowResource wfResource = (WorkflowResource)resource.get(workflowTemplateId);
+ return WorkflowCatalogThriftConversion.getWorkflow(wfResource);
+ } catch (Exception e) {
+ logger.error("Error while retrieving the workflow...", e);
+ throw new WorkflowCatalogException(e);
+ }
+ }
+
+ @Override
+ public void deleteWorkflow(String workflowTemplateId) throws WorkflowCatalogException {
+ try {
+ WorkflowResource resource = new WorkflowResource();
+ resource.remove(workflowTemplateId);
+ } catch (Exception e) {
+ logger.error("Error while deleting the workflow...", e);
+ throw new WorkflowCatalogException(e);
+ }
+ }
+
+ @Override
+ public String registerWorkflow(Workflow workflow, String gatewayId) throws WorkflowCatalogException {
+ try {
+ WorkflowResource resource = new WorkflowResource();
+ resource.setWfTemplateId(WorkflowCatalogUtils.getID(workflow.getName()));
+ resource.setWfName(workflow.getName());
+ resource.setGraph(workflow.getGraph());
+ resource.setGatewayId(gatewayId);
+ if (workflow.getImage() != null){
+ resource.setImage(new String(workflow.getImage()));
+ }
+ resource.save();
+ workflow.setTemplateId(resource.getWfTemplateId());
+ List<InputDataObjectType> workflowInputs = workflow.getWorkflowInputs();
+ if (workflowInputs != null && workflowInputs.size() != 0){
+ for (InputDataObjectType input : workflowInputs){
+ WorkflowInputResource wfInputResource = new WorkflowInputResource();
+ wfInputResource.setWorkflowResource(resource);
+ wfInputResource.setInputKey(input.getName());
+ wfInputResource.setInputVal(input.getValue());
+ wfInputResource.setWfTemplateId(resource.getWfTemplateId());
+ wfInputResource.setDataType(input.getType().toString());
+ wfInputResource.setAppArgument(input.getApplicationArgument());
+ wfInputResource.setStandardInput(input.isStandardInput());
+ wfInputResource.setUserFriendlyDesc(input.getUserFriendlyDescription());
+ wfInputResource.setMetadata(input.getMetaData());
+ wfInputResource.save();
+ }
+ }
+ List<OutputDataObjectType> workflowOutputs = workflow.getWorkflowOutputs();
+ if (workflowOutputs != null && workflowOutputs.size() != 0){
+ for (OutputDataObjectType output : workflowOutputs){
+ WorkflowOutputResource outputResource = new WorkflowOutputResource();
+ outputResource.setWorkflowResource(resource);
+ outputResource.setOutputKey(output.getName());
+ outputResource.setOutputVal(output.getValue());
+ outputResource.setWfTemplateId(resource.getWfTemplateId());
+ outputResource.setDataType(output.getType().toString());
+ outputResource.save();
+ }
+ }
+ return resource.getWfTemplateId();
+ } catch (Exception e) {
+ logger.error("Error while saving the workflow...", e);
+ throw new WorkflowCatalogException(e);
+ }
+ }
+
+ @Override
+ public void updateWorkflow(String workflowTemplateId, Workflow workflow) throws WorkflowCatalogException {
+ try {
+ WorkflowResource resource = new WorkflowResource();
+ WorkflowResource existingWF = (WorkflowResource)resource.get(workflowTemplateId);
+ existingWF.setWfName(workflow.getName());
+ existingWF.setGraph(workflow.getGraph());
+ if (workflow.getImage() != null){
+ existingWF.setImage(new String(workflow.getImage()));
+ }
+ existingWF.save();
+ List<InputDataObjectType> existingwFInputs = workflow.getWorkflowInputs();
+ if (existingwFInputs != null && existingwFInputs.size() != 0){
+ for (InputDataObjectType input : existingwFInputs){
+ WorkflowInputResource wfInputResource = new WorkflowInputResource();
+ Map<String, String> ids = new HashMap<String, String>();
+ ids.put(WorkflowCatAbstractResource.WorkflowInputConstants.WF_TEMPLATE_ID,existingWF.getWfTemplateId());
+ ids.put(WorkflowCatAbstractResource.WorkflowInputConstants.INPUT_KEY,input.getName());
+ WorkflowInputResource existingInput = (WorkflowInputResource)wfInputResource.get(ids);
+ existingInput.setWorkflowResource(existingWF);
+ existingInput.setInputKey(input.getName());
+ existingInput.setInputVal(input.getValue());
+ existingInput.setWfTemplateId(existingWF.getWfTemplateId());
+ existingInput.setDataType(input.getType().toString());
+ existingInput.setAppArgument(input.getApplicationArgument());
+ existingInput.setStandardInput(input.isStandardInput());
+ existingInput.setUserFriendlyDesc(input.getUserFriendlyDescription());
+ existingInput.setMetadata(input.getMetaData());
+ existingInput.save();
+ }
+ }
+ List<OutputDataObjectType> workflowOutputs = workflow.getWorkflowOutputs();
+ if (workflowOutputs != null && workflowOutputs.size() != 0){
+ for (OutputDataObjectType output : workflowOutputs){
+ WorkflowOutputResource outputResource = new WorkflowOutputResource();
+ Map<String, String> ids = new HashMap<String, String>();
+ ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.WF_TEMPLATE_ID,existingWF.getWfTemplateId());
+ ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.OUTPUT_KEY,output.getName());
+ WorkflowOutputResource existingOutput = (WorkflowOutputResource)outputResource.get(ids);
+ existingOutput.setWorkflowResource(existingWF);
+ existingOutput.setOutputKey(output.getName());
+ existingOutput.setOutputVal(output.getValue());
+ existingOutput.setWfTemplateId(existingWF.getWfTemplateId());
+ existingOutput.setDataType(output.getType().toString());
+ existingOutput.save();
+ }
+ }
+ } catch (Exception e) {
+ logger.error("Error while updating the workflow...", e);
+ throw new WorkflowCatalogException(e);
+ }
+ }
+
+ @Override
+ public String getWorkflowTemplateId(String workflowName) throws WorkflowCatalogException {
+ try {
+ WorkflowResource resource = new WorkflowResource();
+ List<WorkflowCatalogResource> resourceList = resource.get(WorkflowCatAbstractResource.WorkflowConstants.WORKFLOW_NAME, workflowName);
+ if (resourceList != null && !resourceList.isEmpty()){
+ WorkflowResource wfResource = (WorkflowResource)resourceList.get(0);
+ return wfResource.getWfTemplateId();
+ }
+ } catch (Exception e) {
+ logger.error("Error while retrieving the workflow with the workflow name...", e);
+ throw new WorkflowCatalogException(e);
+ }
+ return null;
+ }
+
+ @Override
+ public boolean isWorkflowExistWithName(String workflowName) throws WorkflowCatalogException {
+ try {
+ WorkflowResource resource = new WorkflowResource();
+ List<WorkflowCatalogResource> resourceList = resource.get(WorkflowCatAbstractResource.WorkflowConstants.WORKFLOW_NAME, workflowName);
+ if (resourceList != null && !resourceList.isEmpty()){
+ return true;
+ }
+ } catch (Exception e) {
+ logger.error("Error while retrieving the workflow with the workflow name...", e);
+ throw new WorkflowCatalogException(e);
+ }
+ return false;
+ }
+
+ @Override
+ public void updateWorkflowOutputs(String workflowTemplateId, List<OutputDataObjectType> workflowOutputs) throws WorkflowCatalogException {
+ WorkflowResource resource = new WorkflowResource();
+ WorkflowResource existingWF = (WorkflowResource)resource.get(workflowTemplateId);
+ if (workflowOutputs != null && workflowOutputs.size() != 0) {
+ for (OutputDataObjectType output : workflowOutputs) {
+ WorkflowOutputResource outputResource = new WorkflowOutputResource();
+ Map<String, String> ids = new HashMap<String, String>();
+ ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.WF_TEMPLATE_ID, existingWF.getWfTemplateId());
+ ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.OUTPUT_KEY, output.getName());
+ WorkflowOutputResource existingOutput = (WorkflowOutputResource) outputResource.get(ids);
+ existingOutput.setWorkflowResource(existingWF);
+ existingOutput.setOutputKey(output.getName());
+ existingOutput.setOutputVal(output.getValue());
+ existingOutput.setWfTemplateId(existingWF.getWfTemplateId());
+ existingOutput.setDataType(output.getType().toString());
+ existingOutput.save();
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/14a566a4/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge_PK.java
index dedbb45..8d472f0 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge_PK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge_PK.java
@@ -24,11 +24,11 @@ package org.apache.airavata.registry.core.workflow.catalog.model;
import java.io.Serializable;
public class Edge_PK implements Serializable {
- private String templateID;
+ private String templateId;
private String edgeId;
public Edge_PK(String templateId, String edgeId) {
- this.templateID = templateId;
+ this.templateId = templateId;
this.edgeId = edgeId;
}
@@ -47,11 +47,11 @@ public class Edge_PK implements Serializable {
}
public String getTemplateID() {
- return templateID;
+ return templateId;
}
public void setTemplateID(String templateID) {
- this.templateID = templateID;
+ this.templateId = templateID;
}
public String getEdgeId() {
http://git-wip-us.apache.org/repos/asf/airavata/blob/14a566a4/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node_PK.java
index d9ee7a2..8f3c72f 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node_PK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node_PK.java
@@ -24,11 +24,11 @@ package org.apache.airavata.registry.core.workflow.catalog.model;
import java.io.Serializable;
public class Node_PK implements Serializable {
- private String templateID;
+ private String templateId;
private String nodeId;
public Node_PK(String templateId, String nodeId) {
- this.templateID = templateId;
+ this.templateId = templateId;
this.nodeId = nodeId;
}
@@ -47,11 +47,11 @@ public class Node_PK implements Serializable {
}
public String getTemplateID() {
- return templateID;
+ return templateId;
}
public void setTemplateID(String templateID) {
- this.templateID = templateID;
+ this.templateId = templateID;
}
public String getNodeId() {
http://git-wip-us.apache.org/repos/asf/airavata/blob/14a566a4/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port_PK.java
index a0305ed..ff43ece 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port_PK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port_PK.java
@@ -24,11 +24,11 @@ package org.apache.airavata.registry.core.workflow.catalog.model;
import java.io.Serializable;
public class Port_PK implements Serializable {
- private String templateID;
+ private String templateId;
private String portId;
public Port_PK(String templateId, String portId) {
- this.templateID = templateId;
+ this.templateId = templateId;
this.portId = portId;
}
@@ -47,11 +47,11 @@ public class Port_PK implements Serializable {
}
public String getTemplateID() {
- return templateID;
+ return templateId;
}
public void setTemplateID(String templateID) {
- this.templateID = templateID;
+ this.templateId = templateID;
}
public String getPortId() {
http://git-wip-us.apache.org/repos/asf/airavata/blob/14a566a4/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput_PK.java
index d36f2ca..0c1552c 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput_PK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput_PK.java
@@ -24,11 +24,11 @@ package org.apache.airavata.registry.core.workflow.catalog.model;
import java.io.Serializable;
public class WorkflowOutput_PK implements Serializable {
- private String templateID;
+ private String templateId;
private String outputKey;
public WorkflowOutput_PK(String templateId, String outputKey) {
- this.templateID = templateId;
+ this.templateId = templateId;
this.outputKey = outputKey;
}
@@ -47,11 +47,11 @@ public class WorkflowOutput_PK implements Serializable {
}
public String getTemplateID() {
- return templateID;
+ return templateId;
}
public void setTemplateID(String templateID) {
- this.templateID = templateID;
+ this.templateId = templateID;
}
public String getOutputKey() {
http://git-wip-us.apache.org/repos/asf/airavata/blob/14a566a4/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus_PK.java
index ac33cc9..4e1fbfa 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus_PK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus_PK.java
@@ -24,11 +24,11 @@ package org.apache.airavata.registry.core.workflow.catalog.model;
import java.io.Serializable;
public class WorkflowStatus_PK implements Serializable {
- private String templateID;
+ private String templateId;
private String statusId;
public WorkflowStatus_PK(String templateId, String statusId) {
- this.templateID = templateId;
+ this.templateId = templateId;
this.statusId = statusId;
}
@@ -47,11 +47,11 @@ public class WorkflowStatus_PK implements Serializable {
}
public String getTemplateID() {
- return templateID;
+ return templateId;
}
public void setTemplateID(String templateID) {
- this.templateID = templateID;
+ this.templateId = templateID;
}
public String getStatusId() {
[43/50] [abbrv] airavata git commit: update generated code and fixing
compilation issues
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/ttypes.py
index 8aa21e7..a18a061 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/ttypes.py
@@ -19,16 +19,77 @@ except:
fastbinary = None
+class WorkflowState:
+ CREATED = 0
+ STARTED = 1
+ EXECUTING = 2
+ COMPLETED = 3
+ FAILED = 4
+ CANCELLING = 5
+ CANCELED = 6
-class Workflow:
+ _VALUES_TO_NAMES = {
+ 0: "CREATED",
+ 1: "STARTED",
+ 2: "EXECUTING",
+ 3: "COMPLETED",
+ 4: "FAILED",
+ 5: "CANCELLING",
+ 6: "CANCELED",
+ }
+
+ _NAMES_TO_VALUES = {
+ "CREATED": 0,
+ "STARTED": 1,
+ "EXECUTING": 2,
+ "COMPLETED": 3,
+ "FAILED": 4,
+ "CANCELLING": 5,
+ "CANCELED": 6,
+ }
+
+class ComponentState:
+ CREATED = 0
+ WAITING = 1
+ READY = 2
+ RUNNING = 3
+ COMPLETED = 4
+ FAILED = 5
+ CANCELED = 6
+
+ _VALUES_TO_NAMES = {
+ 0: "CREATED",
+ 1: "WAITING",
+ 2: "READY",
+ 3: "RUNNING",
+ 4: "COMPLETED",
+ 5: "FAILED",
+ 6: "CANCELED",
+ }
+
+ _NAMES_TO_VALUES = {
+ "CREATED": 0,
+ "WAITING": 1,
+ "READY": 2,
+ "RUNNING": 3,
+ "COMPLETED": 4,
+ "FAILED": 5,
+ "CANCELED": 6,
+ }
+
+
+class WorkflowModel:
"""
Attributes:
- templateId
- name
- graph
+ - gatewayId
+ - createdUser
- image
- workflowInputs
- workflowOutputs
+ - creationTime
"""
thrift_spec = (
@@ -36,18 +97,24 @@ class Workflow:
(1, TType.STRING, 'templateId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
(2, TType.STRING, 'name', None, None, ), # 2
(3, TType.STRING, 'graph', None, None, ), # 3
- (4, TType.STRING, 'image', None, None, ), # 4
- (5, TType.LIST, 'workflowInputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.InputDataObjectType, apache.airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec)), None, ), # 5
- (6, TType.LIST, 'workflowOutputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.OutputDataObjectType, apache.airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec)), None, ), # 6
+ (4, TType.STRING, 'gatewayId', None, None, ), # 4
+ (5, TType.STRING, 'createdUser', None, None, ), # 5
+ (6, TType.STRING, 'image', None, None, ), # 6
+ (7, TType.LIST, 'workflowInputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.InputDataObjectType, apache.airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec)), None, ), # 7
+ (8, TType.LIST, 'workflowOutputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.OutputDataObjectType, apache.airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec)), None, ), # 8
+ (9, TType.I64, 'creationTime', None, None, ), # 9
)
- def __init__(self, templateId=thrift_spec[1][4], name=None, graph=None, image=None, workflowInputs=None, workflowOutputs=None,):
+ def __init__(self, templateId=thrift_spec[1][4], name=None, graph=None, gatewayId=None, createdUser=None, image=None, workflowInputs=None, workflowOutputs=None, creationTime=None,):
self.templateId = templateId
self.name = name
self.graph = graph
+ self.gatewayId = gatewayId
+ self.createdUser = createdUser
self.image = image
self.workflowInputs = workflowInputs
self.workflowOutputs = workflowOutputs
+ self.creationTime = creationTime
def read(self, iprot):
if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -75,10 +142,20 @@ class Workflow:
iprot.skip(ftype)
elif fid == 4:
if ftype == TType.STRING:
- self.image = iprot.readString()
+ self.gatewayId = iprot.readString()
else:
iprot.skip(ftype)
elif fid == 5:
+ if ftype == TType.STRING:
+ self.createdUser = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.STRING:
+ self.image = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 7:
if ftype == TType.LIST:
self.workflowInputs = []
(_etype3, _size0) = iprot.readListBegin()
@@ -89,7 +166,7 @@ class Workflow:
iprot.readListEnd()
else:
iprot.skip(ftype)
- elif fid == 6:
+ elif fid == 8:
if ftype == TType.LIST:
self.workflowOutputs = []
(_etype9, _size6) = iprot.readListBegin()
@@ -100,6 +177,11 @@ class Workflow:
iprot.readListEnd()
else:
iprot.skip(ftype)
+ elif fid == 9:
+ if ftype == TType.I64:
+ self.creationTime = iprot.readI64()
+ else:
+ iprot.skip(ftype)
else:
iprot.skip(ftype)
iprot.readFieldEnd()
@@ -109,7 +191,7 @@ class Workflow:
if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
return
- oprot.writeStructBegin('Workflow')
+ oprot.writeStructBegin('WorkflowModel')
if self.templateId is not None:
oprot.writeFieldBegin('templateId', TType.STRING, 1)
oprot.writeString(self.templateId)
@@ -122,24 +204,36 @@ class Workflow:
oprot.writeFieldBegin('graph', TType.STRING, 3)
oprot.writeString(self.graph)
oprot.writeFieldEnd()
+ if self.gatewayId is not None:
+ oprot.writeFieldBegin('gatewayId', TType.STRING, 4)
+ oprot.writeString(self.gatewayId)
+ oprot.writeFieldEnd()
+ if self.createdUser is not None:
+ oprot.writeFieldBegin('createdUser', TType.STRING, 5)
+ oprot.writeString(self.createdUser)
+ oprot.writeFieldEnd()
if self.image is not None:
- oprot.writeFieldBegin('image', TType.STRING, 4)
+ oprot.writeFieldBegin('image', TType.STRING, 6)
oprot.writeString(self.image)
oprot.writeFieldEnd()
if self.workflowInputs is not None:
- oprot.writeFieldBegin('workflowInputs', TType.LIST, 5)
+ oprot.writeFieldBegin('workflowInputs', TType.LIST, 7)
oprot.writeListBegin(TType.STRUCT, len(self.workflowInputs))
for iter12 in self.workflowInputs:
iter12.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.workflowOutputs is not None:
- oprot.writeFieldBegin('workflowOutputs', TType.LIST, 6)
+ oprot.writeFieldBegin('workflowOutputs', TType.LIST, 8)
oprot.writeListBegin(TType.STRUCT, len(self.workflowOutputs))
for iter13 in self.workflowOutputs:
iter13.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
+ if self.creationTime is not None:
+ oprot.writeFieldBegin('creationTime', TType.I64, 9)
+ oprot.writeI64(self.creationTime)
+ oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -148,6 +242,12 @@ class Workflow:
raise TProtocol.TProtocolException(message='Required field templateId is unset!')
if self.name is None:
raise TProtocol.TProtocolException(message='Required field name is unset!')
+ if self.graph is None:
+ raise TProtocol.TProtocolException(message='Required field graph is unset!')
+ if self.gatewayId is None:
+ raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
+ if self.createdUser is None:
+ raise TProtocol.TProtocolException(message='Required field createdUser is unset!')
return
@@ -156,9 +256,558 @@ class Workflow:
value = (value * 31) ^ hash(self.templateId)
value = (value * 31) ^ hash(self.name)
value = (value * 31) ^ hash(self.graph)
+ value = (value * 31) ^ hash(self.gatewayId)
+ value = (value * 31) ^ hash(self.createdUser)
value = (value * 31) ^ hash(self.image)
value = (value * 31) ^ hash(self.workflowInputs)
value = (value * 31) ^ hash(self.workflowOutputs)
+ value = (value * 31) ^ hash(self.creationTime)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class ComponentStatus:
+ """
+ Attributes:
+ - state
+ - reason
+ - timeofStateChange
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.I32, 'state', None, 0, ), # 1
+ (2, TType.STRING, 'reason', None, None, ), # 2
+ (3, TType.I64, 'timeofStateChange', None, None, ), # 3
+ )
+
+ def __init__(self, state=thrift_spec[1][4], reason=None, timeofStateChange=None,):
+ self.state = state
+ self.reason = reason
+ self.timeofStateChange = timeofStateChange
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.I32:
+ self.state = iprot.readI32()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.reason = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.I64:
+ self.timeofStateChange = iprot.readI64()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('ComponentStatus')
+ if self.state is not None:
+ oprot.writeFieldBegin('state', TType.I32, 1)
+ oprot.writeI32(self.state)
+ oprot.writeFieldEnd()
+ if self.reason is not None:
+ oprot.writeFieldBegin('reason', TType.STRING, 2)
+ oprot.writeString(self.reason)
+ oprot.writeFieldEnd()
+ if self.timeofStateChange is not None:
+ oprot.writeFieldBegin('timeofStateChange', TType.I64, 3)
+ oprot.writeI64(self.timeofStateChange)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.state is None:
+ raise TProtocol.TProtocolException(message='Required field state is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.state)
+ value = (value * 31) ^ hash(self.reason)
+ value = (value * 31) ^ hash(self.timeofStateChange)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class WorkflowStatus:
+ """
+ Attributes:
+ - state
+ - timeOfStateChange
+ - reason
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.I32, 'state', None, None, ), # 1
+ (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+ (3, TType.STRING, 'reason', None, None, ), # 3
+ )
+
+ def __init__(self, state=None, timeOfStateChange=None, reason=None,):
+ self.state = state
+ self.timeOfStateChange = timeOfStateChange
+ self.reason = reason
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.I32:
+ self.state = iprot.readI32()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.I64:
+ self.timeOfStateChange = iprot.readI64()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.reason = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('WorkflowStatus')
+ if self.state is not None:
+ oprot.writeFieldBegin('state', TType.I32, 1)
+ oprot.writeI32(self.state)
+ oprot.writeFieldEnd()
+ if self.timeOfStateChange is not None:
+ oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+ oprot.writeI64(self.timeOfStateChange)
+ oprot.writeFieldEnd()
+ if self.reason is not None:
+ oprot.writeFieldBegin('reason', TType.STRING, 3)
+ oprot.writeString(self.reason)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.state is None:
+ raise TProtocol.TProtocolException(message='Required field state is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.state)
+ value = (value * 31) ^ hash(self.timeOfStateChange)
+ value = (value * 31) ^ hash(self.reason)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class EdgeModel:
+ """
+ Attributes:
+ - edgeId
+ - name
+ - status
+ - description
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'edgeId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.STRING, 'name', None, None, ), # 2
+ (3, TType.STRUCT, 'status', (ComponentStatus, ComponentStatus.thrift_spec), None, ), # 3
+ (4, TType.STRING, 'description', None, None, ), # 4
+ )
+
+ def __init__(self, edgeId=thrift_spec[1][4], name=None, status=None, description=None,):
+ self.edgeId = edgeId
+ self.name = name
+ self.status = status
+ self.description = description
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.edgeId = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.name = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.status = ComponentStatus()
+ self.status.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.description = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('EdgeModel')
+ if self.edgeId is not None:
+ oprot.writeFieldBegin('edgeId', TType.STRING, 1)
+ oprot.writeString(self.edgeId)
+ oprot.writeFieldEnd()
+ if self.name is not None:
+ oprot.writeFieldBegin('name', TType.STRING, 2)
+ oprot.writeString(self.name)
+ oprot.writeFieldEnd()
+ if self.status is not None:
+ oprot.writeFieldBegin('status', TType.STRUCT, 3)
+ self.status.write(oprot)
+ oprot.writeFieldEnd()
+ if self.description is not None:
+ oprot.writeFieldBegin('description', TType.STRING, 4)
+ oprot.writeString(self.description)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.edgeId is None:
+ raise TProtocol.TProtocolException(message='Required field edgeId is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.edgeId)
+ value = (value * 31) ^ hash(self.name)
+ value = (value * 31) ^ hash(self.status)
+ value = (value * 31) ^ hash(self.description)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class PortModel:
+ """
+ Attributes:
+ - portId
+ - name
+ - status
+ - value
+ - description
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'portId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.STRING, 'name', None, None, ), # 2
+ (3, TType.STRUCT, 'status', (ComponentStatus, ComponentStatus.thrift_spec), None, ), # 3
+ (4, TType.STRING, 'value', None, None, ), # 4
+ (5, TType.STRING, 'description', None, None, ), # 5
+ )
+
+ def __init__(self, portId=thrift_spec[1][4], name=None, status=None, value=None, description=None,):
+ self.portId = portId
+ self.name = name
+ self.status = status
+ self.value = value
+ self.description = description
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.portId = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.name = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRUCT:
+ self.status = ComponentStatus()
+ self.status.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.value = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRING:
+ self.description = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('PortModel')
+ if self.portId is not None:
+ oprot.writeFieldBegin('portId', TType.STRING, 1)
+ oprot.writeString(self.portId)
+ oprot.writeFieldEnd()
+ if self.name is not None:
+ oprot.writeFieldBegin('name', TType.STRING, 2)
+ oprot.writeString(self.name)
+ oprot.writeFieldEnd()
+ if self.status is not None:
+ oprot.writeFieldBegin('status', TType.STRUCT, 3)
+ self.status.write(oprot)
+ oprot.writeFieldEnd()
+ if self.value is not None:
+ oprot.writeFieldBegin('value', TType.STRING, 4)
+ oprot.writeString(self.value)
+ oprot.writeFieldEnd()
+ if self.description is not None:
+ oprot.writeFieldBegin('description', TType.STRING, 5)
+ oprot.writeString(self.description)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.portId is None:
+ raise TProtocol.TProtocolException(message='Required field portId is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.portId)
+ value = (value * 31) ^ hash(self.name)
+ value = (value * 31) ^ hash(self.status)
+ value = (value * 31) ^ hash(self.value)
+ value = (value * 31) ^ hash(self.description)
+ return value
+
+ def __repr__(self):
+ L = ['%s=%r' % (key, value)
+ for key, value in self.__dict__.iteritems()]
+ return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+ def __eq__(self, other):
+ return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ return not (self == other)
+
+class NodeModel:
+ """
+ Attributes:
+ - nodeId
+ - name
+ - applicationId
+ - applicationName
+ - status
+ - description
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRING, 'nodeId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+ (2, TType.STRING, 'name', None, None, ), # 2
+ (3, TType.STRING, 'applicationId', None, None, ), # 3
+ (4, TType.STRING, 'applicationName', None, None, ), # 4
+ (5, TType.STRUCT, 'status', (ComponentStatus, ComponentStatus.thrift_spec), None, ), # 5
+ (6, TType.STRING, 'description', None, None, ), # 6
+ )
+
+ def __init__(self, nodeId=thrift_spec[1][4], name=None, applicationId=None, applicationName=None, status=None, description=None,):
+ self.nodeId = nodeId
+ self.name = name
+ self.applicationId = applicationId
+ self.applicationName = applicationName
+ self.status = status
+ self.description = description
+
+ def read(self, iprot):
+ if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+ fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+ return
+ iprot.readStructBegin()
+ while True:
+ (fname, ftype, fid) = iprot.readFieldBegin()
+ if ftype == TType.STOP:
+ break
+ if fid == 1:
+ if ftype == TType.STRING:
+ self.nodeId = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.name = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.applicationId = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.applicationName = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRUCT:
+ self.status = ComponentStatus()
+ self.status.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.STRING:
+ self.description = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ else:
+ iprot.skip(ftype)
+ iprot.readFieldEnd()
+ iprot.readStructEnd()
+
+ def write(self, oprot):
+ if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+ oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+ return
+ oprot.writeStructBegin('NodeModel')
+ if self.nodeId is not None:
+ oprot.writeFieldBegin('nodeId', TType.STRING, 1)
+ oprot.writeString(self.nodeId)
+ oprot.writeFieldEnd()
+ if self.name is not None:
+ oprot.writeFieldBegin('name', TType.STRING, 2)
+ oprot.writeString(self.name)
+ oprot.writeFieldEnd()
+ if self.applicationId is not None:
+ oprot.writeFieldBegin('applicationId', TType.STRING, 3)
+ oprot.writeString(self.applicationId)
+ oprot.writeFieldEnd()
+ if self.applicationName is not None:
+ oprot.writeFieldBegin('applicationName', TType.STRING, 4)
+ oprot.writeString(self.applicationName)
+ oprot.writeFieldEnd()
+ if self.status is not None:
+ oprot.writeFieldBegin('status', TType.STRUCT, 5)
+ self.status.write(oprot)
+ oprot.writeFieldEnd()
+ if self.description is not None:
+ oprot.writeFieldBegin('description', TType.STRING, 6)
+ oprot.writeString(self.description)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.nodeId is None:
+ raise TProtocol.TProtocolException(message='Required field nodeId is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.nodeId)
+ value = (value * 31) ^ hash(self.name)
+ value = (value * 31) ^ hash(self.applicationId)
+ value = (value * 31) ^ hash(self.applicationName)
+ value = (value * 31) ^ hash(self.status)
+ value = (value * 31) ^ hash(self.description)
return value
def __repr__(self):
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
index 020d395..f26fd55 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ComponentStatus implements org.apache.thrift.TBase<ComponentStatus, ComponentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ComponentStatus> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComponentStatus");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
index c71df88..1fd0a86 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class EdgeModel implements org.apache.thrift.TBase<EdgeModel, EdgeModel._Fields>, java.io.Serializable, Cloneable, Comparable<EdgeModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EdgeModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
index e01c8d2..6658673 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._Fields>, java.io.Serializable, Cloneable, Comparable<NodeModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NodeModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
index 41cf054..b5b31dc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._Fields>, java.io.Serializable, Cloneable, Comparable<PortModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PortModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
deleted file mode 100644
index 3460f9c..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
+++ /dev/null
@@ -1,1055 +0,0 @@
-/**
- * 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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.3)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-package org.apache.airavata.model;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
-public class Workflow implements org.apache.thrift.TBase<Workflow, Workflow._Fields>, java.io.Serializable, Cloneable, Comparable<Workflow> {
- private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Workflow");
-
- private static final org.apache.thrift.protocol.TField TEMPLATE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("templateId", org.apache.thrift.protocol.TType.STRING, (short)1);
- private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
- private static final org.apache.thrift.protocol.TField GRAPH_FIELD_DESC = new org.apache.thrift.protocol.TField("graph", org.apache.thrift.protocol.TType.STRING, (short)3);
- private static final org.apache.thrift.protocol.TField IMAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("image", org.apache.thrift.protocol.TType.STRING, (short)4);
- private static final org.apache.thrift.protocol.TField WORKFLOW_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowInputs", org.apache.thrift.protocol.TType.LIST, (short)5);
- private static final org.apache.thrift.protocol.TField WORKFLOW_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowOutputs", org.apache.thrift.protocol.TType.LIST, (short)6);
-
- private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
- static {
- schemes.put(StandardScheme.class, new WorkflowStandardSchemeFactory());
- schemes.put(TupleScheme.class, new WorkflowTupleSchemeFactory());
- }
-
- private String templateId; // required
- private String name; // required
- private String graph; // optional
- private ByteBuffer image; // optional
- private List<org.apache.airavata.model.application.io.InputDataObjectType> workflowInputs; // optional
- private List<org.apache.airavata.model.application.io.OutputDataObjectType> workflowOutputs; // optional
-
- /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
- public enum _Fields implements org.apache.thrift.TFieldIdEnum {
- TEMPLATE_ID((short)1, "templateId"),
- NAME((short)2, "name"),
- GRAPH((short)3, "graph"),
- IMAGE((short)4, "image"),
- WORKFLOW_INPUTS((short)5, "workflowInputs"),
- WORKFLOW_OUTPUTS((short)6, "workflowOutputs");
-
- private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
- static {
- for (_Fields field : EnumSet.allOf(_Fields.class)) {
- byName.put(field.getFieldName(), field);
- }
- }
-
- /**
- * Find the _Fields constant that matches fieldId, or null if its not found.
- */
- public static _Fields findByThriftId(int fieldId) {
- switch(fieldId) {
- case 1: // TEMPLATE_ID
- return TEMPLATE_ID;
- case 2: // NAME
- return NAME;
- case 3: // GRAPH
- return GRAPH;
- case 4: // IMAGE
- return IMAGE;
- case 5: // WORKFLOW_INPUTS
- return WORKFLOW_INPUTS;
- case 6: // WORKFLOW_OUTPUTS
- return WORKFLOW_OUTPUTS;
- default:
- return null;
- }
- }
-
- /**
- * Find the _Fields constant that matches fieldId, throwing an exception
- * if it is not found.
- */
- public static _Fields findByThriftIdOrThrow(int fieldId) {
- _Fields fields = findByThriftId(fieldId);
- if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
- return fields;
- }
-
- /**
- * Find the _Fields constant that matches name, or null if its not found.
- */
- public static _Fields findByName(String name) {
- return byName.get(name);
- }
-
- private final short _thriftId;
- private final String _fieldName;
-
- _Fields(short thriftId, String fieldName) {
- _thriftId = thriftId;
- _fieldName = fieldName;
- }
-
- public short getThriftFieldId() {
- return _thriftId;
- }
-
- public String getFieldName() {
- return _fieldName;
- }
- }
-
- // isset id assignments
- private static final _Fields optionals[] = {_Fields.GRAPH,_Fields.IMAGE,_Fields.WORKFLOW_INPUTS,_Fields.WORKFLOW_OUTPUTS};
- public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
- static {
- Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
- tmpMap.put(_Fields.TEMPLATE_ID, new org.apache.thrift.meta_data.FieldMetaData("templateId", org.apache.thrift.TFieldRequirementType.REQUIRED,
- new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
- tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED,
- new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
- tmpMap.put(_Fields.GRAPH, new org.apache.thrift.meta_data.FieldMetaData("graph", org.apache.thrift.TFieldRequirementType.OPTIONAL,
- new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
- tmpMap.put(_Fields.IMAGE, new org.apache.thrift.meta_data.FieldMetaData("image", org.apache.thrift.TFieldRequirementType.OPTIONAL,
- new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING , true)));
- tmpMap.put(_Fields.WORKFLOW_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("workflowInputs", org.apache.thrift.TFieldRequirementType.OPTIONAL,
- new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
- new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.InputDataObjectType.class))));
- tmpMap.put(_Fields.WORKFLOW_OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("workflowOutputs", org.apache.thrift.TFieldRequirementType.OPTIONAL,
- new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
- new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.OutputDataObjectType.class))));
- metaDataMap = Collections.unmodifiableMap(tmpMap);
- org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Workflow.class, metaDataMap);
- }
-
- public Workflow() {
- this.templateId = "DO_NOT_SET_AT_CLIENTS";
-
- }
-
- public Workflow(
- String templateId,
- String name)
- {
- this();
- this.templateId = templateId;
- this.name = name;
- }
-
- /**
- * Performs a deep copy on <i>other</i>.
- */
- public Workflow(Workflow other) {
- if (other.isSetTemplateId()) {
- this.templateId = other.templateId;
- }
- if (other.isSetName()) {
- this.name = other.name;
- }
- if (other.isSetGraph()) {
- this.graph = other.graph;
- }
- if (other.isSetImage()) {
- this.image = org.apache.thrift.TBaseHelper.copyBinary(other.image);
- }
- if (other.isSetWorkflowInputs()) {
- List<org.apache.airavata.model.application.io.InputDataObjectType> __this__workflowInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(other.workflowInputs.size());
- for (org.apache.airavata.model.application.io.InputDataObjectType other_element : other.workflowInputs) {
- __this__workflowInputs.add(new org.apache.airavata.model.application.io.InputDataObjectType(other_element));
- }
- this.workflowInputs = __this__workflowInputs;
- }
- if (other.isSetWorkflowOutputs()) {
- List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__workflowOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(other.workflowOutputs.size());
- for (org.apache.airavata.model.application.io.OutputDataObjectType other_element : other.workflowOutputs) {
- __this__workflowOutputs.add(new org.apache.airavata.model.application.io.OutputDataObjectType(other_element));
- }
- this.workflowOutputs = __this__workflowOutputs;
- }
- }
-
- public Workflow deepCopy() {
- return new Workflow(this);
- }
-
- @Override
- public void clear() {
- this.templateId = "DO_NOT_SET_AT_CLIENTS";
-
- this.name = null;
- this.graph = null;
- this.image = null;
- this.workflowInputs = null;
- this.workflowOutputs = null;
- }
-
- public String getTemplateId() {
- return this.templateId;
- }
-
- public void setTemplateId(String templateId) {
- this.templateId = templateId;
- }
-
- public void unsetTemplateId() {
- this.templateId = null;
- }
-
- /** Returns true if field templateId is set (has been assigned a value) and false otherwise */
- public boolean isSetTemplateId() {
- return this.templateId != null;
- }
-
- public void setTemplateIdIsSet(boolean value) {
- if (!value) {
- this.templateId = null;
- }
- }
-
- public String getName() {
- return this.name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public void unsetName() {
- this.name = null;
- }
-
- /** Returns true if field name is set (has been assigned a value) and false otherwise */
- public boolean isSetName() {
- return this.name != null;
- }
-
- public void setNameIsSet(boolean value) {
- if (!value) {
- this.name = null;
- }
- }
-
- public String getGraph() {
- return this.graph;
- }
-
- public void setGraph(String graph) {
- this.graph = graph;
- }
-
- public void unsetGraph() {
- this.graph = null;
- }
-
- /** Returns true if field graph is set (has been assigned a value) and false otherwise */
- public boolean isSetGraph() {
- return this.graph != null;
- }
-
- public void setGraphIsSet(boolean value) {
- if (!value) {
- this.graph = null;
- }
- }
-
- public byte[] getImage() {
- setImage(org.apache.thrift.TBaseHelper.rightSize(image));
- return image == null ? null : image.array();
- }
-
- public ByteBuffer bufferForImage() {
- return org.apache.thrift.TBaseHelper.copyBinary(image);
- }
-
- public void setImage(byte[] image) {
- this.image = image == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(image, image.length));
- }
-
- public void setImage(ByteBuffer image) {
- this.image = org.apache.thrift.TBaseHelper.copyBinary(image);
- }
-
- public void unsetImage() {
- this.image = null;
- }
-
- /** Returns true if field image is set (has been assigned a value) and false otherwise */
- public boolean isSetImage() {
- return this.image != null;
- }
-
- public void setImageIsSet(boolean value) {
- if (!value) {
- this.image = null;
- }
- }
-
- public int getWorkflowInputsSize() {
- return (this.workflowInputs == null) ? 0 : this.workflowInputs.size();
- }
-
- public java.util.Iterator<org.apache.airavata.model.application.io.InputDataObjectType> getWorkflowInputsIterator() {
- return (this.workflowInputs == null) ? null : this.workflowInputs.iterator();
- }
-
- public void addToWorkflowInputs(org.apache.airavata.model.application.io.InputDataObjectType elem) {
- if (this.workflowInputs == null) {
- this.workflowInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>();
- }
- this.workflowInputs.add(elem);
- }
-
- public List<org.apache.airavata.model.application.io.InputDataObjectType> getWorkflowInputs() {
- return this.workflowInputs;
- }
-
- public void setWorkflowInputs(List<org.apache.airavata.model.application.io.InputDataObjectType> workflowInputs) {
- this.workflowInputs = workflowInputs;
- }
-
- public void unsetWorkflowInputs() {
- this.workflowInputs = null;
- }
-
- /** Returns true if field workflowInputs is set (has been assigned a value) and false otherwise */
- public boolean isSetWorkflowInputs() {
- return this.workflowInputs != null;
- }
-
- public void setWorkflowInputsIsSet(boolean value) {
- if (!value) {
- this.workflowInputs = null;
- }
- }
-
- public int getWorkflowOutputsSize() {
- return (this.workflowOutputs == null) ? 0 : this.workflowOutputs.size();
- }
-
- public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getWorkflowOutputsIterator() {
- return (this.workflowOutputs == null) ? null : this.workflowOutputs.iterator();
- }
-
- public void addToWorkflowOutputs(org.apache.airavata.model.application.io.OutputDataObjectType elem) {
- if (this.workflowOutputs == null) {
- this.workflowOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>();
- }
- this.workflowOutputs.add(elem);
- }
-
- public List<org.apache.airavata.model.application.io.OutputDataObjectType> getWorkflowOutputs() {
- return this.workflowOutputs;
- }
-
- public void setWorkflowOutputs(List<org.apache.airavata.model.application.io.OutputDataObjectType> workflowOutputs) {
- this.workflowOutputs = workflowOutputs;
- }
-
- public void unsetWorkflowOutputs() {
- this.workflowOutputs = null;
- }
-
- /** Returns true if field workflowOutputs is set (has been assigned a value) and false otherwise */
- public boolean isSetWorkflowOutputs() {
- return this.workflowOutputs != null;
- }
-
- public void setWorkflowOutputsIsSet(boolean value) {
- if (!value) {
- this.workflowOutputs = null;
- }
- }
-
- public void setFieldValue(_Fields field, Object value) {
- switch (field) {
- case TEMPLATE_ID:
- if (value == null) {
- unsetTemplateId();
- } else {
- setTemplateId((String)value);
- }
- break;
-
- case NAME:
- if (value == null) {
- unsetName();
- } else {
- setName((String)value);
- }
- break;
-
- case GRAPH:
- if (value == null) {
- unsetGraph();
- } else {
- setGraph((String)value);
- }
- break;
-
- case IMAGE:
- if (value == null) {
- unsetImage();
- } else {
- setImage((ByteBuffer)value);
- }
- break;
-
- case WORKFLOW_INPUTS:
- if (value == null) {
- unsetWorkflowInputs();
- } else {
- setWorkflowInputs((List<org.apache.airavata.model.application.io.InputDataObjectType>)value);
- }
- break;
-
- case WORKFLOW_OUTPUTS:
- if (value == null) {
- unsetWorkflowOutputs();
- } else {
- setWorkflowOutputs((List<org.apache.airavata.model.application.io.OutputDataObjectType>)value);
- }
- break;
-
- }
- }
-
- public Object getFieldValue(_Fields field) {
- switch (field) {
- case TEMPLATE_ID:
- return getTemplateId();
-
- case NAME:
- return getName();
-
- case GRAPH:
- return getGraph();
-
- case IMAGE:
- return getImage();
-
- case WORKFLOW_INPUTS:
- return getWorkflowInputs();
-
- case WORKFLOW_OUTPUTS:
- return getWorkflowOutputs();
-
- }
- throw new IllegalStateException();
- }
-
- /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
- public boolean isSet(_Fields field) {
- if (field == null) {
- throw new IllegalArgumentException();
- }
-
- switch (field) {
- case TEMPLATE_ID:
- return isSetTemplateId();
- case NAME:
- return isSetName();
- case GRAPH:
- return isSetGraph();
- case IMAGE:
- return isSetImage();
- case WORKFLOW_INPUTS:
- return isSetWorkflowInputs();
- case WORKFLOW_OUTPUTS:
- return isSetWorkflowOutputs();
- }
- throw new IllegalStateException();
- }
-
- @Override
- public boolean equals(Object that) {
- if (that == null)
- return false;
- if (that instanceof Workflow)
- return this.equals((Workflow)that);
- return false;
- }
-
- public boolean equals(Workflow that) {
- if (that == null)
- return false;
-
- boolean this_present_templateId = true && this.isSetTemplateId();
- boolean that_present_templateId = true && that.isSetTemplateId();
- if (this_present_templateId || that_present_templateId) {
- if (!(this_present_templateId && that_present_templateId))
- return false;
- if (!this.templateId.equals(that.templateId))
- return false;
- }
-
- boolean this_present_name = true && this.isSetName();
- boolean that_present_name = true && that.isSetName();
- if (this_present_name || that_present_name) {
- if (!(this_present_name && that_present_name))
- return false;
- if (!this.name.equals(that.name))
- return false;
- }
-
- boolean this_present_graph = true && this.isSetGraph();
- boolean that_present_graph = true && that.isSetGraph();
- if (this_present_graph || that_present_graph) {
- if (!(this_present_graph && that_present_graph))
- return false;
- if (!this.graph.equals(that.graph))
- return false;
- }
-
- boolean this_present_image = true && this.isSetImage();
- boolean that_present_image = true && that.isSetImage();
- if (this_present_image || that_present_image) {
- if (!(this_present_image && that_present_image))
- return false;
- if (!this.image.equals(that.image))
- return false;
- }
-
- boolean this_present_workflowInputs = true && this.isSetWorkflowInputs();
- boolean that_present_workflowInputs = true && that.isSetWorkflowInputs();
- if (this_present_workflowInputs || that_present_workflowInputs) {
- if (!(this_present_workflowInputs && that_present_workflowInputs))
- return false;
- if (!this.workflowInputs.equals(that.workflowInputs))
- return false;
- }
-
- boolean this_present_workflowOutputs = true && this.isSetWorkflowOutputs();
- boolean that_present_workflowOutputs = true && that.isSetWorkflowOutputs();
- if (this_present_workflowOutputs || that_present_workflowOutputs) {
- if (!(this_present_workflowOutputs && that_present_workflowOutputs))
- return false;
- if (!this.workflowOutputs.equals(that.workflowOutputs))
- return false;
- }
-
- return true;
- }
-
- @Override
- public int hashCode() {
- List<Object> list = new ArrayList<Object>();
-
- boolean present_templateId = true && (isSetTemplateId());
- list.add(present_templateId);
- if (present_templateId)
- list.add(templateId);
-
- boolean present_name = true && (isSetName());
- list.add(present_name);
- if (present_name)
- list.add(name);
-
- boolean present_graph = true && (isSetGraph());
- list.add(present_graph);
- if (present_graph)
- list.add(graph);
-
- boolean present_image = true && (isSetImage());
- list.add(present_image);
- if (present_image)
- list.add(image);
-
- boolean present_workflowInputs = true && (isSetWorkflowInputs());
- list.add(present_workflowInputs);
- if (present_workflowInputs)
- list.add(workflowInputs);
-
- boolean present_workflowOutputs = true && (isSetWorkflowOutputs());
- list.add(present_workflowOutputs);
- if (present_workflowOutputs)
- list.add(workflowOutputs);
-
- return list.hashCode();
- }
-
- @Override
- public int compareTo(Workflow other) {
- if (!getClass().equals(other.getClass())) {
- return getClass().getName().compareTo(other.getClass().getName());
- }
-
- int lastComparison = 0;
-
- lastComparison = Boolean.valueOf(isSetTemplateId()).compareTo(other.isSetTemplateId());
- if (lastComparison != 0) {
- return lastComparison;
- }
- if (isSetTemplateId()) {
- lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.templateId, other.templateId);
- if (lastComparison != 0) {
- return lastComparison;
- }
- }
- lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
- if (lastComparison != 0) {
- return lastComparison;
- }
- if (isSetName()) {
- lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
- if (lastComparison != 0) {
- return lastComparison;
- }
- }
- lastComparison = Boolean.valueOf(isSetGraph()).compareTo(other.isSetGraph());
- if (lastComparison != 0) {
- return lastComparison;
- }
- if (isSetGraph()) {
- lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.graph, other.graph);
- if (lastComparison != 0) {
- return lastComparison;
- }
- }
- lastComparison = Boolean.valueOf(isSetImage()).compareTo(other.isSetImage());
- if (lastComparison != 0) {
- return lastComparison;
- }
- if (isSetImage()) {
- lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.image, other.image);
- if (lastComparison != 0) {
- return lastComparison;
- }
- }
- lastComparison = Boolean.valueOf(isSetWorkflowInputs()).compareTo(other.isSetWorkflowInputs());
- if (lastComparison != 0) {
- return lastComparison;
- }
- if (isSetWorkflowInputs()) {
- lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowInputs, other.workflowInputs);
- if (lastComparison != 0) {
- return lastComparison;
- }
- }
- lastComparison = Boolean.valueOf(isSetWorkflowOutputs()).compareTo(other.isSetWorkflowOutputs());
- if (lastComparison != 0) {
- return lastComparison;
- }
- if (isSetWorkflowOutputs()) {
- lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowOutputs, other.workflowOutputs);
- if (lastComparison != 0) {
- return lastComparison;
- }
- }
- return 0;
- }
-
- public _Fields fieldForId(int fieldId) {
- return _Fields.findByThriftId(fieldId);
- }
-
- public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
- schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
- }
-
- public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
- schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder("Workflow(");
- boolean first = true;
-
- sb.append("templateId:");
- if (this.templateId == null) {
- sb.append("null");
- } else {
- sb.append(this.templateId);
- }
- first = false;
- if (!first) sb.append(", ");
- sb.append("name:");
- if (this.name == null) {
- sb.append("null");
- } else {
- sb.append(this.name);
- }
- first = false;
- if (isSetGraph()) {
- if (!first) sb.append(", ");
- sb.append("graph:");
- if (this.graph == null) {
- sb.append("null");
- } else {
- sb.append(this.graph);
- }
- first = false;
- }
- if (isSetImage()) {
- if (!first) sb.append(", ");
- sb.append("image:");
- if (this.image == null) {
- sb.append("null");
- } else {
- org.apache.thrift.TBaseHelper.toString(this.image, sb);
- }
- first = false;
- }
- if (isSetWorkflowInputs()) {
- if (!first) sb.append(", ");
- sb.append("workflowInputs:");
- if (this.workflowInputs == null) {
- sb.append("null");
- } else {
- sb.append(this.workflowInputs);
- }
- first = false;
- }
- if (isSetWorkflowOutputs()) {
- if (!first) sb.append(", ");
- sb.append("workflowOutputs:");
- if (this.workflowOutputs == null) {
- sb.append("null");
- } else {
- sb.append(this.workflowOutputs);
- }
- first = false;
- }
- sb.append(")");
- return sb.toString();
- }
-
- public void validate() throws org.apache.thrift.TException {
- // check for required fields
- if (!isSetTemplateId()) {
- throw new org.apache.thrift.protocol.TProtocolException("Required field 'templateId' is unset! Struct:" + toString());
- }
-
- if (!isSetName()) {
- throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' is unset! Struct:" + toString());
- }
-
- // check for sub-struct validity
- }
-
- private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
- try {
- write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
- } catch (org.apache.thrift.TException te) {
- throw new java.io.IOException(te);
- }
- }
-
- private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
- try {
- read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
- } catch (org.apache.thrift.TException te) {
- throw new java.io.IOException(te);
- }
- }
-
- private static class WorkflowStandardSchemeFactory implements SchemeFactory {
- public WorkflowStandardScheme getScheme() {
- return new WorkflowStandardScheme();
- }
- }
-
- private static class WorkflowStandardScheme extends StandardScheme<Workflow> {
-
- public void read(org.apache.thrift.protocol.TProtocol iprot, Workflow struct) throws org.apache.thrift.TException {
- org.apache.thrift.protocol.TField schemeField;
- iprot.readStructBegin();
- while (true)
- {
- schemeField = iprot.readFieldBegin();
- if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
- break;
- }
- switch (schemeField.id) {
- case 1: // TEMPLATE_ID
- if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
- struct.templateId = iprot.readString();
- struct.setTemplateIdIsSet(true);
- } else {
- org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
- }
- break;
- case 2: // NAME
- if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
- struct.name = iprot.readString();
- struct.setNameIsSet(true);
- } else {
- org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
- }
- break;
- case 3: // GRAPH
- if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
- struct.graph = iprot.readString();
- struct.setGraphIsSet(true);
- } else {
- org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
- }
- break;
- case 4: // IMAGE
- if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
- struct.image = iprot.readBinary();
- struct.setImageIsSet(true);
- } else {
- org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
- }
- break;
- case 5: // WORKFLOW_INPUTS
- if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
- {
- org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
- struct.workflowInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list0.size);
- org.apache.airavata.model.application.io.InputDataObjectType _elem1;
- for (int _i2 = 0; _i2 < _list0.size; ++_i2)
- {
- _elem1 = new org.apache.airavata.model.application.io.InputDataObjectType();
- _elem1.read(iprot);
- struct.workflowInputs.add(_elem1);
- }
- iprot.readListEnd();
- }
- struct.setWorkflowInputsIsSet(true);
- } else {
- org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
- }
- break;
- case 6: // WORKFLOW_OUTPUTS
- if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
- {
- org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
- struct.workflowOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list3.size);
- org.apache.airavata.model.application.io.OutputDataObjectType _elem4;
- for (int _i5 = 0; _i5 < _list3.size; ++_i5)
- {
- _elem4 = new org.apache.airavata.model.application.io.OutputDataObjectType();
- _elem4.read(iprot);
- struct.workflowOutputs.add(_elem4);
- }
- iprot.readListEnd();
- }
- struct.setWorkflowOutputsIsSet(true);
- } else {
- org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
- }
- break;
- default:
- org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
- }
- iprot.readFieldEnd();
- }
- iprot.readStructEnd();
- struct.validate();
- }
-
- public void write(org.apache.thrift.protocol.TProtocol oprot, Workflow struct) throws org.apache.thrift.TException {
- struct.validate();
-
- oprot.writeStructBegin(STRUCT_DESC);
- if (struct.templateId != null) {
- oprot.writeFieldBegin(TEMPLATE_ID_FIELD_DESC);
- oprot.writeString(struct.templateId);
- oprot.writeFieldEnd();
- }
- if (struct.name != null) {
- oprot.writeFieldBegin(NAME_FIELD_DESC);
- oprot.writeString(struct.name);
- oprot.writeFieldEnd();
- }
- if (struct.graph != null) {
- if (struct.isSetGraph()) {
- oprot.writeFieldBegin(GRAPH_FIELD_DESC);
- oprot.writeString(struct.graph);
- oprot.writeFieldEnd();
- }
- }
- if (struct.image != null) {
- if (struct.isSetImage()) {
- oprot.writeFieldBegin(IMAGE_FIELD_DESC);
- oprot.writeBinary(struct.image);
- oprot.writeFieldEnd();
- }
- }
- if (struct.workflowInputs != null) {
- if (struct.isSetWorkflowInputs()) {
- oprot.writeFieldBegin(WORKFLOW_INPUTS_FIELD_DESC);
- {
- oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.workflowInputs.size()));
- for (org.apache.airavata.model.application.io.InputDataObjectType _iter6 : struct.workflowInputs)
- {
- _iter6.write(oprot);
- }
- oprot.writeListEnd();
- }
- oprot.writeFieldEnd();
- }
- }
- if (struct.workflowOutputs != null) {
- if (struct.isSetWorkflowOutputs()) {
- oprot.writeFieldBegin(WORKFLOW_OUTPUTS_FIELD_DESC);
- {
- oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.workflowOutputs.size()));
- for (org.apache.airavata.model.application.io.OutputDataObjectType _iter7 : struct.workflowOutputs)
- {
- _iter7.write(oprot);
- }
- oprot.writeListEnd();
- }
- oprot.writeFieldEnd();
- }
- }
- oprot.writeFieldStop();
- oprot.writeStructEnd();
- }
-
- }
-
- private static class WorkflowTupleSchemeFactory implements SchemeFactory {
- public WorkflowTupleScheme getScheme() {
- return new WorkflowTupleScheme();
- }
- }
-
- private static class WorkflowTupleScheme extends TupleScheme<Workflow> {
-
- @Override
- public void write(org.apache.thrift.protocol.TProtocol prot, Workflow struct) throws org.apache.thrift.TException {
- TTupleProtocol oprot = (TTupleProtocol) prot;
- oprot.writeString(struct.templateId);
- oprot.writeString(struct.name);
- BitSet optionals = new BitSet();
- if (struct.isSetGraph()) {
- optionals.set(0);
- }
- if (struct.isSetImage()) {
- optionals.set(1);
- }
- if (struct.isSetWorkflowInputs()) {
- optionals.set(2);
- }
- if (struct.isSetWorkflowOutputs()) {
- optionals.set(3);
- }
- oprot.writeBitSet(optionals, 4);
- if (struct.isSetGraph()) {
- oprot.writeString(struct.graph);
- }
- if (struct.isSetImage()) {
- oprot.writeBinary(struct.image);
- }
- if (struct.isSetWorkflowInputs()) {
- {
- oprot.writeI32(struct.workflowInputs.size());
- for (org.apache.airavata.model.application.io.InputDataObjectType _iter8 : struct.workflowInputs)
- {
- _iter8.write(oprot);
- }
- }
- }
- if (struct.isSetWorkflowOutputs()) {
- {
- oprot.writeI32(struct.workflowOutputs.size());
- for (org.apache.airavata.model.application.io.OutputDataObjectType _iter9 : struct.workflowOutputs)
- {
- _iter9.write(oprot);
- }
- }
- }
- }
-
- @Override
- public void read(org.apache.thrift.protocol.TProtocol prot, Workflow struct) throws org.apache.thrift.TException {
- TTupleProtocol iprot = (TTupleProtocol) prot;
- struct.templateId = iprot.readString();
- struct.setTemplateIdIsSet(true);
- struct.name = iprot.readString();
- struct.setNameIsSet(true);
- BitSet incoming = iprot.readBitSet(4);
- if (incoming.get(0)) {
- struct.graph = iprot.readString();
- struct.setGraphIsSet(true);
- }
- if (incoming.get(1)) {
- struct.image = iprot.readBinary();
- struct.setImageIsSet(true);
- }
- if (incoming.get(2)) {
- {
- org.apache.thrift.protocol.TList _list10 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
- struct.workflowInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list10.size);
- org.apache.airavata.model.application.io.InputDataObjectType _elem11;
- for (int _i12 = 0; _i12 < _list10.size; ++_i12)
- {
- _elem11 = new org.apache.airavata.model.application.io.InputDataObjectType();
- _elem11.read(iprot);
- struct.workflowInputs.add(_elem11);
- }
- }
- struct.setWorkflowInputsIsSet(true);
- }
- if (incoming.get(3)) {
- {
- org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
- struct.workflowOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list13.size);
- org.apache.airavata.model.application.io.OutputDataObjectType _elem14;
- for (int _i15 = 0; _i15 < _list13.size; ++_i15)
- {
- _elem14 = new org.apache.airavata.model.application.io.OutputDataObjectType();
- _elem14.read(iprot);
- struct.workflowOutputs.add(_elem14);
- }
- }
- struct.setWorkflowOutputsIsSet(true);
- }
- }
- }
-
-}
-
[12/50] [abbrv] airavata git commit: validate job submission output
for lonestar
Posted by ch...@apache.org.
validate job submission output for lonestar
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/fa4c1876
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/fa4c1876
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/fa4c1876
Branch: refs/heads/master
Commit: fa4c1876244fead06addc49cd75d256594925089
Parents: e2b2951
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Tue Jan 26 12:15:07 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Tue Jan 26 12:15:07 2016 -0500
----------------------------------------------------------------------
.../java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/fa4c1876/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
index e5249e0..1c39258 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
@@ -126,7 +126,7 @@ public class UGEOutputParser implements OutputParser {
public String parseJobSubmission(String rawOutput) {
log.debug(rawOutput);
- if (rawOutput != null && !rawOutput.isEmpty()) {
+ if (rawOutput != null && !rawOutput.isEmpty() && !isJobSubmissionFailed(rawOutput)) {
String[] info = rawOutput.split("\n");
String lastLine = info[info.length - 1];
return lastLine.split(" ")[2]; // In PBS stdout is going to be directly the jobID
[41/50] [abbrv] airavata git commit: update generated code and fixing
compilation issues
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
index d9ac26b..b4837d9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ExperimentSummaryModel implements org.apache.thrift.TBase<ExperimentSummaryModel, ExperimentSummaryModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentSummaryModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentSummaryModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
index 5629c80..5091cf0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserConfigurationDataModel, UserConfigurationDataModel._Fields>, java.io.Serializable, Cloneable, Comparable<UserConfigurationDataModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserConfigurationDataModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
index 8a285a2..d62b842 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class JobModel implements org.apache.thrift.TBase<JobModel, JobModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
index 19e47e6..56177a9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ExperimentStatusChangeEvent implements org.apache.thrift.TBase<ExperimentStatusChangeEvent, ExperimentStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatusChangeEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatusChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
index db6d647..980b477 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class JobIdentifier implements org.apache.thrift.TBase<JobIdentifier, JobIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<JobIdentifier> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobIdentifier");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
index f8e8ae1..2bd311b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class JobStatusChangeEvent implements org.apache.thrift.TBase<JobStatusChangeEvent, JobStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
index 5351eb6..8b3717a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class JobStatusChangeRequestEvent implements org.apache.thrift.TBase<JobStatusChangeRequestEvent, JobStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeRequestEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeRequestEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
index 1c7cff4..4ef449d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class Message implements org.apache.thrift.TBase<Message, Message._Fields>, java.io.Serializable, Cloneable, Comparable<Message> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Message");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
index 54ca8ed..4c4dbbf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ProcessIdentifier implements org.apache.thrift.TBase<ProcessIdentifier, ProcessIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessIdentifier> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessIdentifier");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
index ba08d22..f6bc9c2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ProcessStatusChangeEvent implements org.apache.thrift.TBase<ProcessStatusChangeEvent, ProcessStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
index b31a3e8..fefa146 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ProcessStatusChangeRequestEvent implements org.apache.thrift.TBase<ProcessStatusChangeRequestEvent, ProcessStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeRequestEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeRequestEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
index 295eafc..b36b681 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ProcessSubmitEvent implements org.apache.thrift.TBase<ProcessSubmitEvent, ProcessSubmitEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessSubmitEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessSubmitEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
index 6cb3ce8..9b15ff6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ProcessTerminateEvent implements org.apache.thrift.TBase<ProcessTerminateEvent, ProcessTerminateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessTerminateEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessTerminateEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
index 331c487..883a9e9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class TaskIdentifier implements org.apache.thrift.TBase<TaskIdentifier, TaskIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<TaskIdentifier> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskIdentifier");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
index e29f3fd..af54a6c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class TaskOutputChangeEvent implements org.apache.thrift.TBase<TaskOutputChangeEvent, TaskOutputChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskOutputChangeEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskOutputChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
index 0f1afce..91f853b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class TaskStatusChangeEvent implements org.apache.thrift.TBase<TaskStatusChangeEvent, TaskStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
index 8abd6fa..c5ecf6c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class TaskStatusChangeRequestEvent implements org.apache.thrift.TBase<TaskStatusChangeRequestEvent, TaskStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeRequestEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeRequestEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
index 9ba0c30..c055a52 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, ProcessModel._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
index f6dfa61..a66ad1b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ComputationalResourceSchedulingModel implements org.apache.thrift.TBase<ComputationalResourceSchedulingModel, ComputationalResourceSchedulingModel._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceSchedulingModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputationalResourceSchedulingModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
index b58b053..b5e2264 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class AuthzToken implements org.apache.thrift.TBase<AuthzToken, AuthzToken._Fields>, java.io.Serializable, Cloneable, Comparable<AuthzToken> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthzToken");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
index 668271a..d7bcc3c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
* User friendly reason on how the state is inferred.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ExperimentStatus implements org.apache.thrift.TBase<ExperimentStatus, ExperimentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatus> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatus");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
index 3d3f1a8..f3c4511 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class JobStatus implements org.apache.thrift.TBase<JobStatus, JobStatus._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatus> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatus");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
index 65648f7..0393545 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ProcessStatus implements org.apache.thrift.TBase<ProcessStatus, ProcessStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatus> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatus");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
index 9812e13..1a17bef 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class TaskStatus implements org.apache.thrift.TBase<TaskStatus, TaskStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatus> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatus");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
index f137daa..2fcd7d6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class DataStagingTaskModel implements org.apache.thrift.TBase<DataStagingTaskModel, DataStagingTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataStagingTaskModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataStagingTaskModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
index 5f2f962..18d8450 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
* EnvironmentSetupTaskModel: A structure holding the environment creation task details
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<EnvironmentSetupTaskModel, EnvironmentSetupTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<EnvironmentSetupTaskModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EnvironmentSetupTaskModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
index 27eaf94..e54f4c7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class JobSubmissionTaskModel implements org.apache.thrift.TBase<JobSubmissionTaskModel, JobSubmissionTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionTaskModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionTaskModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
index f435e5b..a2e9dc1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class MonitorTaskModel implements org.apache.thrift.TBase<MonitorTaskModel, MonitorTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<MonitorTaskModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MonitorTaskModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
index 83f7662..4b899a2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* subTaskModel:
* A generic byte object for the Task developer to store internal serialized data into registry catalogs.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class TaskModel implements org.apache.thrift.TBase<TaskModel, TaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<TaskModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
index dec3a3a..532313f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class Gateway implements org.apache.thrift.TBase<Gateway, Gateway._Fields>, java.io.Serializable, Cloneable, Comparable<Gateway> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Gateway");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
index 428ee9f..abefca3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class Group implements org.apache.thrift.TBase<Group, Group._Fields>, java.io.Serializable, Cloneable, Comparable<Group> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Group");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
index e11ddf3..bdcb7b7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class Project implements org.apache.thrift.TBase<Project, Project._Fields>, java.io.Serializable, Cloneable, Comparable<Project> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Project");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
index d709357..0570b5d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
index e5e1d0c..e8456e9 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
@@ -21,7 +21,7 @@
package org.apache.airavata.registry.core.workflow.catalog.impl;
-import org.apache.airavata.model.Workflow;
+import org.apache.airavata.model.WorkflowModel;
import org.apache.airavata.model.application.io.InputDataObjectType;
import org.apache.airavata.model.application.io.OutputDataObjectType;
import org.apache.airavata.registry.core.workflow.catalog.resources.*;
@@ -55,7 +55,7 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
}
@Override
- public Workflow getWorkflow(String workflowTemplateId) throws WorkflowCatalogException {
+ public WorkflowModel getWorkflow(String workflowTemplateId) throws WorkflowCatalogException {
try {
WorkflowResource resource = new WorkflowResource();
WorkflowResource wfResource = (WorkflowResource)resource.get(workflowTemplateId);
@@ -78,7 +78,7 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
}
@Override
- public String registerWorkflow(Workflow workflow, String gatewayId) throws WorkflowCatalogException {
+ public String registerWorkflow(WorkflowModel workflow, String gatewayId) throws WorkflowCatalogException {
try {
WorkflowResource resource = new WorkflowResource();
resource.setWfTemplateId(WorkflowCatalogUtils.getID(workflow.getName()));
@@ -132,7 +132,7 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
}
@Override
- public void updateWorkflow(String workflowTemplateId, Workflow workflow) throws WorkflowCatalogException {
+ public void updateWorkflow(String workflowTemplateId, WorkflowModel workflow) throws WorkflowCatalogException {
try {
WorkflowResource resource = new WorkflowResource();
WorkflowResource existingWF = (WorkflowResource)resource.get(workflowTemplateId);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogThriftConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogThriftConversion.java
index 68b42e3..82fdaa2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogThriftConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogThriftConversion.java
@@ -21,7 +21,7 @@
package org.apache.airavata.registry.core.workflow.catalog.utils;
-import org.apache.airavata.model.Workflow;
+import org.apache.airavata.model.WorkflowModel;
import org.apache.airavata.model.application.io.DataType;
import org.apache.airavata.model.application.io.InputDataObjectType;
import org.apache.airavata.registry.core.workflow.catalog.resources.WorkflowCatAbstractResource;
@@ -59,8 +59,8 @@ public class WorkflowCatalogThriftConversion {
return inputResources;
}
- public static Workflow getWorkflow (WorkflowResource resource) throws WorkflowCatalogException {
- Workflow workflow = new Workflow();
+ public static WorkflowModel getWorkflow (WorkflowResource resource) throws WorkflowCatalogException {
+ WorkflowModel workflow = new WorkflowModel();
workflow.setTemplateId(resource.getWfTemplateId());
workflow.setGraph(resource.getGraph());
workflow.setName(resource.getWfName());
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
index ae7f839..49ae4a2 100644
--- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
@@ -22,6 +22,7 @@
package org.apache.airavata.registry.cpi;
+import org.apache.airavata.model.WorkflowModel;
import org.apache.airavata.model.application.io.OutputDataObjectType;
import java.util.List;
@@ -30,13 +31,13 @@ public interface WorkflowCatalog {
public List<String> getAllWorkflows(String gatewayId) throws WorkflowCatalogException;
- public org.apache.airavata.model.Workflow getWorkflow(String workflowTemplateId) throws WorkflowCatalogException;
+ public WorkflowModel getWorkflow(String workflowTemplateId) throws WorkflowCatalogException;
public void deleteWorkflow(String workflowTemplateId) throws WorkflowCatalogException;
- public String registerWorkflow(org.apache.airavata.model.Workflow workflow, String gatewayId) throws WorkflowCatalogException;
+ public String registerWorkflow(WorkflowModel workflow, String gatewayId) throws WorkflowCatalogException;
- public void updateWorkflow(String workflowTemplateId, org.apache.airavata.model.Workflow workflow) throws WorkflowCatalogException;
+ public void updateWorkflow(String workflowTemplateId, WorkflowModel workflow) throws WorkflowCatalogException;
public String getWorkflowTemplateId(String workflowName) throws WorkflowCatalogException;
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
index a49564f..8e11897 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -2904,7 +2904,7 @@ service Airavata {
*
*/
- workflow_data_model.Workflow getWorkflow (1: required security_model.AuthzToken authzToken, 2: required string workflowTemplateId)
+ workflow_data_model.WorkflowModel getWorkflow (1: required security_model.AuthzToken authzToken, 2: required string workflowTemplateId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
3: airavata_errors.AiravataSystemException ase,
@@ -2917,14 +2917,14 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
string registerWorkflow(1: required security_model.AuthzToken authzToken, 2: required string gatewayId,
- 3: required workflow_data_model.Workflow workflow)
+ 3: required workflow_data_model.WorkflowModel workflow)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
void updateWorkflow (1: required security_model.AuthzToken authzToken, 2: required string workflowTemplateId,
- 3: required workflow_data_model.Workflow workflow)
+ 3: required workflow_data_model.WorkflowModel workflow)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
3: airavata_errors.AiravataSystemException ase,
[46/50] [abbrv] airavata git commit: update generated code and fixing
compilation issues
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h
index 9ef1ada..831bc02 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h
@@ -38,33 +38,74 @@
-class Workflow;
+struct WorkflowState {
+ enum type {
+ CREATED = 0,
+ STARTED = 1,
+ EXECUTING = 2,
+ COMPLETED = 3,
+ FAILED = 4,
+ CANCELLING = 5,
+ CANCELED = 6
+ };
+};
+
+extern const std::map<int, const char*> _WorkflowState_VALUES_TO_NAMES;
+
+struct ComponentState {
+ enum type {
+ CREATED = 0,
+ WAITING = 1,
+ READY = 2,
+ RUNNING = 3,
+ COMPLETED = 4,
+ FAILED = 5,
+ CANCELED = 6
+ };
+};
+
+extern const std::map<int, const char*> _ComponentState_VALUES_TO_NAMES;
+
+class WorkflowModel;
+
+class ComponentStatus;
-typedef struct _Workflow__isset {
- _Workflow__isset() : graph(false), image(false), workflowInputs(false), workflowOutputs(false) {}
- bool graph :1;
+class WorkflowStatus;
+
+class EdgeModel;
+
+class PortModel;
+
+class NodeModel;
+
+typedef struct _WorkflowModel__isset {
+ _WorkflowModel__isset() : image(false), workflowInputs(false), workflowOutputs(false), creationTime(false) {}
bool image :1;
bool workflowInputs :1;
bool workflowOutputs :1;
-} _Workflow__isset;
+ bool creationTime :1;
+} _WorkflowModel__isset;
-class Workflow {
+class WorkflowModel {
public:
- Workflow(const Workflow&);
- Workflow& operator=(const Workflow&);
- Workflow() : templateId("DO_NOT_SET_AT_CLIENTS"), name(), graph(), image() {
+ WorkflowModel(const WorkflowModel&);
+ WorkflowModel& operator=(const WorkflowModel&);
+ WorkflowModel() : templateId("DO_NOT_SET_AT_CLIENTS"), name(), graph(), gatewayId(), createdUser(), image(), creationTime(0) {
}
- virtual ~Workflow() throw();
+ virtual ~WorkflowModel() throw();
std::string templateId;
std::string name;
std::string graph;
+ std::string gatewayId;
+ std::string createdUser;
std::string image;
std::vector< ::apache::airavata::model::application::io::InputDataObjectType> workflowInputs;
std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> workflowOutputs;
+ int64_t creationTime;
- _Workflow__isset __isset;
+ _WorkflowModel__isset __isset;
void __set_templateId(const std::string& val);
@@ -72,21 +113,29 @@ class Workflow {
void __set_graph(const std::string& val);
+ void __set_gatewayId(const std::string& val);
+
+ void __set_createdUser(const std::string& val);
+
void __set_image(const std::string& val);
void __set_workflowInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val);
void __set_workflowOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val);
- bool operator == (const Workflow & rhs) const
+ void __set_creationTime(const int64_t val);
+
+ bool operator == (const WorkflowModel & rhs) const
{
if (!(templateId == rhs.templateId))
return false;
if (!(name == rhs.name))
return false;
- if (__isset.graph != rhs.__isset.graph)
+ if (!(graph == rhs.graph))
return false;
- else if (__isset.graph && !(graph == rhs.graph))
+ if (!(gatewayId == rhs.gatewayId))
+ return false;
+ if (!(createdUser == rhs.createdUser))
return false;
if (__isset.image != rhs.__isset.image)
return false;
@@ -100,13 +149,372 @@ class Workflow {
return false;
else if (__isset.workflowOutputs && !(workflowOutputs == rhs.workflowOutputs))
return false;
+ if (__isset.creationTime != rhs.__isset.creationTime)
+ return false;
+ else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+ return false;
+ return true;
+ }
+ bool operator != (const WorkflowModel &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const WorkflowModel & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+ virtual void printTo(std::ostream& out) const;
+};
+
+void swap(WorkflowModel &a, WorkflowModel &b);
+
+inline std::ostream& operator<<(std::ostream& out, const WorkflowModel& obj)
+{
+ obj.printTo(out);
+ return out;
+}
+
+typedef struct _ComponentStatus__isset {
+ _ComponentStatus__isset() : reason(false), timeofStateChange(false) {}
+ bool reason :1;
+ bool timeofStateChange :1;
+} _ComponentStatus__isset;
+
+class ComponentStatus {
+ public:
+
+ ComponentStatus(const ComponentStatus&);
+ ComponentStatus& operator=(const ComponentStatus&);
+ ComponentStatus() : state((ComponentState::type)0), reason(), timeofStateChange(0) {
+ state = (ComponentState::type)0;
+
+ }
+
+ virtual ~ComponentStatus() throw();
+ ComponentState::type state;
+ std::string reason;
+ int64_t timeofStateChange;
+
+ _ComponentStatus__isset __isset;
+
+ void __set_state(const ComponentState::type val);
+
+ void __set_reason(const std::string& val);
+
+ void __set_timeofStateChange(const int64_t val);
+
+ bool operator == (const ComponentStatus & rhs) const
+ {
+ if (!(state == rhs.state))
+ return false;
+ if (__isset.reason != rhs.__isset.reason)
+ return false;
+ else if (__isset.reason && !(reason == rhs.reason))
+ return false;
+ if (__isset.timeofStateChange != rhs.__isset.timeofStateChange)
+ return false;
+ else if (__isset.timeofStateChange && !(timeofStateChange == rhs.timeofStateChange))
+ return false;
+ return true;
+ }
+ bool operator != (const ComponentStatus &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ComponentStatus & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+ virtual void printTo(std::ostream& out) const;
+};
+
+void swap(ComponentStatus &a, ComponentStatus &b);
+
+inline std::ostream& operator<<(std::ostream& out, const ComponentStatus& obj)
+{
+ obj.printTo(out);
+ return out;
+}
+
+typedef struct _WorkflowStatus__isset {
+ _WorkflowStatus__isset() : timeOfStateChange(false), reason(false) {}
+ bool timeOfStateChange :1;
+ bool reason :1;
+} _WorkflowStatus__isset;
+
+class WorkflowStatus {
+ public:
+
+ WorkflowStatus(const WorkflowStatus&);
+ WorkflowStatus& operator=(const WorkflowStatus&);
+ WorkflowStatus() : state((WorkflowState::type)0), timeOfStateChange(0), reason() {
+ }
+
+ virtual ~WorkflowStatus() throw();
+ WorkflowState::type state;
+ int64_t timeOfStateChange;
+ std::string reason;
+
+ _WorkflowStatus__isset __isset;
+
+ void __set_state(const WorkflowState::type val);
+
+ void __set_timeOfStateChange(const int64_t val);
+
+ void __set_reason(const std::string& val);
+
+ bool operator == (const WorkflowStatus & rhs) const
+ {
+ if (!(state == rhs.state))
+ return false;
+ if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+ return false;
+ else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+ return false;
+ if (__isset.reason != rhs.__isset.reason)
+ return false;
+ else if (__isset.reason && !(reason == rhs.reason))
+ return false;
+ return true;
+ }
+ bool operator != (const WorkflowStatus &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const WorkflowStatus & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+ virtual void printTo(std::ostream& out) const;
+};
+
+void swap(WorkflowStatus &a, WorkflowStatus &b);
+
+inline std::ostream& operator<<(std::ostream& out, const WorkflowStatus& obj)
+{
+ obj.printTo(out);
+ return out;
+}
+
+typedef struct _EdgeModel__isset {
+ _EdgeModel__isset() : name(false), status(false), description(false) {}
+ bool name :1;
+ bool status :1;
+ bool description :1;
+} _EdgeModel__isset;
+
+class EdgeModel {
+ public:
+
+ EdgeModel(const EdgeModel&);
+ EdgeModel& operator=(const EdgeModel&);
+ EdgeModel() : edgeId("DO_NOT_SET_AT_CLIENTS"), name(), description() {
+ }
+
+ virtual ~EdgeModel() throw();
+ std::string edgeId;
+ std::string name;
+ ComponentStatus status;
+ std::string description;
+
+ _EdgeModel__isset __isset;
+
+ void __set_edgeId(const std::string& val);
+
+ void __set_name(const std::string& val);
+
+ void __set_status(const ComponentStatus& val);
+
+ void __set_description(const std::string& val);
+
+ bool operator == (const EdgeModel & rhs) const
+ {
+ if (!(edgeId == rhs.edgeId))
+ return false;
+ if (__isset.name != rhs.__isset.name)
+ return false;
+ else if (__isset.name && !(name == rhs.name))
+ return false;
+ if (__isset.status != rhs.__isset.status)
+ return false;
+ else if (__isset.status && !(status == rhs.status))
+ return false;
+ if (__isset.description != rhs.__isset.description)
+ return false;
+ else if (__isset.description && !(description == rhs.description))
+ return false;
+ return true;
+ }
+ bool operator != (const EdgeModel &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const EdgeModel & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+ virtual void printTo(std::ostream& out) const;
+};
+
+void swap(EdgeModel &a, EdgeModel &b);
+
+inline std::ostream& operator<<(std::ostream& out, const EdgeModel& obj)
+{
+ obj.printTo(out);
+ return out;
+}
+
+typedef struct _PortModel__isset {
+ _PortModel__isset() : name(false), status(false), value(false), description(false) {}
+ bool name :1;
+ bool status :1;
+ bool value :1;
+ bool description :1;
+} _PortModel__isset;
+
+class PortModel {
+ public:
+
+ PortModel(const PortModel&);
+ PortModel& operator=(const PortModel&);
+ PortModel() : portId("DO_NOT_SET_AT_CLIENTS"), name(), value(), description() {
+ }
+
+ virtual ~PortModel() throw();
+ std::string portId;
+ std::string name;
+ ComponentStatus status;
+ std::string value;
+ std::string description;
+
+ _PortModel__isset __isset;
+
+ void __set_portId(const std::string& val);
+
+ void __set_name(const std::string& val);
+
+ void __set_status(const ComponentStatus& val);
+
+ void __set_value(const std::string& val);
+
+ void __set_description(const std::string& val);
+
+ bool operator == (const PortModel & rhs) const
+ {
+ if (!(portId == rhs.portId))
+ return false;
+ if (__isset.name != rhs.__isset.name)
+ return false;
+ else if (__isset.name && !(name == rhs.name))
+ return false;
+ if (__isset.status != rhs.__isset.status)
+ return false;
+ else if (__isset.status && !(status == rhs.status))
+ return false;
+ if (__isset.value != rhs.__isset.value)
+ return false;
+ else if (__isset.value && !(value == rhs.value))
+ return false;
+ if (__isset.description != rhs.__isset.description)
+ return false;
+ else if (__isset.description && !(description == rhs.description))
+ return false;
+ return true;
+ }
+ bool operator != (const PortModel &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const PortModel & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+ virtual void printTo(std::ostream& out) const;
+};
+
+void swap(PortModel &a, PortModel &b);
+
+inline std::ostream& operator<<(std::ostream& out, const PortModel& obj)
+{
+ obj.printTo(out);
+ return out;
+}
+
+typedef struct _NodeModel__isset {
+ _NodeModel__isset() : name(false), applicationId(false), applicationName(false), status(false), description(false) {}
+ bool name :1;
+ bool applicationId :1;
+ bool applicationName :1;
+ bool status :1;
+ bool description :1;
+} _NodeModel__isset;
+
+class NodeModel {
+ public:
+
+ NodeModel(const NodeModel&);
+ NodeModel& operator=(const NodeModel&);
+ NodeModel() : nodeId("DO_NOT_SET_AT_CLIENTS"), name(), applicationId(), applicationName(), description() {
+ }
+
+ virtual ~NodeModel() throw();
+ std::string nodeId;
+ std::string name;
+ std::string applicationId;
+ std::string applicationName;
+ ComponentStatus status;
+ std::string description;
+
+ _NodeModel__isset __isset;
+
+ void __set_nodeId(const std::string& val);
+
+ void __set_name(const std::string& val);
+
+ void __set_applicationId(const std::string& val);
+
+ void __set_applicationName(const std::string& val);
+
+ void __set_status(const ComponentStatus& val);
+
+ void __set_description(const std::string& val);
+
+ bool operator == (const NodeModel & rhs) const
+ {
+ if (!(nodeId == rhs.nodeId))
+ return false;
+ if (__isset.name != rhs.__isset.name)
+ return false;
+ else if (__isset.name && !(name == rhs.name))
+ return false;
+ if (__isset.applicationId != rhs.__isset.applicationId)
+ return false;
+ else if (__isset.applicationId && !(applicationId == rhs.applicationId))
+ return false;
+ if (__isset.applicationName != rhs.__isset.applicationName)
+ return false;
+ else if (__isset.applicationName && !(applicationName == rhs.applicationName))
+ return false;
+ if (__isset.status != rhs.__isset.status)
+ return false;
+ else if (__isset.status && !(status == rhs.status))
+ return false;
+ if (__isset.description != rhs.__isset.description)
+ return false;
+ else if (__isset.description && !(description == rhs.description))
+ return false;
return true;
}
- bool operator != (const Workflow &rhs) const {
+ bool operator != (const NodeModel &rhs) const {
return !(*this == rhs);
}
- bool operator < (const Workflow & ) const;
+ bool operator < (const NodeModel & ) const;
uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -114,9 +522,9 @@ class Workflow {
virtual void printTo(std::ostream& out) const;
};
-void swap(Workflow &a, Workflow &b);
+void swap(NodeModel &a, NodeModel &b);
-inline std::ostream& operator<<(std::ostream& out, const Workflow& obj)
+inline std::ostream& operator<<(std::ostream& out, const NodeModel& obj)
{
obj.printTo(out);
return out;
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index 8529b1a..df39f6f 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -194,6 +194,7 @@ interface AiravataIf {
*/
public function getSSHPubKey(\Airavata\Model\Security\AuthzToken $authzToken, $airavataCredStoreToken, $gatewayId);
/**
+ *
* Get a Public Key by Providing the Token
*
* @param CredStoreToken
@@ -215,6 +216,7 @@ interface AiravataIf {
*/
public function getAllUserSSHPubKeys(\Airavata\Model\Security\AuthzToken $authzToken, $userName);
/**
+ *
* Get all Public Keys of the Gateway
*
* @param CredStoreToken
@@ -236,6 +238,7 @@ interface AiravataIf {
*/
public function getAllGatewaySSHPubKeys(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
/**
+ *
* Delete a Gateway
*
* @param gatewayId
@@ -256,6 +259,7 @@ interface AiravataIf {
*/
public function deleteSSHPubKey(\Airavata\Model\Security\AuthzToken $authzToken, $airavataCredStoreToken, $gatewayId);
/**
+ *
* Creates a Project with basic metadata.
* A Project is a container of experiments.
*
@@ -263,7 +267,7 @@ interface AiravataIf {
* The identifier for the requested gateway.
*
* @param Project
- * The Project Object described in the workspace_model
+ * The Project Object described in the workspace_model.
*
*
*
@@ -278,6 +282,7 @@ interface AiravataIf {
*/
public function createProject(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Project $project);
/**
+ *
* Update an Existing Project
*
* @param projectId
@@ -299,14 +304,15 @@ interface AiravataIf {
*/
public function updateProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, \Airavata\Model\Workspace\Project $updatedProject);
/**
+ *
* Get a Project by ID
- * This method is to obtain a project by providing a projectId
+ * This method is to obtain a project by providing a projectId.
*
* @param projectId
- * projectId of the project you require
+ * projectId of the project you require.
*
* @return project
- * project data model will be returned
+ * project data model will be returned.
*
*
*
@@ -321,15 +327,18 @@ interface AiravataIf {
*/
public function getProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
/**
+ *
* Delete a Project
- * This method is used to delete an existing Project
+ * This method is used to delete an existing Project.
*
* @param projectId
- * projectId of the project you want to delete
+ * projectId of the project you want to delete.
*
* @return boolean
* Boolean identifier for the success or failure of the deletion operation.
*
+ * NOTE: This method is not used within gateways connected with Airavata.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -343,20 +352,21 @@ interface AiravataIf {
*/
public function deleteProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
/**
- * Get all Project by user with pagination. Results will be ordered based
- * on creation time DESC
+ *
+ * Get All User Projects
+ * Get all Project for the user with pagination. Results will be ordered based on creation time DESC.
*
* @param gatewayId
* The identifier for the requested gateway.
*
* @param userName
- * The identifier of the user
+ * The identifier of the user.
*
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
*
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
*
*
*
@@ -373,19 +383,25 @@ interface AiravataIf {
*/
public function getUserProjects(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $limit, $offset);
/**
- * Get all Project for user by project name with pagination.Results will be ordered based
- * on creation time DESC
+ *
+ * Search User Projects by Project Name
+ * Get all Project for user by project name with pagination.Results will be ordered based on creation time DESC.
*
* @param gatewayId
- * The identifier for the requested gateway.
+ * The unique identifier for the requested gateway.
+ *
* @param userName
- * The identifier of the user
+ * The identifier of the user.
+ *
* @param projectName
- * The name of the project on which the results to be fetched
+ * The name of the project on which the results to be fetched.
+ *
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -402,19 +418,25 @@ interface AiravataIf {
*/
public function searchProjectsByProjectName(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $projectName, $limit, $offset);
/**
- * Search and get all Projects for user by project description with pagination. Results
- * will be ordered based on creation time DESC
+ *
+ * Search User Projects by Project Description
+ * Search and get all Projects for user by project description with pagination. Results will be ordered based on creation time DESC.
*
* @param gatewayId
- * The identifier for the requested gateway.
+ * The unique identifier of the gateway making the request.
+ *
* @param userName
- * The identifier of the user
+ * The identifier of the user.
+ *
* @param description
- * The description to be matched
+ * The description to be matched.
+ *
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -431,19 +453,25 @@ interface AiravataIf {
*/
public function searchProjectsByProjectDesc(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $description, $limit, $offset);
/**
- * Search Experiments by experiment name with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by Name
+ * Search user Experiments using experiment name with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user who created the experiments.
+ *
* @param expName
- * Experiment name to be matched
+ * Experiment name to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -460,19 +488,25 @@ interface AiravataIf {
*/
public function searchExperimentsByName(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $expName, $limit, $offset);
/**
- * Search Experiments by experiment name with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search By Experiment Description
+ * Search Experiments by experiment description with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param description
- * Experiment description to be matched
+ * Experiment description to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -489,19 +523,25 @@ interface AiravataIf {
*/
public function searchExperimentsByDesc(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $description, $limit, $offset);
/**
- * Search Experiments by application id with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search Experiment By the Application
+ * Search Experiments of a particular application id with pagination. Results will be sorted based on creation time DESC
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param applicationId
- * Application id to be matched
+ * Application id to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -518,19 +558,25 @@ interface AiravataIf {
*/
public function searchExperimentsByApplication(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $applicationId, $limit, $offset);
/**
- * Search Experiments by experiment status with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by Status
+ * Search all the Experiments of the given user by experiment status with pagination. Results will be sorted based on creation time DESC
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user making the request.
+ *
* @param experimentState
- * Experiement state to be matched
+ * Experiement state to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -547,21 +593,31 @@ interface AiravataIf {
*/
public function searchExperimentsByStatus(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $experimentState, $limit, $offset);
/**
- * Search Experiments by experiment creation time with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by the Creation Time
+ * This will search all the experiments of the given user by experiment creation time with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param fromTime
- * Start time of the experiments creation time
+ * Start time of the experiments creation time.
+ *
* @param toTime
- * End time of the experiement creation time
+ * End time of the experiement creation time.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
+ * @return ExperimentSummaryModel
+ * List of experiments for the given search filter. Here only the Experiment summary will be returned.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -579,19 +635,27 @@ interface AiravataIf {
*/
public function searchExperimentsByCreationTime(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $fromTime, $toTime, $limit, $offset);
/**
- * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
- * based on creation time DESC
+ * Search Experiments.
+ * Search Experiments by using multiple filter criteria with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user requesting the search function.
+ *
* @param filters
- * map of multiple filter criteria.
+ * Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
+ * @return ExperimentSummaryModel
+ * List of experiments for the given search filter. Here only the Experiment summary will be returned.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -608,13 +672,19 @@ interface AiravataIf {
*/
public function searchExperiments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, array $filters, $limit, $offset);
/**
- * Get Experiment Statisitics for the given gateway for a specific time period
+ *
+ * Get Experiment Statistics
+ * Get Experiment Statisitics for a given gateway for a specific time period. This feature is available only for admins of a particular gateway. Gateway admin access is managed by the user roles.
+ *
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the gateway making the request to fetch statistics.
+ *
* @param fromTime
- * Starting date time
+ * Starting date time.
+ *
* @param toTime
- * Ending data time
+ * Ending data time.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -629,15 +699,19 @@ interface AiravataIf {
*/
public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime);
/**
- * Get Experiments within project with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Get All Experiments of the Project
+ * Get Experiments within project with pagination. Results will be sorted based on creation time DESC.
*
* @param projectId
- * Identifier of the project
+ * Uniqie identifier of the project.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -653,17 +727,22 @@ interface AiravataIf {
*/
public function getExperimentsInProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, $limit, $offset);
/**
- * Get experiments by user with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Get All Experiments of the User
+ * Get experiments by user with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requesting gateway
+ * Identifier of the requesting gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested end user.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -679,12 +758,17 @@ interface AiravataIf {
*/
public function getUserExperiments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $limit, $offset);
/**
+ * *
+ * * Create New Experiment
* * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
* * but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client
* * has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
* * registering the experiment in a persistent store.
* *
- * * @param basicExperimentMetadata
+ * * @param gatewayId
+ * * The unique ID of the gateway where the experiment is been created.
+ * *
+ * * @param ExperimentModel
* * The create experiment will require the basic experiment metadata like the name and description, intended user,
* * the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
* * the ExperimentMetadata is a required field.
@@ -725,8 +809,8 @@ interface AiravataIf {
*/
public function createExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Experiment\ExperimentModel $experiment);
/**
- * Delete an Experiment
*
+ * Delete an Experiment
* If the experiment is not already launched experiment can be deleted.
*
* @param authzToken
@@ -735,7 +819,7 @@ interface AiravataIf {
* Experiment ID of the experimnet you want to delete.
*
* @return boolean
- * Identifier for the success or failure of the deletion operation
+ * Identifier for the success or failure of the deletion operation.
*
*
*
@@ -749,12 +833,14 @@ interface AiravataIf {
*/
public function deleteExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $experimentId);
/**
+ * *
+ * * Get Experiment
* * Fetch previously created experiment metadata.
* *
* * @param airavataExperimentId
- * * The identifier for the requested experiment. This is returned during the create experiment step.
+ * * The unique identifier of the requested experiment. This ID is returned during the create experiment step.
* *
- * * @return experimentMetada
+ * * @return ExperimentModel
* * This method will return the previously stored experiment metadata.
* *
* * @throws org.apache.airavata.model.error.InvalidRequestException
@@ -807,14 +893,17 @@ interface AiravataIf {
*/
public function getExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
/**
+ *
+ * Get Complete Experiment Details
* Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
* tasks -> jobs information.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
*
- * @return experimentMetada
- * This method will return the previously stored experiment metadata.
+ * @return ExperimentModel
+ * This method will return the previously stored experiment metadata including application input parameters, computational resource scheduling
+ * information, special input output handling and additional quality of service parameters.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
* For any incorrect forming of the request itself.
@@ -865,14 +954,15 @@ interface AiravataIf {
*/
public function getDetailedExperimentTree(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
/**
- * Configure a previously created experiment with required inputs, scheduling and other quality of service
- * parameters. This method only updates the experiment object within the registry. The experiment has to be launched
- * to make it actionable by the server.
+ *
+ * Update a Previously Created Experiment
+ * Configure the CREATED experiment with required inputs, scheduling and other quality of service parameters. This method only updates the experiment object within the registry.
+ * The experiment has to be launched to make it actionable by the server.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
*
- * @param experimentConfigurationData
+ * @param ExperimentModel
* The configuration information of the experiment with application input parameters, computational resource scheduling
* information, special input output handling and additional quality of service parameters.
*
@@ -929,13 +1019,14 @@ interface AiravataIf {
public function updateResourceScheduleing(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling);
/**
* *
- * * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
- * *
- * * @param experimentId
+ * * Validate experiment configuration.
+ * * A true in general indicates, the experiment is ready to be launched.
* *
+ * * @param airavataExperimentId
+ * * Unique identifier of the experiment (Experimnent ID) of the experiment which need to be validated.
* *
* * @return boolean
- * * Identifier for the success or failure of the validation operation
+ * * Identifier for the success or failure of the validation operation.
* *
* *
*
@@ -950,8 +1041,12 @@ interface AiravataIf {
*/
public function validateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
/**
- * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
- * notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * Launch a Previously Created & Configured Experiment.
+ * Airavata Server will then start processing the request and appropriate notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * @gatewayId
+ * ID of the gateway which will launch the experiment.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
@@ -994,17 +1089,18 @@ interface AiravataIf {
*/
public function launchExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $gatewayId);
/**
+ *
* Get Experiment Status
*
- * Obtain the status os an experiment by providing the Experiment Id
+ * Obtain the status of an experiment by providing the Experiment Id
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you require the status
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you require the status.
*
* @return ExperimentStatus
- * ExperimentStatus model with current status will be returned.
+ * ExperimentStatus model with the current status will be returned.
*
*
*
@@ -1030,16 +1126,17 @@ interface AiravataIf {
*/
public function getExperimentStatus(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
/**
+ *
* Get Experiment Outputs
- * This method to be used when need to obtain outputs of a certain Experiment
+ * This method to be used when need to obtain final outputs of a certain Experiment
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you need the outputs
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you need the outputs.
*
* @return list
- * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
*
*
*
@@ -1054,16 +1151,17 @@ interface AiravataIf {
*/
public function getExperimentOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
/**
+ *
* Get Intermediate Experiment Outputs
* This method to be used when need to obtain intermediate outputs of a certain Experiment
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you need the intermediate outputs
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you need intermediate outputs.
*
* @return list
- * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
*
*
*
@@ -1078,13 +1176,14 @@ interface AiravataIf {
*/
public function getIntermediateOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
/**
- * Get Job Status for an Experiment
+ *
+ * Get Job Statuses for an Experiment
* This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
*
* @param authzToken
*
* @param experiementId
- * Experiment ID of the experimnet you need the intermediate outputs
+ * Experiment ID of the experimnet you need the job statuses.
*
* @return JobStatus
* Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map
@@ -1102,16 +1201,17 @@ interface AiravataIf {
*/
public function getJobStatuses(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
/**
- * Get Job Details for all the jobs within an Experiment
+ *
+ * Get Job Details for all the jobs within an Experiment.
* This method to be used when need to get the job details for one or many jobs of an Experiment.
*
* @param authzToken
*
* @param experiementId
- * Experiment ID of the experimnet you need job details
+ * Experiment ID of the experimnet you need job details.
*
* @return list of JobDetails
- * Job details
+ * Job details.
*
*
*
@@ -1126,7 +1226,9 @@ interface AiravataIf {
*/
public function getJobDetails(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
/**
- * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+ *
+ * Clone an Existing Experiment
+ * Existing specified experiment is cloned and a new name is provided. A copy of the experiment configuration is made and is persisted with new metadata.
* The client has to subsequently update this configuration if needed and launch the cloned experiment.
*
* @param newExperimentName
@@ -1138,7 +1240,7 @@ interface AiravataIf {
* should be shared public by default.
*
* @return
- * The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+ * The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
* For any incorrect forming of the request itself.
@@ -1176,12 +1278,16 @@ interface AiravataIf {
*/
public function cloneExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $existingExperimentID, $newExperimentName);
/**
- * Terminate a running experiment.
+ *
+ * Terminate a running Experiment.
+ *
+ * @gatewayId
+ * ID of the gateway which will terminate the running Experiment.
*
* @param airavataExperimentId
- * The identifier for the requested experiment. This is returned during the create experiment step.
+ * The identifier of the experiment required termination. This ID is returned during the create experiment step.
*
- * @return
+ * @return status
* This method call does not have a return value.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
@@ -1219,13 +1325,17 @@ interface AiravataIf {
*/
public function terminateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $gatewayId);
/**
+ *
* Register a Application Module.
*
+ * @gatewayId
+ * ID of the gateway which is registering the new Application Module.
+ *
* @param applicationModule
* Application Module Object created from the datamodel.
*
* @return appModuleId
- * Returns a server-side generated airavata appModule globally unique identifier.
+ * Returns the server-side generated airavata appModule globally unique identifier.
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1239,13 +1349,14 @@ interface AiravataIf {
*/
public function registerApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
/**
+ *
* Fetch a Application Module.
*
* @param appModuleId
- * The identifier for the requested application module
+ * The unique identifier of the application module required
*
* @return applicationModule
- * Returns a application Module Object.
+ * Returns an Application Module Object.
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1271,6 +1382,7 @@ interface AiravataIf {
*/
public function getApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
/**
+ *
* Update a Application Module.
*
* @param appModuleId
@@ -1294,6 +1406,16 @@ interface AiravataIf {
*/
public function updateApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
/**
+ *
+ * Fetch all Application Module Descriptions.
+ *
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
+ * @return list
+ * Returns the list of all Application Module Objects.
+ *
+ *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $gatewayId
* @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule[]
@@ -1304,10 +1426,11 @@ interface AiravataIf {
*/
public function getAllAppModules(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
/**
- * Delete a Application Module.
+ *
+ * Delete an Application Module.
*
* @param appModuleId
- * The identifier for the requested application module to be deleted.
+ * The identifier of the Application Module to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1323,9 +1446,13 @@ interface AiravataIf {
*/
public function deleteApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
/**
- * Register a Application Deployment.
*
- * @param applicationModule
+ * Register an Application Deployment.
+ *
+ * @param gatewayId
+ * ID of the gateway which is registering the new Application Deployment.
+ *
+ * @param applicationDeployment
* Application Module Object created from the datamodel.
*
* @return appDeploymentId
@@ -1343,6 +1470,7 @@ interface AiravataIf {
*/
public function registerApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
/**
+ *
* Fetch a Application Deployment.
*
* @param appDeploymentId
@@ -1386,10 +1514,11 @@ interface AiravataIf {
*/
public function getApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId);
/**
- * Update a Application Deployment.
+ *
+ * Update an Application Deployment.
*
* @param appDeploymentId
- * The identifier for the requested application deployment to be updated.
+ * The identifier of the requested application deployment to be updated.
*
* @param appDeployment
* Application Deployment Object created from the datamodel.
@@ -1409,10 +1538,11 @@ interface AiravataIf {
*/
public function updateApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
/**
- * Delete a Application deployment.
+ *
+ * Delete an Application Deployment.
*
* @param appDeploymentId
- * The identifier for the requested application deployment to be deleted.
+ * The unique identifier of application deployment to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1428,10 +1558,14 @@ interface AiravataIf {
*/
public function deleteApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId);
/**
+ *
* Fetch all Application Deployment Descriptions.
*
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
* @return list<applicationDeployment.
- * Returns the list of all application Deployment Objects.
+ * Returns the list of all application Deployment Objects.
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1463,9 +1597,10 @@ interface AiravataIf {
*/
public function getAppModuleDeployedResources(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
/**
+ *
* Register a Application Interface.
*
- * @param applicationModule
+ * @param applicationInterface
* Application Module Object created from the datamodel.
*
* @return appInterfaceId
@@ -1483,6 +1618,22 @@ interface AiravataIf {
*/
public function registerApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
/**
+ *
+ * Clone an Application Interface.
+ *
+ * @gatewayId
+ * The identifier for the gateway profile to be requested
+ *
+ * @param existingAppInterfaceID
+ * Identifier of the existing Application interface you wich to clone.
+ *
+ * @param newApplicationName
+ * Name for the new application interface.
+ *
+ * @return appInterfaceId
+ * Returns a server-side generated globally unique identifier for the newly cloned application interface.
+ *
+ *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $existingAppInterfaceID
* @param string $newApplicationName
@@ -1495,14 +1646,14 @@ interface AiravataIf {
*/
public function cloneApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $existingAppInterfaceID, $newApplicationName, $gatewayId);
/**
- * Fetch a Application Interface.
+ *
+ * Fetch an Application Interface.
*
* @param appInterfaceId
- * The identifier for the requested application module
+ * The identifier for the requested application interface.
*
* @return applicationInterface
- * Returns a application Interface Object.
- *
+ * Returns an application Interface Object.
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1526,10 +1677,11 @@ interface AiravataIf {
*/
public function getApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
/**
+ *
* Update a Application Interface.
*
* @param appInterfaceId
- * The identifier for the requested application deployment to be updated.
+ * The identifier of the requested application deployment to be updated.
*
* @param appInterface
* Application Interface Object created from the datamodel.
@@ -1538,7 +1690,6 @@ interface AiravataIf {
* Returns a success/failure of the update.
*
*
- *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $appInterfaceId
* @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
@@ -1550,7 +1701,8 @@ interface AiravataIf {
*/
public function updateApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
/**
- * Delete a Application Interface.
+ *
+ * Delete an Application Interface.
*
* @param appInterfaceId
* The identifier for the requested application interface to be deleted.
@@ -1559,7 +1711,6 @@ interface AiravataIf {
* Returns a success/failure of the deletion.
*
*
- *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $appInterfaceId
* @return bool
@@ -1570,11 +1721,12 @@ interface AiravataIf {
*/
public function deleteApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
/**
- * Fetch name and id of Application Interface documents.
+ *
+ * Fetch name and ID of Application Interface documents.
*
*
* @return map<applicationId, applicationInterfaceNames>
- * Returns a list of application interfaces with corresponsing id's
+ * Returns a list of application interfaces with corresponsing ID's
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1587,11 +1739,12 @@ interface AiravataIf {
*/
public function getAllApplicationInterfaceNames(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
/**
+ *
* Fetch all Application Interface documents.
*
*
* @return map<applicationId, applicationInterfaceNames>
- * Returns a list of application interfaces documents
+ * Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1604,10 +1757,11 @@ interface AiravataIf {
*/
public function getAllApplicationInterfaces(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
/**
+ *
* Fetch the list of Application Inputs.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier of the application interface which need inputs to be fetched.
*
* @return list<application_interface_model.InputDataObjectType>
* Returns a list of application inputs.
@@ -1623,10 +1777,11 @@ interface AiravataIf {
*/
public function getApplicationInputs(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
/**
- * Fetch the list of Application Outputs.
+ *
+ * Fetch list of Application Outputs.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier of the application interface which need outputs to be fetched.
*
* @return list<application_interface_model.OutputDataObjectType>
* Returns a list of application outputs.
@@ -1642,14 +1797,15 @@ interface AiravataIf {
*/
public function getApplicationOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
/**
+ *
* Fetch a list of all deployed Compute Hosts for a given application interfaces.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier for the requested application interface.
*
* @return map<computeResourceId, computeResourceName>
* A map of registered compute resource id's and their corresponding hostnames.
- * Deployments of each modules listed within the interfaces will be listed.
+ * Deployments of each modules listed within the interfaces will be listed.
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -1727,6 +1883,7 @@ interface AiravataIf {
*/
public function getComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId);
/**
+ *
* Fetch all registered Compute Resources.
*
* @return A map of registered compute resource id's and thier corresponding hostnames.
@@ -1852,7 +2009,7 @@ interface AiravataIf {
*/
public function getAllStorageResourceNames(\Airavata\Model\Security\AuthzToken $authzToken);
/**
- * Update a Compute Resource.
+ * Update a Storage Resource.
*
* @param storageResourceId
* The identifier for the requested compute resource to be updated.
@@ -1878,7 +2035,7 @@ interface AiravataIf {
* Delete a Storage Resource.
*
* @param storageResourceId
- * The identifier for the requested compute resource to be deleted.
+ * The identifier of the requested compute resource to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -2054,6 +2211,7 @@ interface AiravataIf {
*/
public function getSSHJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
/**
+ *
* Add a UNICORE Job Submission details to a compute resource
* App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
*
@@ -2082,10 +2240,13 @@ interface AiravataIf {
*/
public function addUNICOREJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
/**
+ * *
* * This method returns UnicoreJobSubmission object
+ * *
* * @param jobSubmissionInterfaceId
* * The identifier of the JobSubmission Interface to be retrieved.
* * @return UnicoreJobSubmission instance
+ * *
* *
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -2104,6 +2265,7 @@ interface AiravataIf {
*/
public function getUnicoreJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
/**
+ * *
* * Add a Cloud Job Submission details to a compute resource
* * App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
* *
@@ -2118,6 +2280,7 @@ interface AiravataIf {
* *
* * @return status
* * Returns the unique job submission id.
+ * *
* *
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -2132,6 +2295,7 @@ interface AiravataIf {
*/
public function addCloudJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission);
/**
+ * *
* * This method returns cloudJobSubmission object
* * @param jobSubmissionInterfaceI
* * The identifier of the JobSubmission Interface to be retrieved.
@@ -2151,6 +2315,7 @@ interface AiravataIf {
*/
public function getCloudJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
/**
+ *
* Update the given SSH Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -2174,6 +2339,7 @@ interface AiravataIf {
*/
public function updateSSHJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
/**
+ *
* Update the cloud Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -2197,6 +2363,7 @@ interface AiravataIf {
*/
public function updateCloudJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission);
/**
+ *
* Update the UNIOCRE Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -2221,6 +2388,7 @@ interface AiravataIf {
*/
public function updateUnicoreJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
/**
+ *
* Add a Local data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2254,6 +2422,7 @@ interface AiravataIf {
*/
public function addLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement);
/**
+ *
* Update the given Local data movement details
*
* @param dataMovementInterfaceId
@@ -2278,7 +2447,8 @@ interface AiravataIf {
*/
public function updateLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement);
/**
- * This method returns local datamovement object
+ *
+ * This method returns local datamovement object.
*
* @param dataMovementId
* The identifier of the datamovement Interface to be retrieved.
@@ -2304,6 +2474,7 @@ interface AiravataIf {
*/
public function getLocalDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
/**
+ *
* Add a SCP data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2333,6 +2504,7 @@ interface AiravataIf {
*/
public function addSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement);
/**
+ *
* Update the given scp data movement details
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2383,6 +2555,7 @@ interface AiravataIf {
*/
public function getSCPDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
/**
+ *
* Add a UNICORE data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2412,6 +2585,7 @@ interface AiravataIf {
*/
public function addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement);
/**
+ *
* Update a selected UNICORE data movement details
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2437,6 +2611,7 @@ interface AiravataIf {
*/
public function updateUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement);
/**
+ *
* This method returns UNICORE datamovement object
*
* @param dataMovementId
@@ -2460,6 +2635,7 @@ interface AiravataIf {
*/
public function getUnicoreDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
/**
+ *
* Add a GridFTP data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2777,7 +2953,7 @@ interface AiravataIf {
* Fetch the given Gateway Resource Profile.
*
* @param gatewayID
- * The identifier for the requested gateway resource
+ * The identifier for the requested gateway resource.
*
* @return gatewayResourceProfile
* Gateway Resource Profile Object.
@@ -2874,6 +3050,22 @@ interface AiravataIf {
*/
public function addGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
/**
+ * Add a Storage Resource Preference to a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be added.
+ *
+ * @param storageResourceId
+ * Preferences related to a particular compute resource
+ *
+ * @param computeResourcePreference
+ * The ComputeResourcePreference object to be added to the resource profile.
+ *
+ * @return status
+ * Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+ * Instead an update should be used.
+ *
+ *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $gatewayID
* @param string $storageResourceId
@@ -2886,6 +3078,7 @@ interface AiravataIf {
*/
public function addGatewayStoragePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $storageResourceId, \Airavata\Model\AppCatalog\GatewayProfile\StoragePreference $storagePreference);
/**
+ *
* Fetch a Compute Resource Preference of a registered gateway profile.
*
* @param gatewayID
@@ -2941,6 +3134,19 @@ interface AiravataIf {
*/
public function getGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId);
/**
+ *
+ * Fetch a Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to request to fetch the particular storage resource preference.
+ *
+ * @param storageResourceId
+ * Identifier of the Stprage Preference required to be fetched.
+ *
+ * @return StoragePreference
+ * Returns the StoragePreference object.
+ *
+ *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $gatewayID
* @param string $storageResourceId
@@ -2952,6 +3158,7 @@ interface AiravataIf {
*/
public function getGatewayStoragePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $storageResourceId);
/**
+ *
* Fetch all Compute Resource Preferences of a registered gateway profile.
*
* @param gatewayID
@@ -2971,6 +3178,15 @@ interface AiravataIf {
*/
public function getAllGatewayComputeResourcePreferences(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID);
/**
+ * Fetch all Storage Resource Preferences of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier for the gateway profile to be requested
+ *
+ * @return StoragePreference
+ * Returns the StoragePreference object.
+ *
+ *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $gatewayID
* @return \Airavata\Model\AppCatalog\GatewayProfile\StoragePreference[]
@@ -2981,7 +3197,12 @@ interface AiravataIf {
*/
public function getAllGatewayStoragePreferences(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID);
/**
- * Fetch all gateway profiles registered
+ *
+ * Fetch all Gateway Profiles registered
+ *
+ * @return GatewayResourceProfile
+ * Returns all the GatewayResourcePrifle list object.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -3020,6 +3241,21 @@ interface AiravataIf {
*/
public function updateGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
/**
+ * Update a Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be updated.
+ *
+ * @param storageId
+ * The Storage resource identifier of the one that you want to update
+ *
+ * @param storagePreference
+ * The storagePreference object to be updated to the resource profile.
+ *
+ * @return status
+ * Returns a success/failure of the updation.
+ *
+ *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $gatewayID
* @param string $storageId
@@ -3055,6 +3291,18 @@ interface AiravataIf {
*/
public function deleteGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId);
/**
+ * Delete the Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be deleted.
+ *
+ * @param storageId
+ * ID of the storage preference you want to delete.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $gatewayID
* @param string $storageId
@@ -3066,6 +3314,18 @@ interface AiravataIf {
*/
public function deleteGatewayStoragePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $storageId);
/**
+ * Delete the Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be deleted.
+ *
+ * @param storageId
+ * ID of the storage preference you want to delete.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $gatewayId
* @return string[]
@@ -3076,9 +3336,13 @@ interface AiravataIf {
*/
public function getAllWorkflows(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
/**
+ *
+ * API Methods Related for Work-Flow Submission Features.
+ *
+ *
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $workflowTemplateId
- * @return \Airavata\Model\Workflow
+ * @return \Airavata\Model\WorkflowModel
* @throws \Airavata\API\Error\InvalidRequestException
* @throws \Airavata\API\Error\AiravataClientException
* @throws \Airavata\API\Error\AiravataSystemException
@@ -3097,24 +3361,24 @@ interface AiravataIf {
/**
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $gatewayId
- * @param \Airavata\Model\Workflow $workflow
+ * @param \Airavata\Model\WorkflowModel $workflow
* @return string
* @throws \Airavata\API\Error\InvalidRequestException
* @throws \Airavata\API\Error\AiravataClientException
* @throws \Airavata\API\Error\AiravataSystemException
* @throws \Airavata\API\Error\AuthorizationException
*/
- public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workflow $workflow);
+ public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\WorkflowModel $workflow);
/**
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $workflowTemplateId
- * @param \Airavata\Model\Workflow $workflow
+ * @param \Airavata\Model\WorkflowModel $workflow
* @throws \Airavata\API\Error\InvalidRequestException
* @throws \Airavata\API\Error\AiravataClientException
* @throws \Airavata\API\Error\AiravataSystemException
* @throws \Airavata\API\Error\AuthorizationException
*/
- public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\Workflow $workflow);
+ public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\WorkflowModel $workflow);
/**
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $workflowName
@@ -3136,7 +3400,9 @@ interface AiravataIf {
*/
public function isWorkflowExistWithName(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName);
/**
- * * Data Manager Related API Methods
+ * *
+ * * Data Manager Related API Methods.
+ * *
* *
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -11571,13 +11837,13 @@ class AiravataClient implements \Airavata\API\AiravataIf {
return;
}
- public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workflow $workflow)
+ public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\WorkflowModel $workflow)
{
$this->send_registerWorkflow($authzToken, $gatewayId, $workflow);
return $this->recv_registerWorkflow();
}
- public function send_registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workflow $workflow)
+ public function send_registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\WorkflowModel $workflow)
{
$args = new \Airavata\API\Airavata_registerWorkflow_args();
$args->authzToken = $authzToken;
@@ -11636,13 +11902,13 @@ class AiravataClient implements \Airavata\API\AiravataIf {
throw new \Exception("registerWorkflow failed: unknown result");
}
- public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\Workflow $workflow)
+ public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\WorkflowModel $workflow)
{
$this->send_updateWorkflow($authzToken, $workflowTemplateId, $workflow);
$this->recv_updateWorkflow();
}
- public function send_updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\Workflow $workflow)
+ public function send_updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\WorkflowModel $workflow)
{
$args = new \Airavata\API\Airavata_updateWorkflow_args();
$args->authzToken = $authzToken;
@@ -51488,7 +51754,7 @@ class Airavata_getWorkflow_result {
static $_TSPEC;
/**
- * @var \Airavata\Model\Workflow
+ * @var \Airavata\Model\WorkflowModel
*/
public $success = null;
/**
@@ -51514,7 +51780,7 @@ class Airavata_getWorkflow_result {
0 => array(
'var' => 'success',
'type' => TType::STRUCT,
- 'class' => '\Airavata\Model\Workflow',
+ 'class' => '\Airavata\Model\WorkflowModel',
),
1 => array(
'var' => 'ire',
@@ -51578,7 +51844,7 @@ class Airavata_getWorkflow_result {
{
case 0:
if ($ftype == TType::STRUCT) {
- $this->success = new \Airavata\Model\Workflow();
+ $this->success = new \Airavata\Model\WorkflowModel();
$xfer += $this->success->read($input);
} else {
$xfer += $input->skip($ftype);
@@ -51931,7 +52197,7 @@ class Airavata_registerWorkflow_args {
*/
public $gatewayId = null;
/**
- * @var \Airavata\Model\Workflow
+ * @var \Airavata\Model\WorkflowModel
*/
public $workflow = null;
@@ -51950,7 +52216,7 @@ class Airavata_registerWorkflow_args {
3 => array(
'var' => 'workflow',
'type' => TType::STRUCT,
- 'class' => '\Airavata\Model\Workflow',
+ 'class' => '\Airavata\Model\WorkflowModel',
),
);
}
@@ -52003,7 +52269,7 @@ class Airavata_registerWorkflow_args {
break;
case 3:
if ($ftype == TType::STRUCT) {
- $this->workflow = new \Airavata\Model\Workflow();
+ $this->workflow = new \Airavata\Model\WorkflowModel();
$xfer += $this->workflow->read($input);
} else {
$xfer += $input->skip($ftype);
@@ -52237,7 +52503,7 @@ class Airavata_updateWorkflow_args {
*/
public $workflowTemplateId = null;
/**
- * @var \Airavata\Model\Workflow
+ * @var \Airavata\Model\WorkflowModel
*/
public $workflow = null;
@@ -52256,7 +52522,7 @@ class Airavata_updateWorkflow_args {
3 => array(
'var' => 'workflow',
'type' => TType::STRUCT,
- 'class' => '\Airavata\Model\Workflow',
+ 'class' => '\Airavata\Model\WorkflowModel',
),
);
}
@@ -52309,7 +52575,7 @@ class Airavata_updateWorkflow_args {
break;
case 3:
if ($ftype == TType::STRUCT) {
- $this->workflow = new \Airavata\Model\Workflow();
+ $this->workflow = new \Airavata\Model\WorkflowModel();
$xfer += $this->workflow->read($input);
} else {
$xfer += $input->skip($ftype);
[37/50] [abbrv] airavata git commit: adding workflow catalog
properties and fixing issues with starting up databases
Posted by ch...@apache.org.
adding workflow catalog properties and fixing issues with starting up databases
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/e21fae79
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/e21fae79
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/e21fae79
Branch: refs/heads/master
Commit: e21fae79eeb6c7aae6f482db3e20e5745ccac6ed
Parents: fb75a2f
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Fri Feb 5 14:40:04 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Fri Feb 5 14:40:04 2016 -0500
----------------------------------------------------------------------
.../airavata/api/server/AiravataAPIServer.java | 13 +-
.../api/server/util/AppCatalogInitUtil.java | 4 +-
.../server/util/ExperimentCatalogInitUtil.java | 203 +++++++++++++++++++
.../api/server/util/RegistryInitUtil.java | 203 -------------------
.../server/util/WorkflowCatalogInitUtil.java | 4 +-
.../handler/AiravataServerHandlerTest.java | 4 +-
.../main/resources/airavata-server.properties | 16 +-
.../main/resources/workflowcatalog-derby.sql | 14 +-
.../main/resources/workflowcatalog-mysql.sql | 16 +-
9 files changed, 238 insertions(+), 239 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/e21fae79/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
index 49ddec7..d2e50ef 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
@@ -32,14 +32,13 @@ import org.apache.airavata.api.server.security.SecurityManagerFactory;
import org.apache.airavata.api.server.security.interceptor.SecurityModule;
import org.apache.airavata.api.server.util.AppCatalogInitUtil;
import org.apache.airavata.api.server.util.Constants;
-import org.apache.airavata.api.server.util.RegistryInitUtil;
+import org.apache.airavata.api.server.util.ExperimentCatalogInitUtil;
import org.apache.airavata.api.server.util.WorkflowCatalogInitUtil;
import org.apache.airavata.common.exception.ApplicationSettingsException;
import org.apache.airavata.common.utils.IServer;
import org.apache.airavata.common.utils.ServerSettings;
import org.apache.airavata.model.error.AiravataErrorType;
import org.apache.airavata.model.error.AiravataSystemException;
-import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogUtils;
import org.apache.airavata.security.AiravataSecurityException;
import org.apache.thrift.server.TServer;
import org.apache.thrift.server.TThreadPoolServer;
@@ -68,9 +67,9 @@ public class AiravataAPIServer implements IServer{
public void startAiravataServer(Airavata.Processor<Airavata.Iface> airavataAPIServer) throws AiravataSystemException {
try {
- RegistryInitUtil.initializeDB();
+ ExperimentCatalogInitUtil.initializeDB();
AppCatalogInitUtil.initializeDB();
-// WorkflowCatalogInitUtil.initializeDB();
+ WorkflowCatalogInitUtil.initializeDB();
final String serverHost = ServerSettings.getSetting(Constants.API_SERVER_HOST, null);
if (!ServerSettings.isTLSEnabled()) {
final int serverPort = Integer.parseInt(ServerSettings.getSetting(Constants.API_SERVER_PORT, "8930"));
@@ -102,7 +101,7 @@ public class AiravataAPIServer implements IServer{
new Thread() {
public void run() {
server.serve();
- RegistryInitUtil.stopDerbyInServerMode();
+ ExperimentCatalogInitUtil.stopDerbyInServerMode();
setStatus(ServerStatus.STOPPED);
logger.info("Airavata API Server Stopped.");
}
@@ -140,7 +139,7 @@ public class AiravataAPIServer implements IServer{
new Thread() {
public void run() {
TLSServer.serve();
- RegistryInitUtil.stopDerbyInServerMode();
+ ExperimentCatalogInitUtil.stopDerbyInServerMode();
setStatus(ServerStatus.STOPPED);
logger.info("Airavata API Server over TLS Stopped.");
}
@@ -169,7 +168,7 @@ public class AiravataAPIServer implements IServer{
} catch (TTransportException e) {
logger.error(e.getMessage());
setStatus(ServerStatus.FAILED);
- RegistryInitUtil.stopDerbyInServerMode();
+ ExperimentCatalogInitUtil.stopDerbyInServerMode();
throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/e21fae79/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/AppCatalogInitUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/AppCatalogInitUtil.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/AppCatalogInitUtil.java
index c6dcd22..0be8922 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/AppCatalogInitUtil.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/AppCatalogInitUtil.java
@@ -74,9 +74,9 @@ public class AppCatalogInitUtil {
conn = db.connect();
if (!DatabaseCreator.isDatabaseStructureCreated(COMPUTE_RESOURCE, conn)) {
DatabaseCreator.createRegistryDatabase("database_scripts/appcatalog", conn);
- logger.info("New Database created for App Catalog");
+ logger.info("New Database created for App Catalog !!!");
} else {
- logger.info("Database already created for App Catalog!");
+ logger.info("Database already created for App Catalog !!!");
}
GatewayProfileResource gatewayProfileResource = new GatewayProfileResource();
if (!gatewayProfileResource.isExists(ServerSettings.getDefaultUserGateway())){
http://git-wip-us.apache.org/repos/asf/airavata/blob/e21fae79/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/ExperimentCatalogInitUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/ExperimentCatalogInitUtil.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/ExperimentCatalogInitUtil.java
new file mode 100644
index 0000000..5e68c40
--- /dev/null
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/ExperimentCatalogInitUtil.java
@@ -0,0 +1,203 @@
+/*
+*
+* 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.api.server.util;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.URI;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
+import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
+import org.apache.airavata.registry.core.experiment.catalog.resources.GatewayResource;
+import org.apache.airavata.registry.core.experiment.catalog.resources.ProjectResource;
+import org.apache.airavata.registry.core.experiment.catalog.resources.UserResource;
+import org.apache.airavata.registry.core.experiment.catalog.resources.WorkerResource;
+import org.apache.derby.drda.NetworkServerControl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ExperimentCatalogInitUtil {
+ public static final String CONFIGURATION_TABLE = "CONFIGURATION";
+ private static final Logger logger = LoggerFactory.getLogger(ExperimentCatalogInitUtil.class);
+ public static final String REGISTRY_JDBC_DRIVER = "registry.jdbc.driver";
+ public static final String REGISTRY_JDBC_URL = "registry.jdbc.url";
+ public static final String REGISTRY_JDBC_USER = "registry.jdbc.user";
+ public static final String REGISTRY_JDBC_PASSWORD = "registry.jdbc.password";
+ public static final String START_DERBY_ENABLE = "start.derby.server.mode";
+ public static final String DERBY_SERVER_MODE_SYS_PROPERTY = "derby.drda.startNetworkServer";
+ public static final String DEFAULT_PROJECT_NAME = "default";
+ private static NetworkServerControl server;
+ private static JdbcStorage db;
+ private static String jdbcURl;
+ private static String jdbcDriver;
+ private static String jdbcUser;
+ private static String jdbcPassword;
+
+
+ public static void initializeDB() {
+ System.setProperty("registry.initialize.state", "0");
+ try{
+ jdbcDriver = ServerSettings.getSetting(REGISTRY_JDBC_DRIVER);
+ jdbcURl = ServerSettings.getSetting(REGISTRY_JDBC_URL);
+ jdbcUser = ServerSettings.getSetting(REGISTRY_JDBC_USER);
+ jdbcPassword = ServerSettings.getSetting(REGISTRY_JDBC_PASSWORD);
+ jdbcURl = jdbcURl + "?" + "user=" + jdbcUser + "&" + "password=" + jdbcPassword;
+ } catch (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata server properties", e.getMessage());
+ }
+
+ if (getDBType(jdbcURl).equals("derby") && isDerbyStartEnabled()) {
+ startDerbyInServerMode();
+ }
+ db = new JdbcStorage(10, 50, jdbcURl, jdbcDriver, true);
+
+ Connection conn = null;
+ try {
+ conn = db.connect();
+ if (!DatabaseCreator.isDatabaseStructureCreated(CONFIGURATION_TABLE, conn)) {
+ DatabaseCreator.createRegistryDatabase("database_scripts/expcatalog", conn);
+ logger.info("New Database created for Experiment Catalog !!!");
+ } else {
+ logger.info("Database already created for Experiment Catalog !!!");
+ }
+ try{
+ GatewayResource gateway;
+ if (!ExpCatResourceUtils.isGatewayExist(ServerSettings.getDefaultUserGateway())){
+ gateway = (GatewayResource)ExpCatResourceUtils.createGateway(ServerSettings.getDefaultUserGateway());
+ gateway.save();
+ }else {
+ gateway = (GatewayResource)ExpCatResourceUtils.getGateway(ServerSettings.getDefaultUserGateway());
+ }
+
+ UserResource user;
+ if (!ExpCatResourceUtils.isUserExist(ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserGateway())){
+ user = ExpCatResourceUtils.createUser(ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserPassword(), ServerSettings.getDefaultUserGateway());
+ user.save();
+ }else {
+ user = (UserResource)ExpCatResourceUtils.getUser(ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserGateway());
+ }
+
+ WorkerResource workerResource;
+ if (!gateway.isExists(ResourceType.GATEWAY_WORKER, ServerSettings.getDefaultUserGateway())){
+ workerResource = (WorkerResource)gateway.create(ResourceType.GATEWAY_WORKER);
+ workerResource.setUser(user.getUserName());
+ workerResource.save();
+ }else {
+ workerResource = (WorkerResource)gateway.get(ResourceType.GATEWAY_WORKER, ServerSettings.getDefaultUser());
+ }
+ ProjectResource projectResource;
+ if (!workerResource.isExists(ResourceType.PROJECT, DEFAULT_PROJECT_NAME)){
+ projectResource = workerResource.createProject(DEFAULT_PROJECT_NAME);
+ projectResource.setName(DEFAULT_PROJECT_NAME);
+ projectResource.setGatewayId(gateway.getGatewayId());
+ projectResource.save();
+ }
+
+ } catch (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata-server properties...", e.getMessage());
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException("Database failure", e);
+ } finally {
+ db.closeConnection(conn);
+ try {
+ if(conn != null){
+ if (!conn.getAutoCommit()) {
+ conn.commit();
+ }
+ conn.close();
+ }
+ } catch (SQLException e) {
+ logger.error("Error while closing database connection...", e.getMessage(), e);
+ }
+ }
+ System.setProperty("registry.initialize.state", "1");
+ }
+
+ public static String getDBType(String jdbcUrl){
+ try{
+ String cleanURI = jdbcUrl.substring(5);
+ URI uri = URI.create(cleanURI);
+ return uri.getScheme();
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ return null;
+ }
+ }
+
+ public static boolean isDerbyStartEnabled(){
+ try {
+ String s = ServerSettings.getSetting(START_DERBY_ENABLE);
+ if("true".equals(s)){
+ return true;
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata server properties", e.getMessage(), e);
+ return false;
+ }
+ return false;
+ }
+
+ public static void startDerbyInServerMode() {
+ try {
+ System.setProperty(DERBY_SERVER_MODE_SYS_PROPERTY, "true");
+ server = new NetworkServerControl(InetAddress.getByName("0.0.0.0"),
+ getPort(jdbcURl),
+ jdbcUser, jdbcPassword);
+ java.io.PrintWriter consoleWriter = new java.io.PrintWriter(System.out, true);
+ server.start(consoleWriter);
+ } catch (IOException e) {
+ logger.error("Unable to start Apache derby in the server mode! Check whether " +
+ "specified port is available");
+ } catch (Exception e) {
+ logger.error("Unable to start Apache derby in the server mode! Check whether " +
+ "specified port is available");
+ }
+ }
+
+ public static void stopDerbyInServerMode() {
+ System.setProperty(DERBY_SERVER_MODE_SYS_PROPERTY, "false");
+ if (server!=null){
+ try {
+ server.shutdown();
+ } catch (Exception e) {
+ logger.error("Error when stopping the derby server : "+e.getLocalizedMessage());
+ }
+ }
+ }
+
+ public static int getPort(String jdbcURL){
+ try{
+ String cleanURI = jdbcURL.substring(5);
+ URI uri = URI.create(cleanURI);
+ return uri.getPort();
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ return -1;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/e21fae79/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
deleted file mode 100644
index 9f61c65..0000000
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
-*
-* 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.api.server.util;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.URI;
-import java.sql.Connection;
-import java.sql.SQLException;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
-import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
-import org.apache.airavata.registry.core.experiment.catalog.resources.GatewayResource;
-import org.apache.airavata.registry.core.experiment.catalog.resources.ProjectResource;
-import org.apache.airavata.registry.core.experiment.catalog.resources.UserResource;
-import org.apache.airavata.registry.core.experiment.catalog.resources.WorkerResource;
-import org.apache.derby.drda.NetworkServerControl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class RegistryInitUtil {
- public static final String CONFIGURATION_TABLE = "CONFIGURATION";
- private static final Logger logger = LoggerFactory.getLogger(RegistryInitUtil.class);
- public static final String REGISTRY_JDBC_DRIVER = "registry.jdbc.driver";
- public static final String REGISTRY_JDBC_URL = "registry.jdbc.url";
- public static final String REGISTRY_JDBC_USER = "registry.jdbc.user";
- public static final String REGISTRY_JDBC_PASSWORD = "registry.jdbc.password";
- public static final String START_DERBY_ENABLE = "start.derby.server.mode";
- public static final String DERBY_SERVER_MODE_SYS_PROPERTY = "derby.drda.startNetworkServer";
- public static final String DEFAULT_PROJECT_NAME = "default";
- private static NetworkServerControl server;
- private static JdbcStorage db;
- private static String jdbcURl;
- private static String jdbcDriver;
- private static String jdbcUser;
- private static String jdbcPassword;
-
-
- public static void initializeDB() {
- System.setProperty("registry.initialize.state", "0");
- try{
- jdbcDriver = ServerSettings.getSetting(REGISTRY_JDBC_DRIVER);
- jdbcURl = ServerSettings.getSetting(REGISTRY_JDBC_URL);
- jdbcUser = ServerSettings.getSetting(REGISTRY_JDBC_USER);
- jdbcPassword = ServerSettings.getSetting(REGISTRY_JDBC_PASSWORD);
- jdbcURl = jdbcURl + "?" + "user=" + jdbcUser + "&" + "password=" + jdbcPassword;
- } catch (ApplicationSettingsException e) {
- logger.error("Unable to read airavata server properties", e.getMessage());
- }
-
- if (getDBType(jdbcURl).equals("derby") && isDerbyStartEnabled()) {
- startDerbyInServerMode();
- }
- db = new JdbcStorage(10, 50, jdbcURl, jdbcDriver, true);
-
- Connection conn = null;
- try {
- conn = db.connect();
- if (!DatabaseCreator.isDatabaseStructureCreated(CONFIGURATION_TABLE, conn)) {
- DatabaseCreator.createRegistryDatabase("database_scripts/expcatalog", conn);
- logger.info("New Database created for Registry");
- } else {
- logger.info("Database already created for Registry!");
- }
- try{
- GatewayResource gateway;
- if (!ExpCatResourceUtils.isGatewayExist(ServerSettings.getDefaultUserGateway())){
- gateway = (GatewayResource)ExpCatResourceUtils.createGateway(ServerSettings.getDefaultUserGateway());
- gateway.save();
- }else {
- gateway = (GatewayResource)ExpCatResourceUtils.getGateway(ServerSettings.getDefaultUserGateway());
- }
-
- UserResource user;
- if (!ExpCatResourceUtils.isUserExist(ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserGateway())){
- user = ExpCatResourceUtils.createUser(ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserPassword(), ServerSettings.getDefaultUserGateway());
- user.save();
- }else {
- user = (UserResource)ExpCatResourceUtils.getUser(ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserGateway());
- }
-
- WorkerResource workerResource;
- if (!gateway.isExists(ResourceType.GATEWAY_WORKER, ServerSettings.getDefaultUserGateway())){
- workerResource = (WorkerResource)gateway.create(ResourceType.GATEWAY_WORKER);
- workerResource.setUser(user.getUserName());
- workerResource.save();
- }else {
- workerResource = (WorkerResource)gateway.get(ResourceType.GATEWAY_WORKER, ServerSettings.getDefaultUser());
- }
- ProjectResource projectResource;
- if (!workerResource.isExists(ResourceType.PROJECT, DEFAULT_PROJECT_NAME)){
- projectResource = workerResource.createProject(DEFAULT_PROJECT_NAME);
- projectResource.setName(DEFAULT_PROJECT_NAME);
- projectResource.setGatewayId(gateway.getGatewayId());
- projectResource.save();
- }
-
- } catch (ApplicationSettingsException e) {
- logger.error("Unable to read airavata-server properties...", e.getMessage());
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new RuntimeException("Database failure", e);
- } finally {
- db.closeConnection(conn);
- try {
- if(conn != null){
- if (!conn.getAutoCommit()) {
- conn.commit();
- }
- conn.close();
- }
- } catch (SQLException e) {
- logger.error("Error while closing database connection...", e.getMessage(), e);
- }
- }
- System.setProperty("registry.initialize.state", "1");
- }
-
- public static String getDBType(String jdbcUrl){
- try{
- String cleanURI = jdbcUrl.substring(5);
- URI uri = URI.create(cleanURI);
- return uri.getScheme();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- return null;
- }
- }
-
- public static boolean isDerbyStartEnabled(){
- try {
- String s = ServerSettings.getSetting(START_DERBY_ENABLE);
- if("true".equals(s)){
- return true;
- }
- } catch (ApplicationSettingsException e) {
- logger.error("Unable to read airavata server properties", e.getMessage(), e);
- return false;
- }
- return false;
- }
-
- public static void startDerbyInServerMode() {
- try {
- System.setProperty(DERBY_SERVER_MODE_SYS_PROPERTY, "true");
- server = new NetworkServerControl(InetAddress.getByName("0.0.0.0"),
- getPort(jdbcURl),
- jdbcUser, jdbcPassword);
- java.io.PrintWriter consoleWriter = new java.io.PrintWriter(System.out, true);
- server.start(consoleWriter);
- } catch (IOException e) {
- logger.error("Unable to start Apache derby in the server mode! Check whether " +
- "specified port is available");
- } catch (Exception e) {
- logger.error("Unable to start Apache derby in the server mode! Check whether " +
- "specified port is available");
- }
- }
-
- public static void stopDerbyInServerMode() {
- System.setProperty(DERBY_SERVER_MODE_SYS_PROPERTY, "false");
- if (server!=null){
- try {
- server.shutdown();
- } catch (Exception e) {
- logger.error("Error when stopping the derby server : "+e.getLocalizedMessage());
- }
- }
- }
-
- public static int getPort(String jdbcURL){
- try{
- String cleanURI = jdbcURL.substring(5);
- URI uri = URI.create(cleanURI);
- return uri.getPort();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- return -1;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/e21fae79/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/WorkflowCatalogInitUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/WorkflowCatalogInitUtil.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/WorkflowCatalogInitUtil.java
index 2a8b75b..ea20c63 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/WorkflowCatalogInitUtil.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/WorkflowCatalogInitUtil.java
@@ -74,9 +74,9 @@ public class WorkflowCatalogInitUtil {
conn = db.connect();
if (!DatabaseCreator.isDatabaseStructureCreated(WORKFLOW, conn)) {
DatabaseCreator.createRegistryDatabase("database_scripts/workflowcatalog", conn);
- logger.info("New Database created for Workflow Catalog");
+ logger.info("New Database created for Workflow Catalog !!! ");
} else {
- logger.info("Database already created for Workflow Catalog!");
+ logger.info("Database already created for Workflow Catalog!!!");
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/e21fae79/airavata-api/airavata-api-server/src/test/java/org/apache/airavata/api/server/handler/AiravataServerHandlerTest.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/test/java/org/apache/airavata/api/server/handler/AiravataServerHandlerTest.java b/airavata-api/airavata-api-server/src/test/java/org/apache/airavata/api/server/handler/AiravataServerHandlerTest.java
index 228ac05..453d17d 100644
--- a/airavata-api/airavata-api-server/src/test/java/org/apache/airavata/api/server/handler/AiravataServerHandlerTest.java
+++ b/airavata-api/airavata-api-server/src/test/java/org/apache/airavata/api/server/handler/AiravataServerHandlerTest.java
@@ -23,7 +23,7 @@ package org.apache.airavata.api.server.handler;
import junit.framework.Assert;
import org.apache.airavata.api.server.handler.utils.AppCatInit;
import org.apache.airavata.api.server.handler.utils.ExpCatInit;
-import org.apache.airavata.api.server.util.RegistryInitUtil;
+import org.apache.airavata.api.server.util.ExperimentCatalogInitUtil;
import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
import org.apache.airavata.model.application.io.DataType;
import org.apache.airavata.model.application.io.InputDataObjectType;
@@ -76,7 +76,7 @@ public class AiravataServerHandlerTest {
@AfterClass
public static void tearDown(){
- RegistryInitUtil.stopDerbyInServerMode();
+ ExperimentCatalogInitUtil.stopDerbyInServerMode();
}
/**
http://git-wip-us.apache.org/repos/asf/airavata/blob/e21fae79/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index 9275e56..160f49d 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -80,17 +80,17 @@ datacatalog.jdbc.password=airavata
datacatalog.validationQuery=SELECT 1 from CONFIGURATION
###########################################################################
-# Data Catalog DB Configuration
+# Workflow Catalog DB Configuration
###########################################################################
#for derby [AiravataJPARegistry]
-datacatalog.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-datacatalog.jdbc.url=jdbc:derby://localhost:1527/data_catalog;create=true;user=airavata;password=airavata
+workflowcatalog.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+workflowcatalog.jdbc.url=jdbc:derby://localhost:1527/workflow_catalog;create=true;user=airavata;password=airavata
# MySql database configuration
-#datacatalog.jdbc.driver=com.mysql.jdbc.Driver
-#datacatalog.jdbc.url=jdbc:mysql://localhost:3306/data_catalog
-datacatalog.jdbc.user=airavata
-datacatalog.jdbc.password=airavata
-datacatalog.validationQuery=SELECT 1 from CONFIGURATION
+#workflowcatalog.jdbc.driver=com.mysql.jdbc.Driver
+#workflowcatalog.jdbc.url=jdbc:mysql://localhost:3306/workflow_catalog
+workflowcatalog.jdbc.user=airavata
+workflowcatalog.jdbc.password=airavata
+workflowcatalog.validationQuery=SELECT 1 from CONFIGURATION
###########################################################################
# Server module Configuration
http://git-wip-us.apache.org/repos/asf/airavata/blob/e21fae79/modules/registry/registry-core/src/main/resources/workflowcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflowcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/workflowcatalog-derby.sql
index 8c590f8..51a6ddf 100644
--- a/modules/registry/registry-core/src/main/resources/workflowcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/workflowcatalog-derby.sql
@@ -28,7 +28,7 @@ CREATE TABLE WORKFLOW
GRAPH CLOB,
IMAGE BLOB,
CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ UPDATE_TIME timestamp DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (TEMPLATE_ID)
);
@@ -73,8 +73,8 @@ CREATE TABLE COMPONENT_STATUS
TEMPLATE_ID VARCHAR (255) NOT NULL,
STATE VARCHAR(255),
REASON VARCHAR(255),
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (STATUS_ID)
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (STATUS_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -84,7 +84,7 @@ CREATE TABLE WORKFLOW_STATUS
TEMPLATE_ID VARCHAR (255) NOT NULL,
STATE VARCHAR(255),
REASON VARCHAR(255),
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -96,7 +96,7 @@ CREATE TABLE EDGE
NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -108,7 +108,7 @@ CREATE TABLE PORT
NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (PORT_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -122,7 +122,7 @@ CREATE TABLE NODE
APPLICATION_NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (NODE_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/e21fae79/modules/registry/registry-core/src/main/resources/workflowcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflowcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/workflowcatalog-mysql.sql
index 3527d60..5a8ef97 100644
--- a/modules/registry/registry-core/src/main/resources/workflowcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/workflowcatalog-mysql.sql
@@ -27,8 +27,8 @@ CREATE TABLE WORKFLOW
GATEWAY_ID VARCHAR (255),
GRAPH LONGTEXT,
IMAGE BLOB,
- CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ CREATION_TIME timestamp DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
PRIMARY KEY (TEMPLATE_ID)
);
@@ -73,8 +73,8 @@ CREATE TABLE COMPONENT_STATUS
TEMPLATE_ID VARCHAR (255) NOT NULL,
STATE VARCHAR(255),
REASON VARCHAR(255),
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (STATUS_ID)
+ UPDATE_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
+ PRIMARY KEY (STATUS_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -84,7 +84,7 @@ CREATE TABLE WORKFLOW_STATUS
TEMPLATE_ID VARCHAR (255) NOT NULL,
STATE VARCHAR(255),
REASON VARCHAR(255),
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -96,7 +96,7 @@ CREATE TABLE EDGE
NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ CREATED_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -108,7 +108,7 @@ CREATE TABLE PORT
NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ CREATED_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
PRIMARY KEY (PORT_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -122,7 +122,7 @@ CREATE TABLE NODE
APPLICATION_NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ CREATED_TIME TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
PRIMARY KEY (NODE_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
\ No newline at end of file
[04/50] [abbrv] airavata git commit: publishing experiment statuses
Posted by ch...@apache.org.
publishing experiment statuses
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/20fe7b44
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/20fe7b44
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/20fe7b44
Branch: refs/heads/master
Commit: 20fe7b44a1353b9b5ee060bcf0820b1265951e13
Parents: 70358df
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Tue Jan 19 16:43:57 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Tue Jan 19 16:43:57 2016 -0500
----------------------------------------------------------------------
.../server/OrchestratorServerHandler.java | 19 +++++-------------
.../orchestrator/util/OrchestratorUtils.java | 21 ++++++++++++++++----
2 files changed, 22 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/20fe7b44/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index 66861dd..f04fdae 100644
--- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -27,7 +27,6 @@ import org.apache.airavata.common.utils.AiravataUtils;
import org.apache.airavata.common.utils.ServerSettings;
import org.apache.airavata.common.utils.ThriftUtils;
import org.apache.airavata.common.utils.ZkConstants;
-import org.apache.airavata.credential.store.store.CredentialReader;
import org.apache.airavata.gfac.core.GFacUtils;
import org.apache.airavata.gfac.core.scheduler.HostScheduler;
import org.apache.airavata.messaging.core.MessageContext;
@@ -44,7 +43,6 @@ import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfil
import org.apache.airavata.model.error.LaunchValidationException;
import org.apache.airavata.model.experiment.ExperimentModel;
import org.apache.airavata.model.experiment.ExperimentType;
-import org.apache.airavata.model.experiment.UserConfigurationDataModel;
import org.apache.airavata.model.messaging.event.ExperimentStatusChangeEvent;
import org.apache.airavata.model.messaging.event.MessageType;
import org.apache.airavata.model.messaging.event.ProcessIdentifier;
@@ -180,15 +178,8 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
ExperimentStatus status = new ExperimentStatus(ExperimentState.LAUNCHED);
status.setReason("submitted all processes");
status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
- OrchestratorUtils.updageExperimentStatus(experimentId, status);
+ OrchestratorUtils.updageAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
log.info("expId: {}, Launched experiment ", experimentId);
- ExperimentStatusChangeEvent event = new ExperimentStatusChangeEvent(ExperimentState.LAUNCHED,
- experimentId,
- gatewayId);
- String messageId = AiravataUtils.getId("EXPERIMENT");
- MessageContext messageContext = new MessageContext(event, MessageType.EXPERIMENT, messageId, gatewayId);
- messageContext.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
- publisher.publish(messageContext);
OrchestratorServerThreadPoolExecutor.getCachedThreadPool().execute(new SingleAppExperimentRunner(experimentId, token, gatewayId));
} else if (executionType == ExperimentType.WORKFLOW) {
//its a workflow execution experiment
@@ -368,7 +359,7 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
ExperimentStatus status = new ExperimentStatus(ExperimentState.CANCELING);
status.setReason("Experiment cancel request processed");
status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
- OrchestratorUtils.updageExperimentStatus(experimentId, status);
+ OrchestratorUtils.updageAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
log.info("expId : " + experimentId + " :- Experiment status updated to " + status.getState());
return true;
}
@@ -423,12 +414,12 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
// ExperimentStatus status = new ExperimentStatus(ExperimentState.LAUNCHED);
// status.setReason("submitted all processes");
// status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-// OrchestratorUtils.updageExperimentStatus(experimentId, status);
+// OrchestratorUtils.updageAndPublishExperimentStatus(experimentId, status);
// log.info("expId: {}, Launched experiment ", experimentId);
} catch (Exception e) {
ExperimentStatus status = new ExperimentStatus(ExperimentState.FAILED);
status.setReason("Error while updating task status");
- OrchestratorUtils.updageExperimentStatus(experimentId, status);
+ OrchestratorUtils.updageAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
log.error("expId: " + experimentId + ", Error while updating task status, hence updated experiment status to " +
ExperimentState.FAILED, e);
ExperimentStatusChangeEvent event = new ExperimentStatusChangeEvent(ExperimentState.FAILED,
@@ -547,7 +538,7 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
}
if (status.getState() != null) {
status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
- OrchestratorUtils.updageExperimentStatus(processIdentity.getExperimentId(), status);
+ OrchestratorUtils.updageAndPublishExperimentStatus(processIdentity.getExperimentId(), status, publisher, gatewayName);
log.info("expId : " + processIdentity.getExperimentId() + " :- Experiment status updated to " +
status.getState());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/20fe7b44/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/OrchestratorUtils.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/OrchestratorUtils.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/OrchestratorUtils.java
index 834d3b6..0a9617d 100644
--- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/OrchestratorUtils.java
+++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/OrchestratorUtils.java
@@ -20,8 +20,12 @@
*/
package org.apache.airavata.orchestrator.util;
+import org.apache.airavata.common.exception.AiravataException;
import org.apache.airavata.common.utils.AiravataUtils;
-import org.apache.airavata.model.status.ExperimentState;
+import org.apache.airavata.messaging.core.MessageContext;
+import org.apache.airavata.messaging.core.Publisher;
+import org.apache.airavata.model.messaging.event.ExperimentStatusChangeEvent;
+import org.apache.airavata.model.messaging.event.MessageType;
import org.apache.airavata.model.status.ExperimentStatus;
import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
import org.apache.airavata.registry.cpi.ExperimentCatalogModelType;
@@ -32,14 +36,23 @@ import org.slf4j.LoggerFactory;
public class OrchestratorUtils {
private static final Logger log = LoggerFactory.getLogger(OrchestratorUtils.class);
- public static void updageExperimentStatus(String experimentId, ExperimentStatus status) {
+ public static void updageAndPublishExperimentStatus(String experimentId, ExperimentStatus status, Publisher publisher, String gatewayId) {
try {
RegistryFactory.getDefaultExpCatalog().update(ExperimentCatalogModelType.EXPERIMENT_STATUS, status,
experimentId);
+ ExperimentStatusChangeEvent event = new ExperimentStatusChangeEvent(status.getState(),
+ experimentId,
+ gatewayId);
+ String messageId = AiravataUtils.getId("EXPERIMENT");
+ MessageContext messageContext = new MessageContext(event, MessageType.EXPERIMENT, messageId, gatewayId);
+ messageContext.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
+ publisher.publish(messageContext);
} catch (RegistryException e) {
log.error("expId : " + experimentId + " Error while updating experiment status to " + status.toString(), e);
- }
- }
+ } catch (AiravataException e) {
+ log.error("expId : " + experimentId + " Error while publishing experiment status to " + status.toString(), e);
+ }
+ }
public static ExperimentStatus getExperimentStatus(String experimentId) throws RegistryException {
return ((ExperimentStatus) RegistryFactory.getDefaultExpCatalog().get(ExperimentCatalogModelType
[29/50] [abbrv] airavata git commit: adding workflow related resource
layer
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowInputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowInputResource.java
new file mode 100644
index 0000000..5cda60b
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowInputResource.java
@@ -0,0 +1,496 @@
+/**
+ * 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.registry.core.workflow.catalog.resources;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.registry.core.workflow.catalog.model.Workflow;
+import org.apache.airavata.registry.core.workflow.catalog.model.WorkflowInput;
+import org.apache.airavata.registry.core.workflow.catalog.model.WorkflowInput_PK;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogJPAUtils;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogQueryGenerator;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogResourceType;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class WorkflowInputResource extends WorkflowCatAbstractResource {
+
+ private final static Logger logger = LoggerFactory.getLogger(WorkflowInputResource.class);
+
+ private String wfTemplateId;
+ private String inputKey;
+ private String dataType;
+ private String inputVal;
+ private String metadata;
+ private String appArgument;
+ private String userFriendlyDesc;
+ private boolean standardInput;
+ private int inputOrder;
+ private boolean isRequired;
+ private boolean requiredToCMD;
+ private boolean dataStaged;
+
+ private WorkflowResource workflowResource;
+
+ public void remove(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_INPUT);
+ generator.setParameter(WorkflowInputConstants.WF_TEMPLATE_ID, ids.get(WorkflowInputConstants.WF_TEMPLATE_ID));
+ generator.setParameter(WorkflowInputConstants.INPUT_KEY, ids.get(WorkflowInputConstants.INPUT_KEY));
+ Query q = generator.deleteQuery(em);
+ q.executeUpdate();
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public WorkflowCatalogResource get(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap<String, String>) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_INPUT);
+ generator.setParameter(WorkflowInputConstants.WF_TEMPLATE_ID, ids.get(WorkflowInputConstants.WF_TEMPLATE_ID));
+ generator.setParameter(WorkflowInputConstants.INPUT_KEY, ids.get(WorkflowInputConstants.INPUT_KEY));
+ Query q = generator.selectQuery(em);
+ WorkflowInput workflowInput = (WorkflowInput) q.getSingleResult();
+ WorkflowInputResource workflowInputResource =
+ (WorkflowInputResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.WORKFLOW_INPUT
+ , workflowInput);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return workflowInputResource;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public List<WorkflowCatalogResource> get(String fieldName, Object value) throws WorkflowCatalogException {
+ List<WorkflowCatalogResource> wfInputResources = new ArrayList<WorkflowCatalogResource>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_INPUT);
+ List results;
+ if (fieldName.equals(WorkflowInputConstants.WF_TEMPLATE_ID)) {
+ generator.setParameter(WorkflowInputConstants.WF_TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowInput workflowInput = (WorkflowInput) result;
+ WorkflowInputResource workflowInputResource =
+ (WorkflowInputResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.WORKFLOW_INPUT, workflowInput);
+ wfInputResources.add(workflowInputResource);
+ }
+ }
+ } else if (fieldName.equals(WorkflowInputConstants.INPUT_KEY)) {
+ generator.setParameter(WorkflowInputConstants.INPUT_KEY, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowInput workflowInput = (WorkflowInput) result;
+ WorkflowInputResource workflowInputResource =
+ (WorkflowInputResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.WORKFLOW_INPUT, workflowInput);
+ wfInputResources.add(workflowInputResource);
+ }
+ }
+ } else if (fieldName.equals(WorkflowInputConstants.DATA_TYPE)) {
+ generator.setParameter(WorkflowInputConstants.DATA_TYPE, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowInput workflowInput = (WorkflowInput) result;
+ WorkflowInputResource workflowInputResource =
+ (WorkflowInputResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.WORKFLOW_INPUT, workflowInput);
+ wfInputResources.add(workflowInputResource);
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for WFInput Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for WFInput Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return wfInputResources;
+ }
+
+ public List<WorkflowCatalogResource> getAll() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getAllIds() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getIds(String fieldName, Object value) throws WorkflowCatalogException {
+ List<String> wfInputResourceIDs = new ArrayList<String>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_INPUT);
+ List results;
+ if (fieldName.equals(WorkflowInputConstants.WF_TEMPLATE_ID)) {
+ generator.setParameter(WorkflowInputConstants.WF_TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowInput workflowInput = (WorkflowInput) result;
+ wfInputResourceIDs.add(workflowInput.getTemplateID());
+ }
+ }
+ } else if (fieldName.equals(WorkflowInputConstants.INPUT_KEY)) {
+ generator.setParameter(WorkflowInputConstants.INPUT_KEY, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowInput workflowInput = (WorkflowInput) result;
+ wfInputResourceIDs.add(workflowInput.getTemplateID());
+ }
+ }
+ } else if (fieldName.equals(WorkflowInputConstants.DATA_TYPE)) {
+ generator.setParameter(WorkflowInputConstants.DATA_TYPE, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowInput workflowInput = (WorkflowInput) result;
+ wfInputResourceIDs.add(workflowInput.getTemplateID());
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for WFInput resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for WFInput Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return wfInputResourceIDs;
+ }
+
+ public void save() throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ WorkflowInput existingWFInput = em.find(WorkflowInput.class, new WorkflowInput_PK(wfTemplateId, inputKey));
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ WorkflowInput workflowInput;
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ if (existingWFInput == null) {
+ workflowInput = new WorkflowInput();
+ } else {
+ workflowInput=existingWFInput;
+ }
+ workflowInput.setTemplateID(wfTemplateId);
+ Workflow workflow = em.find(Workflow.class, wfTemplateId);
+ workflowInput.setWorkflow(workflow);
+ workflowInput.setDataType(dataType);
+ workflowInput.setInputKey(inputKey);
+ if (inputVal != null){
+ workflowInput.setInputVal(inputVal.toCharArray());
+ }
+ workflowInput.setMetadata(metadata);
+ workflowInput.setAppArgument(appArgument);
+ workflowInput.setUserFriendlyDesc(userFriendlyDesc);
+ workflowInput.setStandardInput(standardInput);
+ workflowInput.setRequiredToCMD(requiredToCMD);
+ workflowInput.setRequired(isRequired);
+ workflowInput.setDataStaged(dataStaged);
+ if (existingWFInput == null) {
+ em.persist(workflowInput);
+ } else {
+ em.merge(workflowInput);
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public boolean isExists(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap<String, String>) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ WorkflowInput workflowInput = em.find(WorkflowInput.class, new WorkflowInput_PK(
+ ids.get(WorkflowInputConstants.WF_TEMPLATE_ID),
+ ids.get(WorkflowInputConstants.INPUT_KEY)));
+
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return workflowInput != null;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public String getWfTemplateId() {
+ return wfTemplateId;
+ }
+
+ public void setWfTemplateId(String wfTemplateId) {
+ this.wfTemplateId = wfTemplateId;
+ }
+
+ public String getInputKey() {
+ return inputKey;
+ }
+
+ public void setInputKey(String inputKey) {
+ this.inputKey = inputKey;
+ }
+
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ public String getInputVal() {
+ return inputVal;
+ }
+
+ public void setInputVal(String inputVal) {
+ this.inputVal = inputVal;
+ }
+
+ public String getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(String metadata) {
+ this.metadata = metadata;
+ }
+
+ public String getAppArgument() {
+ return appArgument;
+ }
+
+ public void setAppArgument(String appArgument) {
+ this.appArgument = appArgument;
+ }
+
+ public String getUserFriendlyDesc() {
+ return userFriendlyDesc;
+ }
+
+ public void setUserFriendlyDesc(String userFriendlyDesc) {
+ this.userFriendlyDesc = userFriendlyDesc;
+ }
+
+ public WorkflowResource getWorkflowResource() {
+ return workflowResource;
+ }
+
+ public void setWorkflowResource(WorkflowResource workflowResource) {
+ this.workflowResource = workflowResource;
+ }
+
+ public boolean isStandardInput() {
+ return standardInput;
+ }
+
+ public void setStandardInput(boolean standardInput) {
+ this.standardInput = standardInput;
+ }
+
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
+ }
+
+ public boolean getRequired() {
+ return isRequired;
+ }
+
+ public void setRequired(boolean required) {
+ this.isRequired = required;
+ }
+
+ public boolean getRequiredToCMD() {
+ return requiredToCMD;
+ }
+
+ public void setRequiredToCMD(boolean requiredToCMD) {
+ this.requiredToCMD = requiredToCMD;
+ }
+
+ public boolean isDataStaged() {
+ return dataStaged;
+ }
+
+ public void setDataStaged(boolean dataStaged) {
+ this.dataStaged = dataStaged;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowOutputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowOutputResource.java
new file mode 100644
index 0000000..910136f
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowOutputResource.java
@@ -0,0 +1,489 @@
+/**
+ * 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.registry.core.workflow.catalog.resources;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.registry.core.workflow.catalog.model.Workflow;
+import org.apache.airavata.registry.core.workflow.catalog.model.WorkflowOutput;
+import org.apache.airavata.registry.core.workflow.catalog.model.WorkflowOutput_PK;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogJPAUtils;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogQueryGenerator;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogResourceType;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class WorkflowOutputResource extends WorkflowCatAbstractResource {
+ private final static Logger logger = LoggerFactory.getLogger(WorkflowOutputResource.class);
+
+ private String wfTemplateId;
+ private String outputKey;
+ private String outputVal;
+ private String dataType;
+ private boolean isRequired;
+ private boolean dataMovement;
+ private String dataNameLocation;
+ private boolean requiredToCMD;
+ private String searchQuery;
+ private String appArgument;
+ private boolean outputStreaming;
+
+ private WorkflowResource workflowResource;
+
+ public void remove(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_OUTPUT);
+ generator.setParameter(WorkflowOutputConstants.WF_TEMPLATE_ID, ids.get(WorkflowOutputConstants.WF_TEMPLATE_ID));
+ generator.setParameter(WorkflowOutputConstants.OUTPUT_KEY, ids.get(WorkflowOutputConstants.OUTPUT_KEY));
+ Query q = generator.deleteQuery(em);
+ q.executeUpdate();
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public WorkflowCatalogResource get(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_OUTPUT);
+ generator.setParameter(WorkflowOutputConstants.WF_TEMPLATE_ID, ids.get(WorkflowOutputConstants.WF_TEMPLATE_ID));
+ generator.setParameter(WorkflowOutputConstants.OUTPUT_KEY, ids.get(WorkflowOutputConstants.OUTPUT_KEY));
+ Query q = generator.selectQuery(em);
+ WorkflowOutput wfOutput = (WorkflowOutput) q.getSingleResult();
+ WorkflowOutputResource workflowOutputResource =
+ (WorkflowOutputResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.WORKFLOW_OUTPUT
+ , wfOutput);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return workflowOutputResource;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public List<WorkflowCatalogResource> get(String fieldName, Object value) throws WorkflowCatalogException {
+ List<WorkflowCatalogResource> wfOutputResources = new ArrayList<WorkflowCatalogResource>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_OUTPUT);
+ List results;
+ if (fieldName.equals(WorkflowOutputConstants.WF_TEMPLATE_ID)) {
+ generator.setParameter(WorkflowOutputConstants.WF_TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowOutput wfOutput = (WorkflowOutput) result;
+ WorkflowOutputResource workflowOutputResource =
+ (WorkflowOutputResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.WORKFLOW_OUTPUT, wfOutput);
+ wfOutputResources.add(workflowOutputResource);
+ }
+ }
+ } else if (fieldName.equals(WorkflowOutputConstants.OUTPUT_KEY)) {
+ generator.setParameter(WorkflowOutputConstants.OUTPUT_KEY, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowOutput workflowOutput = (WorkflowOutput) result;
+ WorkflowOutputResource workflowOutputResource =
+ (WorkflowOutputResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.WORKFLOW_OUTPUT, workflowOutput);
+ wfOutputResources.add(workflowOutputResource);
+ }
+ }
+ } else if (fieldName.equals(WorkflowOutputConstants.DATA_TYPE)) {
+ generator.setParameter(WorkflowOutputConstants.DATA_TYPE, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowOutput workflowOutput = (WorkflowOutput) result;
+ WorkflowOutputResource workflowOutputResource =
+ (WorkflowOutputResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.WORKFLOW_OUTPUT, workflowOutput);
+ wfOutputResources.add(workflowOutputResource);
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for WF Output Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for WF Output Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return wfOutputResources;
+ }
+
+ public List<WorkflowCatalogResource> getAll() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getAllIds() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getIds(String fieldName, Object value) throws WorkflowCatalogException {
+ List<String> wfOutputResourceIDs = new ArrayList<String>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_OUTPUT);
+ List results;
+ if (fieldName.equals(WorkflowOutputConstants.WF_TEMPLATE_ID)) {
+ generator.setParameter(WorkflowOutputConstants.WF_TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowOutput workflowOutput = (WorkflowOutput) result;
+ wfOutputResourceIDs.add(workflowOutput.getTemplateId());
+ }
+ }
+ }
+ if (fieldName.equals(WorkflowOutputConstants.OUTPUT_KEY)) {
+ generator.setParameter(WorkflowOutputConstants.OUTPUT_KEY, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowOutput workflowOutput = (WorkflowOutput) result;
+ wfOutputResourceIDs.add(workflowOutput.getTemplateId());
+ }
+ }
+ } else if (fieldName.equals(WorkflowOutputConstants.DATA_TYPE)) {
+ generator.setParameter(WorkflowOutputConstants.DATA_TYPE, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowOutput workflowOutput = (WorkflowOutput) result;
+ wfOutputResourceIDs.add(workflowOutput.getTemplateId());
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for WF Output resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for WF Output Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return wfOutputResourceIDs;
+ }
+
+ public void save() throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ WorkflowOutput existingWorkflowOutput = em.find(WorkflowOutput.class,
+ new WorkflowOutput_PK(wfTemplateId, outputKey));
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ if (existingWorkflowOutput != null) {
+ existingWorkflowOutput.setTemplateId(wfTemplateId);
+ Workflow workflow = em.find(Workflow.class, wfTemplateId);
+ existingWorkflowOutput.setWorkflow(workflow);
+ existingWorkflowOutput.setDataType(dataType);
+ existingWorkflowOutput.setOutputKey(outputKey);
+ if (outputVal != null){
+ existingWorkflowOutput.setOutputVal(outputVal.toCharArray());
+ }
+ existingWorkflowOutput.setDataMovement(dataMovement);
+ existingWorkflowOutput.setDataNameLocation(dataNameLocation);
+ em.merge(existingWorkflowOutput);
+ } else {
+ WorkflowOutput workflowOutput = new WorkflowOutput();
+ workflowOutput.setTemplateId(wfTemplateId);
+ Workflow workflow = em.find(Workflow.class, wfTemplateId);
+ workflowOutput.setWorkflow(workflow);
+ workflowOutput.setDataType(dataType);
+ workflowOutput.setOutputKey(outputKey);
+ if (outputVal != null){
+ workflowOutput.setOutputVal(outputVal.toCharArray());
+ }
+ workflowOutput.setDataMovement(dataMovement);
+ workflowOutput.setDataNameLocation(dataNameLocation);
+ em.persist(workflowOutput);
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public boolean isExists(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ WorkflowOutput workflowOutput = em.find(WorkflowOutput.class, new WorkflowOutput_PK(
+ ids.get(WorkflowOutputConstants.WF_TEMPLATE_ID),
+ ids.get(WorkflowOutputConstants.OUTPUT_KEY)));
+
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return workflowOutput != null;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public String getWfTemplateId() {
+ return wfTemplateId;
+ }
+
+ public void setWfTemplateId(String wfTemplateId) {
+ this.wfTemplateId = wfTemplateId;
+ }
+
+ public String getOutputKey() {
+ return outputKey;
+ }
+
+ public void setOutputKey(String outputKey) {
+ this.outputKey = outputKey;
+ }
+
+ public String getOutputVal() {
+ return outputVal;
+ }
+
+ public void setOutputVal(String outputVal) {
+ this.outputVal = outputVal;
+ }
+
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ public WorkflowResource getWorkflowResource() {
+ return workflowResource;
+ }
+
+ public void setWorkflowResource(WorkflowResource workflowResource) {
+ this.workflowResource = workflowResource;
+ }
+
+ public boolean isDataMovement() {
+ return dataMovement;
+ }
+
+ public void setDataMovement(boolean dataMovement) {
+ this.dataMovement = dataMovement;
+ }
+
+ public String getDataNameLocation() {
+ return dataNameLocation;
+ }
+
+ public void setDataNameLocation(String dataNameLocation) {
+ this.dataNameLocation = dataNameLocation;
+ }
+
+ public boolean isRequired() {
+ return isRequired;
+ }
+
+ public void setRequired(boolean isRequired) {
+ this.isRequired = isRequired;
+ }
+
+ public boolean isRequiredToCMD() {
+ return requiredToCMD;
+ }
+
+ public void setRequiredToCMD(boolean requiredToCMD) {
+ this.requiredToCMD = requiredToCMD;
+ }
+
+ public String getSearchQuery() {
+ return searchQuery;
+ }
+
+ public void setSearchQuery(String searchQuery) {
+ this.searchQuery = searchQuery;
+ }
+
+ public String getAppArgument() {
+ return appArgument;
+ }
+
+ public void setAppArgument(String appArgument) {
+ this.appArgument = appArgument;
+ }
+
+ public boolean isOutputStreaming() {
+ return outputStreaming;
+ }
+
+ public void setOutputStreaming(boolean outputStreaming) {
+ this.outputStreaming = outputStreaming;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowResource.java
new file mode 100644
index 0000000..d487742
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowResource.java
@@ -0,0 +1,437 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.resources;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.registry.core.workflow.catalog.model.Workflow;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogJPAUtils;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogQueryGenerator;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogResourceType;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.List;
+
+public class WorkflowResource extends WorkflowCatAbstractResource {
+ private final static Logger logger = LoggerFactory.getLogger(WorkflowResource.class);
+ private String wfName;
+ private String createdUser;
+ private String graph;
+ private String wfTemplateId;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+ private String image;
+ private String gatewayId;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+ public String getGatewayId() {
+ return gatewayId;
+ }
+
+ public void setGatewayId(String gatewayId) {
+ this.gatewayId = gatewayId;
+ }
+
+ @Override
+ public void remove(Object identifier) throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW);
+ generator.setParameter(WorkflowConstants.TEMPLATE_ID, identifier);
+ Query q = generator.deleteQuery(em);
+ q.executeUpdate();
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ @Override
+ public WorkflowCatalogResource get(Object identifier) throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW);
+ generator.setParameter(WorkflowConstants.TEMPLATE_ID, identifier);
+ Query q = generator.selectQuery(em);
+ Workflow workflow = (Workflow) q.getSingleResult();
+ WorkflowResource workflowResource = (WorkflowResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.WORKFLOW, workflow);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return workflowResource;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ @Override
+ public List<WorkflowCatalogResource> get(String fieldName, Object value) throws WorkflowCatalogException {
+ List<WorkflowCatalogResource> workflowResources = new ArrayList<WorkflowCatalogResource>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW);
+ Query q;
+ if ((fieldName.equals(WorkflowConstants.TEMPLATE_ID)) || (fieldName.equals(WorkflowConstants.GATEWAY_ID))) {
+ generator.setParameter(fieldName, value);
+ q = generator.selectQuery(em);
+ List<?> results = q.getResultList();
+ for (Object result : results) {
+ Workflow workflow = (Workflow) result;
+ WorkflowResource workflowResource = (WorkflowResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.WORKFLOW, workflow);
+ workflowResources.add(workflowResource);
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Workflow Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Workflow Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return workflowResources;
+ }
+
+ @Override
+ public List<WorkflowCatalogResource> getAll() throws WorkflowCatalogException {
+ List<WorkflowCatalogResource> workflows = new ArrayList<WorkflowCatalogResource>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW);
+ generator.setParameter(WorkflowConstants.GATEWAY_ID, gatewayId);
+ Query q = generator.selectQuery(em);
+ List results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Workflow workflow = (Workflow) result;
+ WorkflowResource wfResource =
+ (WorkflowResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.WORKFLOW, workflow);
+ workflows.add(wfResource);
+ }
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return workflows;
+ }
+
+ @Override
+ public List<String> getAllIds() throws WorkflowCatalogException {
+ List<String> workflowIds = new ArrayList<String>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW);
+ generator.setParameter(WorkflowConstants.GATEWAY_ID, gatewayId);
+ Query q = generator.selectQuery(em);
+ List results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Workflow workflow = (Workflow) result;
+ workflowIds.add(workflow.getTemplateId());
+ }
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return workflowIds;
+ }
+
+ @Override
+ public List<String> getIds(String fieldName, Object value) throws WorkflowCatalogException {
+ List<String> workflowResourceIDs = new ArrayList<String>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW);
+ Query q;
+ if ((fieldName.equals(WorkflowConstants.TEMPLATE_ID)) || (fieldName.equals(WorkflowConstants.GATEWAY_ID))) {
+ generator.setParameter(fieldName, value);
+ q = generator.selectQuery(em);
+ List<?> results = q.getResultList();
+ for (Object result : results) {
+ Workflow workflow = (Workflow) result;
+ WorkflowResource workflowResource = (WorkflowResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.WORKFLOW, workflow);
+ workflowResourceIDs.add(workflowResource.getWfTemplateId());
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Workflow Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Workflow Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return workflowResourceIDs;
+ }
+
+ @Override
+ public void save() throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ Workflow existingWorkflow = em.find(Workflow.class, wfTemplateId);
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ Workflow workflow;
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ if (existingWorkflow == null) {
+ workflow = new Workflow();
+ workflow.setCreationTime(AiravataUtils.getCurrentTimestamp());
+ } else {
+ workflow = existingWorkflow;
+ workflow.setUpdateTime(AiravataUtils.getCurrentTimestamp());
+ }
+ workflow.setWorkflowName(getWfName());
+ workflow.setCreatedUser(getCreatedUser());
+ workflow.setGatewayId(gatewayId);
+ if (getGraph() != null){
+ workflow.setGraph(getGraph().toCharArray());
+ }
+ if (image != null){
+ workflow.setImage(image.getBytes());
+ }
+ workflow.setTemplateId(getWfTemplateId());
+ if (existingWorkflow == null) {
+ em.persist(workflow);
+ } else {
+ em.merge(workflow);
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ @Override
+ public boolean isExists(Object identifier) throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ Workflow workflow = em.find(Workflow.class, identifier);
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return workflow != null;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public String getWfName() {
+ return wfName;
+ }
+
+ public String getCreatedUser() {
+ return createdUser;
+ }
+
+ public String getGraph() {
+ return graph;
+ }
+
+ public String getWfTemplateId() {
+ return wfTemplateId;
+ }
+
+ public void setWfName(String wfName) {
+ this.wfName=wfName;
+ }
+
+ public void setCreatedUser(String createdUser) {
+ this.createdUser=createdUser;
+ }
+
+ public void setGraph(String graph) {
+ this.graph=graph;
+ }
+
+ public void setWfTemplateId(String wfTemplateId) {
+ this.wfTemplateId=wfTemplateId;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowStatusResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowStatusResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowStatusResource.java
new file mode 100644
index 0000000..3e0c034
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowStatusResource.java
@@ -0,0 +1,369 @@
+/**
+ * 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.registry.core.workflow.catalog.resources;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.registry.core.workflow.catalog.model.Workflow;
+import org.apache.airavata.registry.core.workflow.catalog.model.WorkflowStatus;
+import org.apache.airavata.registry.core.workflow.catalog.model.WorkflowStatus_PK;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogJPAUtils;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogQueryGenerator;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogResourceType;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class WorkflowStatusResource extends WorkflowCatAbstractResource {
+ private final static Logger logger = LoggerFactory.getLogger(WorkflowStatusResource.class);
+
+ private String statusId;
+ private String state;
+ private String reason;
+ private String templateId;
+ private Timestamp updatedTime;
+
+ public void remove(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_STATUS);
+ generator.setParameter(WorkflowStatusConstants.STATUS_ID, ids.get(WorkflowStatusConstants.STATUS_ID));
+ generator.setParameter(WorkflowStatusConstants.TEMPLATE_ID, ids.get(WorkflowStatusConstants.TEMPLATE_ID));
+ Query q = generator.deleteQuery(em);
+ q.executeUpdate();
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public WorkflowCatalogResource get(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap<String, String>) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_STATUS);
+ generator.setParameter(WorkflowStatusConstants.STATUS_ID, ids.get(WorkflowStatusConstants.STATUS_ID));
+ generator.setParameter(WorkflowStatusConstants.TEMPLATE_ID, ids.get(WorkflowStatusConstants.TEMPLATE_ID));
+ Query q = generator.selectQuery(em);
+ WorkflowStatus status = (WorkflowStatus) q.getSingleResult();
+ WorkflowStatusResource statusResource =
+ (WorkflowStatusResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.WORKFLOW_STATUS
+ , status);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return statusResource;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public List<WorkflowCatalogResource> get(String fieldName, Object value) throws WorkflowCatalogException {
+ List<WorkflowCatalogResource> statusResources = new ArrayList<WorkflowCatalogResource>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_STATUS);
+ List results;
+ if (fieldName.equals(WorkflowStatusConstants.TEMPLATE_ID)) {
+ generator.setParameter(WorkflowStatusConstants.TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowStatus WorkflowStatus = (WorkflowStatus) result;
+ WorkflowStatusResource statusResource =
+ (WorkflowStatusResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.WORKFLOW_STATUS, WorkflowStatus);
+ statusResources.add(statusResource);
+ }
+ }
+ }else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Workflow status Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Workflow status Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return statusResources;
+ }
+
+ public List<WorkflowCatalogResource> getAll() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getAllIds() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getIds(String fieldName, Object value) throws WorkflowCatalogException {
+ List<String> statusResourceIds = new ArrayList<String>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(WORKFLOW_STATUS);
+ List results;
+ if (fieldName.equals(WorkflowStatusConstants.TEMPLATE_ID)) {
+ generator.setParameter(WorkflowStatusConstants.TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ WorkflowStatus WorkflowStatus = (WorkflowStatus) result;
+ statusResourceIds.add(WorkflowStatus.getTemplateId());
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Workflow Status resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Workflow Status Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return statusResourceIds;
+ }
+
+ public void save() throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ WorkflowStatus existingStatus = em.find(WorkflowStatus.class,new WorkflowStatus_PK(templateId, statusId));
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ if (existingStatus != null) {
+ existingStatus.setTemplateId(templateId);
+ Workflow workflow = em.find(Workflow.class, templateId);
+ existingStatus.setWorkflow(workflow);
+ existingStatus.setReason(reason);
+ existingStatus.setState(state);
+ existingStatus.setUpdateTime(AiravataUtils.getCurrentTimestamp());
+ em.merge(existingStatus);
+ } else {
+ WorkflowStatus status = new WorkflowStatus();
+ status.setTemplateId(templateId);
+ Workflow workflow = em.find(Workflow.class, templateId);
+ status.setWorkflow(workflow);
+ status.setReason(reason);
+ status.setState(state);
+ status.setUpdateTime(AiravataUtils.getCurrentTimestamp());
+ em.persist(status);
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public boolean isExists(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ WorkflowStatus status = em.find(WorkflowStatus.class, new WorkflowStatus_PK(ids.get(WorkflowStatusConstants.TEMPLATE_ID),ids.get(WorkflowStatusConstants.STATUS_ID)));
+
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return status != null;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public String getStatusId() {
+ return statusId;
+ }
+
+ public void setStatusId(String statusId) {
+ this.statusId = statusId;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getReason() {
+ return reason;
+ }
+
+ public void setReason(String reason) {
+ this.reason = reason;
+ }
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogJPAUtils.java
new file mode 100644
index 0000000..c78ef9b
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogJPAUtils.java
@@ -0,0 +1,270 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.utils;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.registry.core.workflow.catalog.model.*;
+import org.apache.airavata.registry.core.workflow.catalog.resources.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.*;
+import java.util.HashMap;
+import java.util.Map;
+
+public class WorkflowCatalogJPAUtils {
+ private final static Logger logger = LoggerFactory.getLogger(WorkflowCatalogJPAUtils.class);
+ private static final String PERSISTENCE_UNIT_NAME = "workflowcatalog_data";
+ private static final String WFCATALOG_JDBC_DRIVER = "wfcatalog.jdbc.driver";
+ private static final String WFCATALOG_JDBC_URL = "wfcatalog.jdbc.url";
+ private static final String WFCATALOG_JDBC_USER = "wfcatalog.jdbc.user";
+ private static final String WFCATALOG_JDBC_PASSWORD = "wfcatalog.jdbc.password";
+ private static final String WFCATALOG_VALIDATION_QUERY = "wfcatalog.validationQuery";
+ private static final String JPA_CACHE_SIZE = "jpa.cache.size";
+ private static final String JPA_CACHE_ENABLED = "cache.enable";
+ @PersistenceUnit(unitName="workflowcatalog_data")
+ protected static EntityManagerFactory factory;
+ @PersistenceContext(unitName="worlkflowcatalog_data")
+ private static EntityManager wfCatEntityManager;
+
+ public static EntityManager getEntityManager() throws ApplicationSettingsException {
+ if (factory == null) {
+ String connectionProperties = "DriverClassName=" + readServerProperties(WFCATALOG_JDBC_DRIVER) + "," +
+ "Url=" + readServerProperties(WFCATALOG_JDBC_URL) + "?autoReconnect=true," +
+ "Username=" + readServerProperties(WFCATALOG_JDBC_USER) + "," +
+ "Password=" + readServerProperties(WFCATALOG_JDBC_PASSWORD) +
+ ",validationQuery=" + readServerProperties(WFCATALOG_VALIDATION_QUERY);
+ System.out.println(connectionProperties);
+ Map<String, String> properties = new HashMap<String, String>();
+ properties.put("openjpa.ConnectionDriverName", "org.apache.commons.dbcp.BasicDataSource");
+ properties.put("openjpa.ConnectionProperties", connectionProperties);
+ properties.put("openjpa.DynamicEnhancementAgent", "true");
+ properties.put("openjpa.RuntimeUnenhancedClasses", "unsupported");
+ // For app catalog, we don't need caching
+// properties.put("openjpa.DataCache","" + readServerProperties(JPA_CACHE_ENABLED) + "(CacheSize=" + Integer.valueOf(readServerProperties(JPA_CACHE_SIZE)) + ", SoftReferenceSize=0)");
+// properties.put("openjpa.QueryCache","" + readServerProperties(JPA_CACHE_ENABLED) + "(CacheSize=" + Integer.valueOf(readServerProperties(JPA_CACHE_SIZE)) + ", SoftReferenceSize=0)");
+ properties.put("openjpa.RemoteCommitProvider","sjvm");
+ properties.put("openjpa.Log","DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=INFO");
+ properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
+ properties.put("openjpa.jdbc.QuerySQLCache", "false");
+ properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72, PrintParameters=true, MaxActive=10, MaxIdle=5, MinIdle=2, MaxWait=31536000, autoReconnect=true");
+ factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME, properties);
+ }
+ wfCatEntityManager = factory.createEntityManager();
+ return wfCatEntityManager;
+ }
+
+ private static String readServerProperties (String propertyName) throws ApplicationSettingsException {
+ try {
+ return ServerSettings.getSetting(propertyName);
+ } catch (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata-server.properties...", e);
+ throw new ApplicationSettingsException("Unable to read airavata-server.properties...");
+ }
+ }
+
+ /**
+ *
+ * @param type model type
+ * @param o model type instance
+ * @return corresponding resource object
+ */
+ public static WorkflowCatalogResource getResource(WorkflowCatalogResourceType type, Object o) {
+ switch (type){
+ case WORKFLOW:
+ if (o instanceof Workflow) {
+ return createWorkflow((Workflow) o);
+ } else {
+ logger.error("Object should be a Workflow.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Workflow.");
+ }
+ case WORKFLOW_INPUT:
+ if (o instanceof WorkflowInput){
+ return createWorflowInput((WorkflowInput) o);
+ }else {
+ logger.error("Object should be a Workflow Input.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Workflow Input.");
+ }
+ case WORKFLOW_OUTPUT:
+ if (o instanceof WorkflowOutput){
+ return createWorkflowOutput((WorkflowOutput) o);
+ }else {
+ logger.error("Object should be a Workflow Output.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Workflow Output.");
+ }
+ case COMPONENT_STATUS:
+ if (o instanceof ComponentStatus){
+ return createComponentStatus((ComponentStatus) o);
+ }else {
+ logger.error("Object should be a Workflow Output.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Workflow Output.");
+ }
+ case NODE:
+ if (o instanceof Node){
+ return createNode((Node) o);
+ }else {
+ logger.error("Object should be a Node.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Node.");
+ }
+ case PORT:
+ if (o instanceof Port){
+ return createPort((Port) o);
+ }else {
+ logger.error("Object should be a Port.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Port.");
+ }
+ case EDGE:
+ if (o instanceof Edge){
+ return createEdge((Edge) o);
+ }else {
+ logger.error("Object should be a Edge.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Edge.");
+ }
+ default:
+ logger.error("Illegal data type..", new IllegalArgumentException());
+ throw new IllegalArgumentException("Illegal data type..");
+ }
+ }
+
+ private static WorkflowCatalogResource createWorflowInput(WorkflowInput o) {
+ WorkflowInputResource resource = new WorkflowInputResource();
+ if (o != null){
+ resource.setWfTemplateId(o.getTemplateID());
+ resource.setInputKey(o.getInputKey());
+ if (o.getInputVal() != null){
+ resource.setInputVal(new String(o.getInputVal()));
+ }
+ resource.setDataType(o.getDataType());
+ resource.setMetadata(o.getMetadata());
+ resource.setAppArgument(o.getAppArgument());
+ resource.setInputOrder(o.getInputOrder());
+ resource.setUserFriendlyDesc(o.getUserFriendlyDesc());
+ resource.setStandardInput(o.isStandardInput());
+ resource.setRequired(o.isRequired());
+ resource.setRequiredToCMD(o.isRequiredToCMD());
+ resource.setDataStaged(o.isDataStaged());
+ resource.setWorkflowResource((WorkflowResource)createWorkflow(o.getWorkflow()));
+ }
+ return resource;
+ }
+
+ private static WorkflowCatalogResource createWorkflowOutput(WorkflowOutput o) {
+ WorkflowOutputResource resource = new WorkflowOutputResource();
+ if (o != null){
+ resource.setWfTemplateId(o.getTemplateId());
+ resource.setOutputKey(o.getOutputKey());
+ if (o.getOutputVal() != null){
+ resource.setOutputVal(new String(o.getOutputVal()));
+ }
+ resource.setDataType(o.getDataType());
+ resource.setDataMovement(o.isDataMovement());
+ resource.setDataNameLocation(o.getDataNameLocation());
+ resource.setWorkflowResource((WorkflowResource)createWorkflow(o.getWorkflow()));
+ }
+ return resource;
+ }
+
+ private static ComponentStatusResource createComponentStatus(ComponentStatus o) {
+ ComponentStatusResource resource = new ComponentStatusResource();
+ if (o != null){
+ resource.setStatusId(o.getStatusId());
+ resource.setTemplateId(o.getTemplateId());
+ resource.setUpdatedTime(o.getUpdateTime());
+ resource.setReason(o.getReason());
+ resource.setState(o.getState());
+ }
+ return resource;
+ }
+
+ private static WorkflowStatusResource createWorkflowStatus(WorkflowStatus o) {
+ WorkflowStatusResource resource = new WorkflowStatusResource();
+ if (o != null){
+ resource.setStatusId(o.getStatusId());
+ resource.setTemplateId(o.getTemplateId());
+ resource.setReason(o.getReason());
+ resource.setState(o.getState());
+ resource.setUpdatedTime(o.getUpdateTime());
+ }
+ return resource;
+ }
+
+ private static EdgeResource createEdge(Edge o) {
+ EdgeResource resource = new EdgeResource();
+ if (o != null){
+ resource.setStatusId(o.getComponentStatusId());
+ resource.setTemplateId(o.getTemplateId());
+ resource.setEdgeId(o.getEdgeId());
+ resource.setDescription(o.getDescription());
+ resource.setName(o.getName());
+ resource.setCreatedTime(o.getCreatedTime());
+ }
+ return resource;
+ }
+
+ private static PortResource createPort(Port o) {
+ PortResource resource = new PortResource();
+ if (o != null){
+ resource.setStatusId(o.getComponentStatusId());
+ resource.setTemplateId(o.getTemplateId());
+ resource.setPortId(o.getPortId());
+ resource.setDescription(o.getDescription());
+ resource.setName(o.getName());
+ resource.setCreatedTime(o.getCreatedTime());
+ }
+ return resource;
+ }
+
+ private static NodeResource createNode(Node o) {
+ NodeResource resource = new NodeResource();
+ if (o != null){
+ resource.setStatusId(o.getComponentStatusId());
+ resource.setTemplateId(o.getTemplateId());
+ resource.setNodeId(o.getNodeId());
+ resource.setDescription(o.getDescription());
+ resource.setName(o.getName());
+ resource.setCreatedTime(o.getCreatedTime());
+ resource.setApplicationId(o.getApplicationId());
+ resource.setApplicationName(o.getApplicationName());
+ }
+ return resource;
+ }
+
+ private static WorkflowCatalogResource createWorkflow(Workflow o) {
+ WorkflowResource workflowResource = new WorkflowResource();
+ workflowResource.setWfName(o.getWorkflowName());
+ workflowResource.setCreatedUser(o.getCreatedUser());
+ if (o.getGraph() != null){
+ workflowResource.setGraph(new String(o.getGraph()));
+ }
+ if (o.getImage() != null){
+ workflowResource.setImage(new String(o.getImage()));
+ }
+ workflowResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ workflowResource.setUpdatedTime(o.getUpdateTime());
+ }
+ workflowResource.setWfTemplateId(o.getTemplateId());
+ workflowResource.setGatewayId(o.getGatewayId());
+ return workflowResource;
+ }
+}
[50/50] [abbrv] airavata git commit: update generated code and fixing
compilation issues
Posted by ch...@apache.org.
update generated code and fixing compilation issues
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4c790770
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4c790770
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4c790770
Branch: refs/heads/master
Commit: 4c790770685a77b1b43c7dadbea55396e983c465
Parents: b4ca1eb
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Feb 8 11:45:01 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Feb 8 11:45:01 2016 -0500
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 8 +-
.../java/org/apache/airavata/api/Airavata.java | 724 +++++++----
.../main/resources/lib/airavata/Airavata.cpp | 24 +-
.../src/main/resources/lib/airavata/Airavata.h | 691 ++++++++---
.../lib/airavata/Airavata_server.skeleton.cpp | 628 +++++++---
.../lib/airavata/workflow_data_model_types.cpp | 966 ++++++++++++++-
.../lib/airavata/workflow_data_model_types.h | 444 ++++++-
.../resources/lib/Airavata/API/Airavata.php | 614 ++++++---
.../main/resources/lib/Airavata/Model/Types.php | 885 ++++++++++++-
.../lib/apache/airavata/api/Airavata-remote | 6 +-
.../lib/apache/airavata/api/Airavata.py | 1168 +++++++++++++-----
.../apache/airavata/model/workflow/ttypes.py | 671 +++++++++-
.../apache/airavata/model/ComponentStatus.java | 2 +-
.../org/apache/airavata/model/EdgeModel.java | 2 +-
.../org/apache/airavata/model/NodeModel.java | 2 +-
.../org/apache/airavata/model/PortModel.java | 2 +-
.../org/apache/airavata/model/Workflow.java | 1055 ----------------
.../apache/airavata/model/WorkflowModel.java | 339 ++++-
.../apache/airavata/model/WorkflowStatus.java | 2 +-
.../ApplicationDeploymentDescription.java | 2 +-
.../appdeployment/ApplicationModule.java | 2 +-
.../appcatalog/appdeployment/CommandObject.java | 2 +-
.../appcatalog/appdeployment/SetEnvPaths.java | 2 +-
.../ApplicationInterfaceDescription.java | 2 +-
.../appcatalog/computeresource/BatchQueue.java | 2 +-
.../computeresource/CloudJobSubmission.java | 2 +-
.../ComputeResourceDescription.java | 2 +-
.../computeresource/GlobusJobSubmission.java | 2 +-
.../computeresource/JobSubmissionInterface.java | 2 +-
.../computeresource/LOCALSubmission.java | 2 +-
.../computeresource/ResourceJobManager.java | 2 +-
.../computeresource/SSHJobSubmission.java | 2 +-
.../computeresource/UnicoreJobSubmission.java | 2 +-
.../ComputeResourcePreference.java | 2 +-
.../gatewayprofile/GatewayResourceProfile.java | 2 +-
.../gatewayprofile/StoragePreference.java | 2 +-
.../StorageResourceDescription.java | 2 +-
.../application/io/InputDataObjectType.java | 2 +-
.../application/io/OutputDataObjectType.java | 2 +-
.../airavata/model/commons/ErrorModel.java | 2 +-
.../model/commons/ValidationResults.java | 2 +-
.../airavata/model/commons/ValidatorResult.java | 2 +-
.../data/movement/DataMovementInterface.java | 2 +-
.../data/movement/GridFTPDataMovement.java | 2 +-
.../model/data/movement/LOCALDataMovement.java | 2 +-
.../model/data/movement/SCPDataMovement.java | 2 +-
.../data/movement/UnicoreDataMovement.java | 2 +-
.../data/resource/DataReplicaLocationModel.java | 2 +-
.../model/data/resource/DataResourceModel.java | 2 +-
.../model/error/AiravataClientException.java | 2 +-
.../model/error/AiravataSystemException.java | 2 +-
.../model/error/AuthenticationException.java | 2 +-
.../model/error/AuthorizationException.java | 2 +-
.../error/ExperimentNotFoundException.java | 2 +-
.../model/error/InvalidRequestException.java | 2 +-
.../model/error/LaunchValidationException.java | 2 +-
.../model/error/ProjectNotFoundException.java | 2 +-
.../airavata/model/error/TimedOutException.java | 2 +-
.../airavata/model/error/ValidationResults.java | 2 +-
.../airavata/model/error/ValidatorResult.java | 2 +-
.../model/experiment/ExperimentModel.java | 2 +-
.../model/experiment/ExperimentStatistics.java | 2 +-
.../experiment/ExperimentSummaryModel.java | 2 +-
.../experiment/UserConfigurationDataModel.java | 2 +-
.../org/apache/airavata/model/job/JobModel.java | 2 +-
.../event/ExperimentStatusChangeEvent.java | 2 +-
.../model/messaging/event/JobIdentifier.java | 2 +-
.../messaging/event/JobStatusChangeEvent.java | 2 +-
.../event/JobStatusChangeRequestEvent.java | 2 +-
.../airavata/model/messaging/event/Message.java | 2 +-
.../messaging/event/ProcessIdentifier.java | 2 +-
.../event/ProcessStatusChangeEvent.java | 2 +-
.../event/ProcessStatusChangeRequestEvent.java | 2 +-
.../messaging/event/ProcessSubmitEvent.java | 2 +-
.../messaging/event/ProcessTerminateEvent.java | 2 +-
.../model/messaging/event/TaskIdentifier.java | 2 +-
.../messaging/event/TaskOutputChangeEvent.java | 2 +-
.../messaging/event/TaskStatusChangeEvent.java | 2 +-
.../event/TaskStatusChangeRequestEvent.java | 2 +-
.../airavata/model/process/ProcessModel.java | 2 +-
.../ComputationalResourceSchedulingModel.java | 2 +-
.../airavata/model/security/AuthzToken.java | 2 +-
.../airavata/model/status/ExperimentStatus.java | 2 +-
.../apache/airavata/model/status/JobStatus.java | 2 +-
.../airavata/model/status/ProcessStatus.java | 2 +-
.../airavata/model/status/TaskStatus.java | 2 +-
.../model/task/DataStagingTaskModel.java | 2 +-
.../model/task/EnvironmentSetupTaskModel.java | 2 +-
.../model/task/JobSubmissionTaskModel.java | 2 +-
.../airavata/model/task/MonitorTaskModel.java | 2 +-
.../apache/airavata/model/task/TaskModel.java | 2 +-
.../airavata/model/workspace/Gateway.java | 2 +-
.../apache/airavata/model/workspace/Group.java | 2 +-
.../airavata/model/workspace/Project.java | 2 +-
.../apache/airavata/model/workspace/User.java | 2 +-
.../catalog/impl/WorkflowCatalogImpl.java | 8 +-
.../utils/WorkflowCatalogThriftConversion.java | 6 +-
.../airavata/registry/cpi/WorkflowCatalog.java | 7 +-
.../airavata-apis/airavata_api.thrift | 6 +-
99 files changed, 6116 insertions(+), 2296 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 8bf0ee1..03b4e11 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -38,7 +38,7 @@ import org.apache.airavata.data.manager.cpi.DataManagerException;
import org.apache.airavata.messaging.core.MessageContext;
import org.apache.airavata.messaging.core.Publisher;
import org.apache.airavata.messaging.core.PublisherFactory;
-import org.apache.airavata.model.Workflow;
+import org.apache.airavata.model.WorkflowModel;
import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
@@ -4159,7 +4159,7 @@ public class AiravataServerHandler implements Airavata.Iface {
@Override
@SecurityCheck
- public Workflow getWorkflow(AuthzToken authzToken, String workflowTemplateId)
+ public WorkflowModel getWorkflow(AuthzToken authzToken, String workflowTemplateId)
throws InvalidRequestException, AiravataClientException, AuthorizationException, AiravataSystemException, TException {
try {
return getWorkflowCatalog().getWorkflow(workflowTemplateId);
@@ -4189,7 +4189,7 @@ public class AiravataServerHandler implements Airavata.Iface {
@Override
@SecurityCheck
- public String registerWorkflow(AuthzToken authzToken, String gatewayId, Workflow workflow)
+ public String registerWorkflow(AuthzToken authzToken, String gatewayId, WorkflowModel workflow)
throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
if (!isGatewayExistInternal(gatewayId)){
logger.error("Gateway does not exist.Please provide a valid gateway id...");
@@ -4208,7 +4208,7 @@ public class AiravataServerHandler implements Airavata.Iface {
@Override
@SecurityCheck
- public void updateWorkflow(AuthzToken authzToken, String workflowTemplateId, Workflow workflow)
+ public void updateWorkflow(AuthzToken authzToken, String workflowTemplateId, WorkflowModel workflow)
throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
try {
getWorkflowCatalog().updateWorkflow(workflowTemplateId, workflow);
[05/50] [abbrv] airavata git commit: Merge remote-tracking branch
'origin/develop' into develop
Posted by ch...@apache.org.
Merge remote-tracking branch 'origin/develop' into develop
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/8e421f42
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/8e421f42
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/8e421f42
Branch: refs/heads/master
Commit: 8e421f42c34013a9ad4020f8f1f8441470458b16
Parents: 101c8d4 20fe7b4
Author: Eroma Abeysinghe <er...@gmail.com>
Authored: Tue Jan 19 16:44:13 2016 -0500
Committer: Eroma Abeysinghe <er...@gmail.com>
Committed: Tue Jan 19 16:44:13 2016 -0500
----------------------------------------------------------------------
.../server/OrchestratorServerHandler.java | 19 +++++-------------
.../orchestrator/util/OrchestratorUtils.java | 21 ++++++++++++++++----
2 files changed, 22 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
[48/50] [abbrv] airavata git commit: update generated code and fixing
compilation issues
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index 1c6b7e7..8d4b714 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -52566,7 +52566,7 @@ void AiravataClient::recv_getAllWorkflows(std::vector<std::string> & _return)
throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllWorkflows failed: unknown result");
}
-void AiravataClient::getWorkflow( ::Workflow& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId)
+void AiravataClient::getWorkflow( ::WorkflowModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId)
{
send_getWorkflow(authzToken, workflowTemplateId);
recv_getWorkflow(_return);
@@ -52587,7 +52587,7 @@ void AiravataClient::send_getWorkflow(const ::apache::airavata::model::security
oprot_->getTransport()->flush();
}
-void AiravataClient::recv_getWorkflow( ::Workflow& _return)
+void AiravataClient::recv_getWorkflow( ::WorkflowModel& _return)
{
int32_t rseqid = 0;
@@ -52703,13 +52703,13 @@ void AiravataClient::recv_deleteWorkflow()
return;
}
-void AiravataClient::registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow)
+void AiravataClient::registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow)
{
send_registerWorkflow(authzToken, gatewayId, workflow);
recv_registerWorkflow(_return);
}
-void AiravataClient::send_registerWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow)
+void AiravataClient::send_registerWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow)
{
int32_t cseqid = 0;
oprot_->writeMessageBegin("registerWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
@@ -52775,13 +52775,13 @@ void AiravataClient::recv_registerWorkflow(std::string& _return)
throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "registerWorkflow failed: unknown result");
}
-void AiravataClient::updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow)
+void AiravataClient::updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow)
{
send_updateWorkflow(authzToken, workflowTemplateId, workflow);
recv_updateWorkflow();
}
-void AiravataClient::send_updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow)
+void AiravataClient::send_updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow)
{
int32_t cseqid = 0;
oprot_->writeMessageBegin("updateWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
@@ -75524,7 +75524,7 @@ void AiravataConcurrentClient::recv_getAllWorkflows(std::vector<std::string> & _
} // end while(true)
}
-void AiravataConcurrentClient::getWorkflow( ::Workflow& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId)
+void AiravataConcurrentClient::getWorkflow( ::WorkflowModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId)
{
int32_t seqid = send_getWorkflow(authzToken, workflowTemplateId);
recv_getWorkflow(_return, seqid);
@@ -75549,7 +75549,7 @@ int32_t AiravataConcurrentClient::send_getWorkflow(const ::apache::airavata::mo
return cseqid;
}
-void AiravataConcurrentClient::recv_getWorkflow( ::Workflow& _return, const int32_t seqid)
+void AiravataConcurrentClient::recv_getWorkflow( ::WorkflowModel& _return, const int32_t seqid)
{
int32_t rseqid = 0;
@@ -75720,13 +75720,13 @@ void AiravataConcurrentClient::recv_deleteWorkflow(const int32_t seqid)
} // end while(true)
}
-void AiravataConcurrentClient::registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow)
+void AiravataConcurrentClient::registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow)
{
int32_t seqid = send_registerWorkflow(authzToken, gatewayId, workflow);
recv_registerWorkflow(_return, seqid);
}
-int32_t AiravataConcurrentClient::send_registerWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow)
+int32_t AiravataConcurrentClient::send_registerWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow)
{
int32_t cseqid = this->sync_.generateSeqId();
::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
@@ -75822,13 +75822,13 @@ void AiravataConcurrentClient::recv_registerWorkflow(std::string& _return, const
} // end while(true)
}
-void AiravataConcurrentClient::updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow)
+void AiravataConcurrentClient::updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow)
{
int32_t seqid = send_updateWorkflow(authzToken, workflowTemplateId, workflow);
recv_updateWorkflow(seqid);
}
-int32_t AiravataConcurrentClient::send_updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow)
+int32_t AiravataConcurrentClient::send_updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow)
{
int32_t cseqid = this->sync_.generateSeqId();
::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 76b51e5..a8e91cc 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -183,6 +183,7 @@ class AiravataIf {
virtual void getSSHPubKey(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId) = 0;
/**
+ *
* Get a Public Key by Providing the Token
*
* @param CredStoreToken
@@ -201,6 +202,7 @@ class AiravataIf {
virtual void getAllUserSSHPubKeys(std::map<std::string, std::string> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName) = 0;
/**
+ *
* Get all Public Keys of the Gateway
*
* @param CredStoreToken
@@ -219,6 +221,7 @@ class AiravataIf {
virtual void getAllGatewaySSHPubKeys(std::map<std::string, std::string> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
/**
+ *
* Delete a Gateway
*
* @param gatewayId
@@ -236,6 +239,7 @@ class AiravataIf {
virtual bool deleteSSHPubKey(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId) = 0;
/**
+ *
* Creates a Project with basic metadata.
* A Project is a container of experiments.
*
@@ -243,7 +247,7 @@ class AiravataIf {
* The identifier for the requested gateway.
*
* @param Project
- * The Project Object described in the workspace_model
+ * The Project Object described in the workspace_model.
*
*
*
@@ -254,6 +258,7 @@ class AiravataIf {
virtual void createProject(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::apache::airavata::model::workspace::Project& project) = 0;
/**
+ *
* Update an Existing Project
*
* @param projectId
@@ -271,14 +276,15 @@ class AiravataIf {
virtual void updateProject(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const ::apache::airavata::model::workspace::Project& updatedProject) = 0;
/**
+ *
* Get a Project by ID
- * This method is to obtain a project by providing a projectId
+ * This method is to obtain a project by providing a projectId.
*
* @param projectId
- * projectId of the project you require
+ * projectId of the project you require.
*
* @return project
- * project data model will be returned
+ * project data model will be returned.
*
*
*
@@ -288,15 +294,18 @@ class AiravataIf {
virtual void getProject( ::apache::airavata::model::workspace::Project& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId) = 0;
/**
+ *
* Delete a Project
- * This method is used to delete an existing Project
+ * This method is used to delete an existing Project.
*
* @param projectId
- * projectId of the project you want to delete
+ * projectId of the project you want to delete.
*
* @return boolean
* Boolean identifier for the success or failure of the deletion operation.
*
+ * NOTE: This method is not used within gateways connected with Airavata.
+ *
*
*
* @param authzToken
@@ -305,20 +314,21 @@ class AiravataIf {
virtual bool deleteProject(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId) = 0;
/**
- * Get all Project by user with pagination. Results will be ordered based
- * on creation time DESC
+ *
+ * Get All User Projects
+ * Get all Project for the user with pagination. Results will be ordered based on creation time DESC.
*
* @param gatewayId
* The identifier for the requested gateway.
*
* @param userName
- * The identifier of the user
+ * The identifier of the user.
*
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
*
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
*
*
*
@@ -331,19 +341,25 @@ class AiravataIf {
virtual void getUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) = 0;
/**
- * Get all Project for user by project name with pagination.Results will be ordered based
- * on creation time DESC
+ *
+ * Search User Projects by Project Name
+ * Get all Project for user by project name with pagination.Results will be ordered based on creation time DESC.
*
* @param gatewayId
- * The identifier for the requested gateway.
+ * The unique identifier for the requested gateway.
+ *
* @param userName
- * The identifier of the user
+ * The identifier of the user.
+ *
* @param projectName
- * The name of the project on which the results to be fetched
+ * The name of the project on which the results to be fetched.
+ *
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -356,19 +372,25 @@ class AiravataIf {
virtual void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& projectName, const int32_t limit, const int32_t offset) = 0;
/**
- * Search and get all Projects for user by project description with pagination. Results
- * will be ordered based on creation time DESC
+ *
+ * Search User Projects by Project Description
+ * Search and get all Projects for user by project description with pagination. Results will be ordered based on creation time DESC.
*
* @param gatewayId
- * The identifier for the requested gateway.
+ * The unique identifier of the gateway making the request.
+ *
* @param userName
- * The identifier of the user
+ * The identifier of the user.
+ *
* @param description
- * The description to be matched
+ * The description to be matched.
+ *
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -381,19 +403,25 @@ class AiravataIf {
virtual void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) = 0;
/**
- * Search Experiments by experiment name with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by Name
+ * Search user Experiments using experiment name with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user who created the experiments.
+ *
* @param expName
- * Experiment name to be matched
+ * Experiment name to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -406,19 +434,25 @@ class AiravataIf {
virtual void searchExperimentsByName(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& expName, const int32_t limit, const int32_t offset) = 0;
/**
- * Search Experiments by experiment name with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search By Experiment Description
+ * Search Experiments by experiment description with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param description
- * Experiment description to be matched
+ * Experiment description to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -431,19 +465,25 @@ class AiravataIf {
virtual void searchExperimentsByDesc(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) = 0;
/**
- * Search Experiments by application id with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search Experiment By the Application
+ * Search Experiments of a particular application id with pagination. Results will be sorted based on creation time DESC
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param applicationId
- * Application id to be matched
+ * Application id to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -456,19 +496,25 @@ class AiravataIf {
virtual void searchExperimentsByApplication(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& applicationId, const int32_t limit, const int32_t offset) = 0;
/**
- * Search Experiments by experiment status with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by Status
+ * Search all the Experiments of the given user by experiment status with pagination. Results will be sorted based on creation time DESC
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user making the request.
+ *
* @param experimentState
- * Experiement state to be matched
+ * Experiement state to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -481,21 +527,31 @@ class AiravataIf {
virtual void searchExperimentsByStatus(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const ::apache::airavata::model::status::ExperimentState::type experimentState, const int32_t limit, const int32_t offset) = 0;
/**
- * Search Experiments by experiment creation time with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by the Creation Time
+ * This will search all the experiments of the given user by experiment creation time with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param fromTime
- * Start time of the experiments creation time
+ * Start time of the experiments creation time.
+ *
* @param toTime
- * End time of the experiement creation time
+ * End time of the experiement creation time.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
+ * @return ExperimentSummaryModel
+ * List of experiments for the given search filter. Here only the Experiment summary will be returned.
+ *
*
*
* @param authzToken
@@ -509,19 +565,27 @@ class AiravataIf {
virtual void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime, const int32_t limit, const int32_t offset) = 0;
/**
- * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
- * based on creation time DESC
+ * Search Experiments.
+ * Search Experiments by using multiple filter criteria with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user requesting the search function.
+ *
* @param filters
- * map of multiple filter criteria.
+ * Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
+ * @return ExperimentSummaryModel
+ * List of experiments for the given search filter. Here only the Experiment summary will be returned.
+ *
*
*
* @param authzToken
@@ -534,13 +598,19 @@ class AiravataIf {
virtual void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset) = 0;
/**
- * Get Experiment Statisitics for the given gateway for a specific time period
+ *
+ * Get Experiment Statistics
+ * Get Experiment Statisitics for a given gateway for a specific time period. This feature is available only for admins of a particular gateway. Gateway admin access is managed by the user roles.
+ *
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the gateway making the request to fetch statistics.
+ *
* @param fromTime
- * Starting date time
+ * Starting date time.
+ *
* @param toTime
- * Ending data time
+ * Ending data time.
+ *
*
*
* @param authzToken
@@ -551,15 +621,19 @@ class AiravataIf {
virtual void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime) = 0;
/**
- * Get Experiments within project with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Get All Experiments of the Project
+ * Get Experiments within project with pagination. Results will be sorted based on creation time DESC.
*
* @param projectId
- * Identifier of the project
+ * Uniqie identifier of the project.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -570,17 +644,22 @@ class AiravataIf {
virtual void getExperimentsInProject(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset) = 0;
/**
- * Get experiments by user with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Get All Experiments of the User
+ * Get experiments by user with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requesting gateway
+ * Identifier of the requesting gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested end user.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -592,12 +671,17 @@ class AiravataIf {
virtual void getUserExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) = 0;
/**
+ * *
+ * * Create New Experiment
* * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
* * but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client
* * has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
* * registering the experiment in a persistent store.
* *
- * * @param basicExperimentMetadata
+ * * @param gatewayId
+ * * The unique ID of the gateway where the experiment is been created.
+ * *
+ * * @param ExperimentModel
* * The create experiment will require the basic experiment metadata like the name and description, intended user,
* * the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
* * the ExperimentMetadata is a required field.
@@ -634,8 +718,8 @@ class AiravataIf {
virtual void createExperiment(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::apache::airavata::model::experiment::ExperimentModel& experiment) = 0;
/**
- * Delete an Experiment
*
+ * Delete an Experiment
* If the experiment is not already launched experiment can be deleted.
*
* @param authzToken
@@ -644,7 +728,7 @@ class AiravataIf {
* Experiment ID of the experimnet you want to delete.
*
* @return boolean
- * Identifier for the success or failure of the deletion operation
+ * Identifier for the success or failure of the deletion operation.
*
*
*
@@ -654,12 +738,14 @@ class AiravataIf {
virtual bool deleteExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& experimentId) = 0;
/**
+ * *
+ * * Get Experiment
* * Fetch previously created experiment metadata.
* *
* * @param airavataExperimentId
- * * The identifier for the requested experiment. This is returned during the create experiment step.
+ * * The unique identifier of the requested experiment. This ID is returned during the create experiment step.
* *
- * * @return experimentMetada
+ * * @return ExperimentModel
* * This method will return the previously stored experiment metadata.
* *
* * @throws org.apache.airavata.model.error.InvalidRequestException
@@ -693,14 +779,17 @@ class AiravataIf {
virtual void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
/**
+ *
+ * Get Complete Experiment Details
* Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
* tasks -> jobs information.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
*
- * @return experimentMetada
- * This method will return the previously stored experiment metadata.
+ * @return ExperimentModel
+ * This method will return the previously stored experiment metadata including application input parameters, computational resource scheduling
+ * information, special input output handling and additional quality of service parameters.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
* For any incorrect forming of the request itself.
@@ -732,14 +821,15 @@ class AiravataIf {
virtual void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
/**
- * Configure a previously created experiment with required inputs, scheduling and other quality of service
- * parameters. This method only updates the experiment object within the registry. The experiment has to be launched
- * to make it actionable by the server.
+ *
+ * Update a Previously Created Experiment
+ * Configure the CREATED experiment with required inputs, scheduling and other quality of service parameters. This method only updates the experiment object within the registry.
+ * The experiment has to be launched to make it actionable by the server.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
*
- * @param experimentConfigurationData
+ * @param ExperimentModel
* The configuration information of the experiment with application input parameters, computational resource scheduling
* information, special input output handling and additional quality of service parameters.
*
@@ -780,13 +870,14 @@ class AiravataIf {
/**
* *
- * * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
- * *
- * * @param experimentId
+ * * Validate experiment configuration.
+ * * A true in general indicates, the experiment is ready to be launched.
* *
+ * * @param airavataExperimentId
+ * * Unique identifier of the experiment (Experimnent ID) of the experiment which need to be validated.
* *
* * @return boolean
- * * Identifier for the success or failure of the validation operation
+ * * Identifier for the success or failure of the validation operation.
* *
* *
*
@@ -796,8 +887,12 @@ class AiravataIf {
virtual bool validateExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
/**
- * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
- * notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * Launch a Previously Created & Configured Experiment.
+ * Airavata Server will then start processing the request and appropriate notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * @gatewayId
+ * ID of the gateway which will launch the experiment.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
@@ -836,17 +931,18 @@ class AiravataIf {
virtual void launchExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::string& gatewayId) = 0;
/**
+ *
* Get Experiment Status
*
- * Obtain the status os an experiment by providing the Experiment Id
+ * Obtain the status of an experiment by providing the Experiment Id
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you require the status
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you require the status.
*
* @return ExperimentStatus
- * ExperimentStatus model with current status will be returned.
+ * ExperimentStatus model with the current status will be returned.
*
*
*
@@ -856,16 +952,17 @@ class AiravataIf {
virtual void getExperimentStatus( ::apache::airavata::model::status::ExperimentStatus& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
/**
+ *
* Get Experiment Outputs
- * This method to be used when need to obtain outputs of a certain Experiment
+ * This method to be used when need to obtain final outputs of a certain Experiment
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you need the outputs
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you need the outputs.
*
* @return list
- * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
*
*
*
@@ -875,16 +972,17 @@ class AiravataIf {
virtual void getExperimentOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
/**
+ *
* Get Intermediate Experiment Outputs
* This method to be used when need to obtain intermediate outputs of a certain Experiment
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you need the intermediate outputs
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you need intermediate outputs.
*
* @return list
- * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
*
*
*
@@ -894,13 +992,14 @@ class AiravataIf {
virtual void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
/**
- * Get Job Status for an Experiment
+ *
+ * Get Job Statuses for an Experiment
* This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
*
* @param authzToken
*
* @param experiementId
- * Experiment ID of the experimnet you need the intermediate outputs
+ * Experiment ID of the experimnet you need the job statuses.
*
* @return JobStatus
* Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map
@@ -913,16 +1012,17 @@ class AiravataIf {
virtual void getJobStatuses(std::map<std::string, ::apache::airavata::model::status::JobStatus> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
/**
- * Get Job Details for all the jobs within an Experiment
+ *
+ * Get Job Details for all the jobs within an Experiment.
* This method to be used when need to get the job details for one or many jobs of an Experiment.
*
* @param authzToken
*
* @param experiementId
- * Experiment ID of the experimnet you need job details
+ * Experiment ID of the experimnet you need job details.
*
* @return list of JobDetails
- * Job details
+ * Job details.
*
*
*
@@ -932,7 +1032,9 @@ class AiravataIf {
virtual void getJobDetails(std::vector< ::apache::airavata::model::job::JobModel> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
/**
- * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+ *
+ * Clone an Existing Experiment
+ * Existing specified experiment is cloned and a new name is provided. A copy of the experiment configuration is made and is persisted with new metadata.
* The client has to subsequently update this configuration if needed and launch the cloned experiment.
*
* @param newExperimentName
@@ -944,7 +1046,7 @@ class AiravataIf {
* should be shared public by default.
*
* @return
- * The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+ * The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
* For any incorrect forming of the request itself.
@@ -977,12 +1079,16 @@ class AiravataIf {
virtual void cloneExperiment(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& existingExperimentID, const std::string& newExperimentName) = 0;
/**
- * Terminate a running experiment.
+ *
+ * Terminate a running Experiment.
+ *
+ * @gatewayId
+ * ID of the gateway which will terminate the running Experiment.
*
* @param airavataExperimentId
- * The identifier for the requested experiment. This is returned during the create experiment step.
+ * The identifier of the experiment required termination. This ID is returned during the create experiment step.
*
- * @return
+ * @return status
* This method call does not have a return value.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
@@ -1016,13 +1122,17 @@ class AiravataIf {
virtual void terminateExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::string& gatewayId) = 0;
/**
+ *
* Register a Application Module.
*
+ * @gatewayId
+ * ID of the gateway which is registering the new Application Module.
+ *
* @param applicationModule
* Application Module Object created from the datamodel.
*
* @return appModuleId
- * Returns a server-side generated airavata appModule globally unique identifier.
+ * Returns the server-side generated airavata appModule globally unique identifier.
*
*
* @param authzToken
@@ -1032,13 +1142,14 @@ class AiravataIf {
virtual void registerApplicationModule(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
/**
+ *
* Fetch a Application Module.
*
* @param appModuleId
- * The identifier for the requested application module
+ * The unique identifier of the application module required
*
* @return applicationModule
- * Returns a application Module Object.
+ * Returns an Application Module Object.
*
*
* @param authzToken
@@ -1047,6 +1158,7 @@ class AiravataIf {
virtual void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId) = 0;
/**
+ *
* Update a Application Module.
*
* @param appModuleId
@@ -1064,13 +1176,29 @@ class AiravataIf {
* @param applicationModule
*/
virtual bool updateApplicationModule(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
+
+ /**
+ *
+ * Fetch all Application Module Descriptions.
+ *
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
+ * @return list
+ * Returns the list of all Application Module Objects.
+ *
+ *
+ * @param authzToken
+ * @param gatewayId
+ */
virtual void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
/**
- * Delete a Application Module.
+ *
+ * Delete an Application Module.
*
* @param appModuleId
- * The identifier for the requested application module to be deleted.
+ * The identifier of the Application Module to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1082,9 +1210,13 @@ class AiravataIf {
virtual bool deleteApplicationModule(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId) = 0;
/**
- * Register a Application Deployment.
*
- * @param applicationModule
+ * Register an Application Deployment.
+ *
+ * @param gatewayId
+ * ID of the gateway which is registering the new Application Deployment.
+ *
+ * @param applicationDeployment
* Application Module Object created from the datamodel.
*
* @return appDeploymentId
@@ -1098,6 +1230,7 @@ class AiravataIf {
virtual void registerApplicationDeployment(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
/**
+ *
* Fetch a Application Deployment.
*
* @param appDeploymentId
@@ -1113,10 +1246,11 @@ class AiravataIf {
virtual void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appDeploymentId) = 0;
/**
- * Update a Application Deployment.
+ *
+ * Update an Application Deployment.
*
* @param appDeploymentId
- * The identifier for the requested application deployment to be updated.
+ * The identifier of the requested application deployment to be updated.
*
* @param appDeployment
* Application Deployment Object created from the datamodel.
@@ -1132,10 +1266,11 @@ class AiravataIf {
virtual bool updateApplicationDeployment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appDeploymentId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
/**
- * Delete a Application deployment.
+ *
+ * Delete an Application Deployment.
*
* @param appDeploymentId
- * The identifier for the requested application deployment to be deleted.
+ * The unique identifier of application deployment to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1147,10 +1282,14 @@ class AiravataIf {
virtual bool deleteApplicationDeployment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appDeploymentId) = 0;
/**
+ *
* Fetch all Application Deployment Descriptions.
*
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
* @return list<applicationDeployment.
- * Returns the list of all application Deployment Objects.
+ * Returns the list of all application Deployment Objects.
*
*
* @param authzToken
@@ -1174,9 +1313,10 @@ class AiravataIf {
virtual void getAppModuleDeployedResources(std::vector<std::string> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId) = 0;
/**
+ *
* Register a Application Interface.
*
- * @param applicationModule
+ * @param applicationInterface
* Application Module Object created from the datamodel.
*
* @return appInterfaceId
@@ -1188,17 +1328,40 @@ class AiravataIf {
* @param applicationInterface
*/
virtual void registerApplicationInterface(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
+
+ /**
+ *
+ * Clone an Application Interface.
+ *
+ * @gatewayId
+ * The identifier for the gateway profile to be requested
+ *
+ * @param existingAppInterfaceID
+ * Identifier of the existing Application interface you wich to clone.
+ *
+ * @param newApplicationName
+ * Name for the new application interface.
+ *
+ * @return appInterfaceId
+ * Returns a server-side generated globally unique identifier for the newly cloned application interface.
+ *
+ *
+ * @param authzToken
+ * @param existingAppInterfaceID
+ * @param newApplicationName
+ * @param gatewayId
+ */
virtual void cloneApplicationInterface(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& existingAppInterfaceID, const std::string& newApplicationName, const std::string& gatewayId) = 0;
/**
- * Fetch a Application Interface.
+ *
+ * Fetch an Application Interface.
*
* @param appInterfaceId
- * The identifier for the requested application module
+ * The identifier for the requested application interface.
*
* @return applicationInterface
- * Returns a application Interface Object.
- *
+ * Returns an application Interface Object.
*
*
* @param authzToken
@@ -1207,10 +1370,11 @@ class AiravataIf {
virtual void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) = 0;
/**
+ *
* Update a Application Interface.
*
* @param appInterfaceId
- * The identifier for the requested application deployment to be updated.
+ * The identifier of the requested application deployment to be updated.
*
* @param appInterface
* Application Interface Object created from the datamodel.
@@ -1219,7 +1383,6 @@ class AiravataIf {
* Returns a success/failure of the update.
*
*
- *
* @param authzToken
* @param appInterfaceId
* @param applicationInterface
@@ -1227,7 +1390,8 @@ class AiravataIf {
virtual bool updateApplicationInterface(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
/**
- * Delete a Application Interface.
+ *
+ * Delete an Application Interface.
*
* @param appInterfaceId
* The identifier for the requested application interface to be deleted.
@@ -1236,18 +1400,18 @@ class AiravataIf {
* Returns a success/failure of the deletion.
*
*
- *
* @param authzToken
* @param appInterfaceId
*/
virtual bool deleteApplicationInterface(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) = 0;
/**
- * Fetch name and id of Application Interface documents.
+ *
+ * Fetch name and ID of Application Interface documents.
*
*
* @return map<applicationId, applicationInterfaceNames>
- * Returns a list of application interfaces with corresponsing id's
+ * Returns a list of application interfaces with corresponsing ID's
*
*
* @param authzToken
@@ -1256,11 +1420,12 @@ class AiravataIf {
virtual void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
/**
+ *
* Fetch all Application Interface documents.
*
*
* @return map<applicationId, applicationInterfaceNames>
- * Returns a list of application interfaces documents
+ * Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).
*
*
* @param authzToken
@@ -1269,10 +1434,11 @@ class AiravataIf {
virtual void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
/**
+ *
* Fetch the list of Application Inputs.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier of the application interface which need inputs to be fetched.
*
* @return list<application_interface_model.InputDataObjectType>
* Returns a list of application inputs.
@@ -1284,10 +1450,11 @@ class AiravataIf {
virtual void getApplicationInputs(std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) = 0;
/**
- * Fetch the list of Application Outputs.
+ *
+ * Fetch list of Application Outputs.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier of the application interface which need outputs to be fetched.
*
* @return list<application_interface_model.OutputDataObjectType>
* Returns a list of application outputs.
@@ -1299,14 +1466,15 @@ class AiravataIf {
virtual void getApplicationOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) = 0;
/**
+ *
* Fetch a list of all deployed Compute Hosts for a given application interfaces.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier for the requested application interface.
*
* @return map<computeResourceId, computeResourceName>
* A map of registered compute resource id's and their corresponding hostnames.
- * Deployments of each modules listed within the interfaces will be listed.
+ * Deployments of each modules listed within the interfaces will be listed.
*
*
* @param authzToken
@@ -1345,6 +1513,7 @@ class AiravataIf {
virtual void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId) = 0;
/**
+ *
* Fetch all registered Compute Resources.
*
* @return A map of registered compute resource id's and thier corresponding hostnames.
@@ -1431,7 +1600,7 @@ class AiravataIf {
virtual void getAllStorageResourceNames(std::map<std::string, std::string> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken) = 0;
/**
- * Update a Compute Resource.
+ * Update a Storage Resource.
*
* @param storageResourceId
* The identifier for the requested compute resource to be updated.
@@ -1453,7 +1622,7 @@ class AiravataIf {
* Delete a Storage Resource.
*
* @param storageResourceId
- * The identifier for the requested compute resource to be deleted.
+ * The identifier of the requested compute resource to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1580,6 +1749,7 @@ class AiravataIf {
virtual void getSSHJobSubmission( ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) = 0;
/**
+ *
* Add a UNICORE Job Submission details to a compute resource
* App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
*
@@ -1604,10 +1774,13 @@ class AiravataIf {
virtual void addUNICOREJobSubmissionDetails(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) = 0;
/**
+ * *
* * This method returns UnicoreJobSubmission object
+ * *
* * @param jobSubmissionInterfaceId
* * The identifier of the JobSubmission Interface to be retrieved.
* * @return UnicoreJobSubmission instance
+ * *
* *
*
* @param authzToken
@@ -1616,6 +1789,7 @@ class AiravataIf {
virtual void getUnicoreJobSubmission( ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) = 0;
/**
+ * *
* * Add a Cloud Job Submission details to a compute resource
* * App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
* *
@@ -1630,6 +1804,7 @@ class AiravataIf {
* *
* * @return status
* * Returns the unique job submission id.
+ * *
* *
*
* @param authzToken
@@ -1640,6 +1815,7 @@ class AiravataIf {
virtual void addCloudJobSubmissionDetails(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& cloudSubmission) = 0;
/**
+ * *
* * This method returns cloudJobSubmission object
* * @param jobSubmissionInterfaceI
* * The identifier of the JobSubmission Interface to be retrieved.
@@ -1652,6 +1828,7 @@ class AiravataIf {
virtual void getCloudJobSubmission( ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) = 0;
/**
+ *
* Update the given SSH Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -1671,6 +1848,7 @@ class AiravataIf {
virtual bool updateSSHJobSubmissionDetails(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0;
/**
+ *
* Update the cloud Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -1690,6 +1868,7 @@ class AiravataIf {
virtual bool updateCloudJobSubmissionDetails(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& sshJobSubmission) = 0;
/**
+ *
* Update the UNIOCRE Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -1710,6 +1889,7 @@ class AiravataIf {
virtual bool updateUnicoreJobSubmissionDetails(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) = 0;
/**
+ *
* Add a Local data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -1739,6 +1919,7 @@ class AiravataIf {
virtual void addLocalDataMovementDetails(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement) = 0;
/**
+ *
* Update the given Local data movement details
*
* @param dataMovementInterfaceId
@@ -1759,7 +1940,8 @@ class AiravataIf {
virtual bool updateLocalDataMovementDetails(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement) = 0;
/**
- * This method returns local datamovement object
+ *
+ * This method returns local datamovement object.
*
* @param dataMovementId
* The identifier of the datamovement Interface to be retrieved.
@@ -1774,6 +1956,7 @@ class AiravataIf {
virtual void getLocalDataMovement( ::apache::airavata::model::data::movement::LOCALDataMovement& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) = 0;
/**
+ *
* Add a SCP data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -1799,6 +1982,7 @@ class AiravataIf {
virtual void addSCPDataMovementDetails(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement) = 0;
/**
+ *
* Update the given scp data movement details
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -1834,6 +2018,7 @@ class AiravataIf {
virtual void getSCPDataMovement( ::apache::airavata::model::data::movement::SCPDataMovement& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) = 0;
/**
+ *
* Add a UNICORE data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -1859,6 +2044,7 @@ class AiravataIf {
virtual void addUnicoreDataMovementDetails(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement) = 0;
/**
+ *
* Update a selected UNICORE data movement details
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -1880,6 +2066,7 @@ class AiravataIf {
virtual bool updateUnicoreDataMovementDetails(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement) = 0;
/**
+ *
* This method returns UNICORE datamovement object
*
* @param dataMovementId
@@ -1895,6 +2082,7 @@ class AiravataIf {
virtual void getUnicoreDataMovement( ::apache::airavata::model::data::movement::UnicoreDataMovement& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) = 0;
/**
+ *
* Add a GridFTP data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2109,7 +2297,7 @@ class AiravataIf {
* Fetch the given Gateway Resource Profile.
*
* @param gatewayID
- * The identifier for the requested gateway resource
+ * The identifier for the requested gateway resource.
*
* @return gatewayResourceProfile
* Gateway Resource Profile Object.
@@ -2177,9 +2365,33 @@ class AiravataIf {
* @param computeResourcePreference
*/
virtual bool addGatewayComputeResourcePreference(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
+
+ /**
+ * Add a Storage Resource Preference to a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be added.
+ *
+ * @param storageResourceId
+ * Preferences related to a particular compute resource
+ *
+ * @param computeResourcePreference
+ * The ComputeResourcePreference object to be added to the resource profile.
+ *
+ * @return status
+ * Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+ * Instead an update should be used.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageResourceId
+ * @param storagePreference
+ */
virtual bool addGatewayStoragePreference(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& storageResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference& storagePreference) = 0;
/**
+ *
* Fetch a Compute Resource Preference of a registered gateway profile.
*
* @param gatewayID
@@ -2197,9 +2409,29 @@ class AiravataIf {
* @param computeResourceId
*/
virtual void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId) = 0;
+
+ /**
+ *
+ * Fetch a Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to request to fetch the particular storage resource preference.
+ *
+ * @param storageResourceId
+ * Identifier of the Stprage Preference required to be fetched.
+ *
+ * @return StoragePreference
+ * Returns the StoragePreference object.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageResourceId
+ */
virtual void getGatewayStoragePreference( ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& storageResourceId) = 0;
/**
+ *
* Fetch all Compute Resource Preferences of a registered gateway profile.
*
* @param gatewayID
@@ -2213,10 +2445,29 @@ class AiravataIf {
* @param gatewayID
*/
virtual void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID) = 0;
+
+ /**
+ * Fetch all Storage Resource Preferences of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier for the gateway profile to be requested
+ *
+ * @return StoragePreference
+ * Returns the StoragePreference object.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ */
virtual void getAllGatewayStoragePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID) = 0;
/**
- * Fetch all gateway profiles registered
+ *
+ * Fetch all Gateway Profiles registered
+ *
+ * @return GatewayResourceProfile
+ * Returns all the GatewayResourcePrifle list object.
+ *
*
*
* @param authzToken
@@ -2245,6 +2496,28 @@ class AiravataIf {
* @param computeResourcePreference
*/
virtual bool updateGatewayComputeResourcePreference(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
+
+ /**
+ * Update a Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be updated.
+ *
+ * @param storageId
+ * The Storage resource identifier of the one that you want to update
+ *
+ * @param storagePreference
+ * The storagePreference object to be updated to the resource profile.
+ *
+ * @return status
+ * Returns a success/failure of the updation.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageId
+ * @param storagePreference
+ */
virtual bool updateGatewayStoragePreference(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& storageId, const ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference& storagePreference) = 0;
/**
@@ -2265,17 +2538,63 @@ class AiravataIf {
* @param computeResourceId
*/
virtual bool deleteGatewayComputeResourcePreference(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId) = 0;
+
+ /**
+ * Delete the Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be deleted.
+ *
+ * @param storageId
+ * ID of the storage preference you want to delete.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageId
+ */
virtual bool deleteGatewayStoragePreference(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& storageId) = 0;
+
+ /**
+ * Delete the Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be deleted.
+ *
+ * @param storageId
+ * ID of the storage preference you want to delete.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
+ * @param authzToken
+ * @param gatewayId
+ */
virtual void getAllWorkflows(std::vector<std::string> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
- virtual void getWorkflow( ::Workflow& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) = 0;
+
+ /**
+ *
+ * API Methods Related for Work-Flow Submission Features.
+ *
+ *
+ * @param authzToken
+ * @param workflowTemplateId
+ */
+ virtual void getWorkflow( ::WorkflowModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) = 0;
virtual void deleteWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) = 0;
- virtual void registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow) = 0;
- virtual void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow) = 0;
+ virtual void registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow) = 0;
+ virtual void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow) = 0;
virtual void getWorkflowTemplateId(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName) = 0;
virtual bool isWorkflowExistWithName(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName) = 0;
/**
- * * Data Manager Related API Methods
+ * *
+ * * Data Manager Related API Methods.
+ * *
* *
*
* @param authzToken
@@ -2738,16 +3057,16 @@ class AiravataNull : virtual public AiravataIf {
void getAllWorkflows(std::vector<std::string> & /* _return */, const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */) {
return;
}
- void getWorkflow( ::Workflow& /* _return */, const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* workflowTemplateId */) {
+ void getWorkflow( ::WorkflowModel& /* _return */, const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* workflowTemplateId */) {
return;
}
void deleteWorkflow(const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* workflowTemplateId */) {
return;
}
- void registerWorkflow(std::string& /* _return */, const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const ::Workflow& /* workflow */) {
+ void registerWorkflow(std::string& /* _return */, const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const ::WorkflowModel& /* workflow */) {
return;
}
- void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* workflowTemplateId */, const ::Workflow& /* workflow */) {
+ void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* workflowTemplateId */, const ::WorkflowModel& /* workflow */) {
return;
}
void getWorkflowTemplateId(std::string& /* _return */, const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* workflowName */) {
@@ -20788,7 +21107,7 @@ class Airavata_getWorkflow_result {
}
virtual ~Airavata_getWorkflow_result() throw();
- ::Workflow success;
+ ::WorkflowModel success;
::apache::airavata::api::error::InvalidRequestException ire;
::apache::airavata::api::error::AiravataClientException ace;
::apache::airavata::api::error::AiravataSystemException ase;
@@ -20796,7 +21115,7 @@ class Airavata_getWorkflow_result {
_Airavata_getWorkflow_result__isset __isset;
- void __set_success(const ::Workflow& val);
+ void __set_success(const ::WorkflowModel& val);
void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val);
@@ -20845,7 +21164,7 @@ class Airavata_getWorkflow_presult {
virtual ~Airavata_getWorkflow_presult() throw();
- ::Workflow* success;
+ ::WorkflowModel* success;
::apache::airavata::api::error::InvalidRequestException ire;
::apache::airavata::api::error::AiravataClientException ace;
::apache::airavata::api::error::AiravataSystemException ase;
@@ -20997,13 +21316,13 @@ class Airavata_registerWorkflow_args {
virtual ~Airavata_registerWorkflow_args() throw();
::apache::airavata::model::security::AuthzToken authzToken;
std::string gatewayId;
- ::Workflow workflow;
+ ::WorkflowModel workflow;
void __set_authzToken(const ::apache::airavata::model::security::AuthzToken& val);
void __set_gatewayId(const std::string& val);
- void __set_workflow(const ::Workflow& val);
+ void __set_workflow(const ::WorkflowModel& val);
bool operator == (const Airavata_registerWorkflow_args & rhs) const
{
@@ -21034,7 +21353,7 @@ class Airavata_registerWorkflow_pargs {
virtual ~Airavata_registerWorkflow_pargs() throw();
const ::apache::airavata::model::security::AuthzToken* authzToken;
const std::string* gatewayId;
- const ::Workflow* workflow;
+ const ::WorkflowModel* workflow;
uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -21139,13 +21458,13 @@ class Airavata_updateWorkflow_args {
virtual ~Airavata_updateWorkflow_args() throw();
::apache::airavata::model::security::AuthzToken authzToken;
std::string workflowTemplateId;
- ::Workflow workflow;
+ ::WorkflowModel workflow;
void __set_authzToken(const ::apache::airavata::model::security::AuthzToken& val);
void __set_workflowTemplateId(const std::string& val);
- void __set_workflow(const ::Workflow& val);
+ void __set_workflow(const ::WorkflowModel& val);
bool operator == (const Airavata_updateWorkflow_args & rhs) const
{
@@ -21176,7 +21495,7 @@ class Airavata_updateWorkflow_pargs {
virtual ~Airavata_updateWorkflow_pargs() throw();
const ::apache::airavata::model::security::AuthzToken* authzToken;
const std::string* workflowTemplateId;
- const ::Workflow* workflow;
+ const ::WorkflowModel* workflow;
uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -22769,17 +23088,17 @@ class AiravataClient : virtual public AiravataIf {
void getAllWorkflows(std::vector<std::string> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
void send_getAllWorkflows(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
void recv_getAllWorkflows(std::vector<std::string> & _return);
- void getWorkflow( ::Workflow& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId);
+ void getWorkflow( ::WorkflowModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId);
void send_getWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId);
- void recv_getWorkflow( ::Workflow& _return);
+ void recv_getWorkflow( ::WorkflowModel& _return);
void deleteWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId);
void send_deleteWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId);
void recv_deleteWorkflow();
- void registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow);
- void send_registerWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow);
+ void registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow);
+ void send_registerWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow);
void recv_registerWorkflow(std::string& _return);
- void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow);
- void send_updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow);
+ void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow);
+ void send_updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow);
void recv_updateWorkflow();
void getWorkflowTemplateId(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName);
void send_getWorkflowTemplateId(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName);
@@ -24351,7 +24670,7 @@ class AiravataMultiface : virtual public AiravataIf {
return;
}
- void getWorkflow( ::Workflow& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) {
+ void getWorkflow( ::WorkflowModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) {
size_t sz = ifaces_.size();
size_t i = 0;
for (; i < (sz - 1); ++i) {
@@ -24370,7 +24689,7 @@ class AiravataMultiface : virtual public AiravataIf {
ifaces_[i]->deleteWorkflow(authzToken, workflowTemplateId);
}
- void registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow) {
+ void registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow) {
size_t sz = ifaces_.size();
size_t i = 0;
for (; i < (sz - 1); ++i) {
@@ -24380,7 +24699,7 @@ class AiravataMultiface : virtual public AiravataIf {
return;
}
- void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow) {
+ void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow) {
size_t sz = ifaces_.size();
size_t i = 0;
for (; i < (sz - 1); ++i) {
@@ -24877,17 +25196,17 @@ class AiravataConcurrentClient : virtual public AiravataIf {
void getAllWorkflows(std::vector<std::string> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
int32_t send_getAllWorkflows(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
void recv_getAllWorkflows(std::vector<std::string> & _return, const int32_t seqid);
- void getWorkflow( ::Workflow& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId);
+ void getWorkflow( ::WorkflowModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId);
int32_t send_getWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId);
- void recv_getWorkflow( ::Workflow& _return, const int32_t seqid);
+ void recv_getWorkflow( ::WorkflowModel& _return, const int32_t seqid);
void deleteWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId);
int32_t send_deleteWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId);
void recv_deleteWorkflow(const int32_t seqid);
- void registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow);
- int32_t send_registerWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow);
+ void registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow);
+ int32_t send_registerWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow);
void recv_registerWorkflow(std::string& _return, const int32_t seqid);
- void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow);
- int32_t send_updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow);
+ void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow);
+ int32_t send_updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow);
void recv_updateWorkflow(const int32_t seqid);
void getWorkflowTemplateId(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName);
int32_t send_getWorkflowTemplateId(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName);
[13/50] [abbrv] airavata git commit: throwing experiment not found
exception instead of system exception
Posted by ch...@apache.org.
throwing experiment not found exception instead of system exception
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/819c5e28
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/819c5e28
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/819c5e28
Branch: refs/heads/master
Commit: 819c5e286eda098b7c47bd30391fbd477665ba31
Parents: fa4c187
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Wed Jan 27 15:26:00 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Wed Jan 27 15:26:00 2016 -0500
----------------------------------------------------------------------
.../apache/airavata/api/server/handler/AiravataServerHandler.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/819c5e28/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 0212163..c8de2b7 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -1425,7 +1425,7 @@ public class AiravataServerHandler implements Airavata.Iface {
throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
}
return (ExperimentModel) experimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId);
- } catch (Exception e) {
+ } catch (RegistryException e) {
logger.error("Error while retrieving the experiment", e);
AiravataSystemException exception = new AiravataSystemException();
exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
[16/50] [abbrv] airavata git commit: Added workflow data models
Posted by ch...@apache.org.
Added workflow data models
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/1ec4efbf
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/1ec4efbf
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/1ec4efbf
Branch: refs/heads/master
Commit: 1ec4efbfa7bba2e1f606f1fce58729dfc3079d26
Parents: b65079a
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Feb 1 12:02:26 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Feb 1 12:02:26 2016 -0500
----------------------------------------------------------------------
.../workflow-models/workflow_data_model.thrift | 58 +++++++++++++++++++-
1 file changed, 56 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/1ec4efbf/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift b/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
index 6b3dfad..7b7922a 100644
--- a/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
+++ b/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
@@ -33,11 +33,65 @@ include "../../airavata-apis/airavata_commons.thrift"
*/
-struct Workflow {
+struct WorkflowModel {
1: required string templateId = airavata_commons.DEFAULT_ID,
2: required string name,
- 3: optional string graph,
+ 3: required string graph,
4: optional binary image,
5: optional list<application_io_models.InputDataObjectType> workflowInputs,
6: optional list<application_io_models.OutputDataObjectType> workflowOutputs
}
+
+enum WorkflowState {
+ CREATED,
+ STARTED,
+ EXECUTING,
+ COMPLETED,
+ FAILED,
+ CANCELLING,
+ CANCELED
+}
+
+enum ComponentState {
+ CREATED,
+ WAITING,
+ READY,
+ RUNNING,
+ COMPLETED,
+ FAILED,
+ CANCELED
+}
+
+struct ComponentStatus {
+ 1: required ComponentState state = ComponentState.CREATED,
+ 2: optional string reason,
+ 3: optional i64 timeofStateChange
+}
+
+struct WorkflowStatus {
+ 1: required WorkflowState state,
+ 2: optional i64 timeOfStateChange,
+ 3: optional string reason
+}
+
+struct EdgeModel {
+ 1: required string edgeId = airavata_commons.DEFAULT_ID,
+ 2: optional string name,
+ 3: optional ComponentStatus status,
+ 4: optional string description
+}
+
+struct PortModel {
+ 1: required string portId = airavata_commons.DEFAULT_ID,
+ 2: optional string name
+ 3: optional ComponentStatus status,
+ 4: optional string description
+
+}
+
+struct NodeModel {
+ 1: required string nodeId= airavata_commons.DEFAULT_ID,
+ 2: optional string name,
+ 3: optional ComponentStatus status,
+ 4: optional string description
+}
[02/50] [abbrv] airavata git commit: Adding API method descriptions
to App Catalog Airavata Thrift APIs
Posted by ch...@apache.org.
Adding API method descriptions to App Catalog Airavata Thrift APIs
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/70358dff
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/70358dff
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/70358dff
Branch: refs/heads/master
Commit: 70358dff34c253cf73020c389080f03fc4927a98
Parents: cda9014
Author: Eroma Abeysinghe <er...@gmail.com>
Authored: Tue Jan 19 15:41:04 2016 -0500
Committer: Eroma Abeysinghe <er...@gmail.com>
Committed: Tue Jan 19 15:41:04 2016 -0500
----------------------------------------------------------------------
.../airavata-apis/airavata_api.thrift | 86 +++++++++++++++++++-
1 file changed, 83 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/70358dff/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
index 521b24b..8c0b14a 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -2555,6 +2555,7 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Fetch a Compute Resource Preference of a registered gateway profile.
*
* @param gatewayID
@@ -2575,6 +2576,20 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
+ /**
+ *
+ * Fetch a Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to request to fetch the particular storage resource preference.
+ *
+ * @param storageResourceId
+ * Identifier of the Stprage Preference required to be fetched.
+ *
+ * @return StoragePreference
+ * Returns the StoragePreference object.
+ *
+ */
gateway_resource_profile_model.StoragePreference getGatewayStoragePreference(1: required security_model.AuthzToken authzToken,
2: required string gatewayID,
3: required string storageResourceId)
@@ -2584,6 +2599,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Fetch all Compute Resource Preferences of a registered gateway profile.
*
* @param gatewayID
@@ -2600,6 +2616,16 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
+ /**
+ * Fetch all Storage Resource Preferences of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier for the gateway profile to be requested
+ *
+ * @return StoragePreference
+ * Returns the StoragePreference object.
+ *
+ */
list<gateway_resource_profile_model.StoragePreference>
getAllGatewayStoragePreferences(1: required security_model.AuthzToken authzToken, 2: required string gatewayID)
@@ -2609,12 +2635,12 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Fetch all gateway profiles registered
+ *
+ * Fetch all Gateway Profiles registered
*
* @return GatewayResourceProfile
* Returns all the GatewayResourcePrifle list object.
*
- *
**/
list<gateway_resource_profile_model.GatewayResourceProfile>
getAllGatewayResourceProfiles(1: required security_model.AuthzToken authzToken)
@@ -2647,6 +2673,23 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
+ /**
+ * Update a Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be updated.
+ *
+ * @param storageId
+ * The Storage resource identifier of the one that you want to update
+ *
+ * @param storagePreference
+ * The storagePreference object to be updated to the resource profile.
+ *
+ * @return status
+ * Returns a success/failure of the updation.
+ *
+ */
+
bool updateGatewayStoragePreference(1: required security_model.AuthzToken authzToken, 2: required string gatewayID,
3: required string storageId,
4: required gateway_resource_profile_model.StoragePreference storagePreference)
@@ -2675,6 +2718,21 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
+
+ /**
+ * Delete the Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be deleted.
+ *
+ * @param storageId
+ * ID of the storage preference you want to delete.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ */
+
bool deleteGatewayStoragePreference(1: required security_model.AuthzToken authzToken, 2: required string gatewayID,
3: required string storageId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -2682,12 +2740,32 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
+ /**
+ * Delete the Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be deleted.
+ *
+ * @param storageId
+ * ID of the storage preference you want to delete.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ */
+
list<string> getAllWorkflows(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
+ /**
+ *
+ * API Methods Related for Work-Flow Submission Features.
+ *
+ */
+
workflow_data_model.Workflow getWorkflow (1: required security_model.AuthzToken authzToken, 2: required string workflowTemplateId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -2727,7 +2805,9 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Data Manager Related API Methods
+ *
+ * Data Manager Related API Methods.
+ *
**/
string registerDataResource(1: required security_model.AuthzToken authzToken, 2: required replica_catalog_models.DataResourceModel dataResourceModel)
throws (1: airavata_errors.InvalidRequestException ire,
[23/50] [abbrv] airavata git commit: Changed dag classes to work with
thrift workflow data models
Posted by ch...@apache.org.
Changed dag classes to work with thrift workflow data models
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/9859af32
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/9859af32
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/9859af32
Branch: refs/heads/master
Commit: 9859af32bfd71aa95ec0e5e170d4937398899ecd
Parents: 494e0d7
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Feb 1 13:17:05 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Feb 1 13:17:05 2016 -0500
----------------------------------------------------------------------
.../org/apache/airavata/model/PortModel.java | 122 +++++++++++++++++--
.../workflow/core/dag/edge/DirectedEdge.java | 12 ++
.../airavata/workflow/core/dag/edge/Edge.java | 5 +
.../core/dag/nodes/ApplicationNode.java | 2 +
.../core/dag/nodes/ApplicationNodeImpl.java | 62 +++++-----
.../core/dag/nodes/WorkflowInputNodeImpl.java | 44 ++++---
.../workflow/core/dag/nodes/WorkflowNode.java | 14 ++-
.../core/dag/nodes/WorkflowOutputNodeImpl.java | 44 ++++---
.../workflow/core/dag/port/InputPortIml.java | 24 ++--
.../workflow/core/dag/port/OutPortImpl.java | 19 ++-
.../airavata/workflow/core/dag/port/Port.java | 5 +
.../workflow-models/workflow_data_model.thrift | 5 +-
12 files changed, 270 insertions(+), 88 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
index 5b5c9fd..41cf054 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
@@ -58,7 +58,8 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
private static final org.apache.thrift.protocol.TField PORT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("portId", org.apache.thrift.protocol.TType.STRING, (short)1);
private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRUCT, (short)3);
- private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)4);
+ private static final org.apache.thrift.protocol.TField VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("value", org.apache.thrift.protocol.TType.STRING, (short)4);
+ private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)5);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -69,6 +70,7 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
private String portId; // required
private String name; // optional
private ComponentStatus status; // optional
+ private String value; // optional
private String description; // optional
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -76,7 +78,8 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
PORT_ID((short)1, "portId"),
NAME((short)2, "name"),
STATUS((short)3, "status"),
- DESCRIPTION((short)4, "description");
+ VALUE((short)4, "value"),
+ DESCRIPTION((short)5, "description");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -97,7 +100,9 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
return NAME;
case 3: // STATUS
return STATUS;
- case 4: // DESCRIPTION
+ case 4: // VALUE
+ return VALUE;
+ case 5: // DESCRIPTION
return DESCRIPTION;
default:
return null;
@@ -139,7 +144,7 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
}
// isset id assignments
- private static final _Fields optionals[] = {_Fields.NAME,_Fields.STATUS,_Fields.DESCRIPTION};
+ private static final _Fields optionals[] = {_Fields.NAME,_Fields.STATUS,_Fields.VALUE,_Fields.DESCRIPTION};
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -149,6 +154,8 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComponentStatus.class)));
+ tmpMap.put(_Fields.VALUE, new org.apache.thrift.meta_data.FieldMetaData("value", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -180,6 +187,9 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
if (other.isSetStatus()) {
this.status = new ComponentStatus(other.status);
}
+ if (other.isSetValue()) {
+ this.value = other.value;
+ }
if (other.isSetDescription()) {
this.description = other.description;
}
@@ -195,6 +205,7 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
this.name = null;
this.status = null;
+ this.value = null;
this.description = null;
}
@@ -267,6 +278,29 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
}
}
+ public String getValue() {
+ return this.value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public void unsetValue() {
+ this.value = null;
+ }
+
+ /** Returns true if field value is set (has been assigned a value) and false otherwise */
+ public boolean isSetValue() {
+ return this.value != null;
+ }
+
+ public void setValueIsSet(boolean value) {
+ if (!value) {
+ this.value = null;
+ }
+ }
+
public String getDescription() {
return this.description;
}
@@ -316,6 +350,14 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
}
break;
+ case VALUE:
+ if (value == null) {
+ unsetValue();
+ } else {
+ setValue((String)value);
+ }
+ break;
+
case DESCRIPTION:
if (value == null) {
unsetDescription();
@@ -338,6 +380,9 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
case STATUS:
return getStatus();
+ case VALUE:
+ return getValue();
+
case DESCRIPTION:
return getDescription();
@@ -358,6 +403,8 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
return isSetName();
case STATUS:
return isSetStatus();
+ case VALUE:
+ return isSetValue();
case DESCRIPTION:
return isSetDescription();
}
@@ -404,6 +451,15 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
return false;
}
+ boolean this_present_value = true && this.isSetValue();
+ boolean that_present_value = true && that.isSetValue();
+ if (this_present_value || that_present_value) {
+ if (!(this_present_value && that_present_value))
+ return false;
+ if (!this.value.equals(that.value))
+ return false;
+ }
+
boolean this_present_description = true && this.isSetDescription();
boolean that_present_description = true && that.isSetDescription();
if (this_present_description || that_present_description) {
@@ -435,6 +491,11 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
if (present_status)
list.add(status);
+ boolean present_value = true && (isSetValue());
+ list.add(present_value);
+ if (present_value)
+ list.add(value);
+
boolean present_description = true && (isSetDescription());
list.add(present_description);
if (present_description)
@@ -481,6 +542,16 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetValue()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.value, other.value);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
lastComparison = Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
if (lastComparison != 0) {
return lastComparison;
@@ -538,6 +609,16 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
}
first = false;
}
+ if (isSetValue()) {
+ if (!first) sb.append(", ");
+ sb.append("value:");
+ if (this.value == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.value);
+ }
+ first = false;
+ }
if (isSetDescription()) {
if (!first) sb.append(", ");
sb.append("description:");
@@ -623,7 +704,15 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 4: // DESCRIPTION
+ case 4: // VALUE
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.value = iprot.readString();
+ struct.setValueIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 5: // DESCRIPTION
if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
struct.description = iprot.readString();
struct.setDescriptionIsSet(true);
@@ -663,6 +752,13 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
oprot.writeFieldEnd();
}
}
+ if (struct.value != null) {
+ if (struct.isSetValue()) {
+ oprot.writeFieldBegin(VALUE_FIELD_DESC);
+ oprot.writeString(struct.value);
+ oprot.writeFieldEnd();
+ }
+ }
if (struct.description != null) {
if (struct.isSetDescription()) {
oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
@@ -695,16 +791,22 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
if (struct.isSetStatus()) {
optionals.set(1);
}
- if (struct.isSetDescription()) {
+ if (struct.isSetValue()) {
optionals.set(2);
}
- oprot.writeBitSet(optionals, 3);
+ if (struct.isSetDescription()) {
+ optionals.set(3);
+ }
+ oprot.writeBitSet(optionals, 4);
if (struct.isSetName()) {
oprot.writeString(struct.name);
}
if (struct.isSetStatus()) {
struct.status.write(oprot);
}
+ if (struct.isSetValue()) {
+ oprot.writeString(struct.value);
+ }
if (struct.isSetDescription()) {
oprot.writeString(struct.description);
}
@@ -715,7 +817,7 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
TTupleProtocol iprot = (TTupleProtocol) prot;
struct.portId = iprot.readString();
struct.setPortIdIsSet(true);
- BitSet incoming = iprot.readBitSet(3);
+ BitSet incoming = iprot.readBitSet(4);
if (incoming.get(0)) {
struct.name = iprot.readString();
struct.setNameIsSet(true);
@@ -726,6 +828,10 @@ public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._
struct.setStatusIsSet(true);
}
if (incoming.get(2)) {
+ struct.value = iprot.readString();
+ struct.setValueIsSet(true);
+ }
+ if (incoming.get(3)) {
struct.description = iprot.readString();
struct.setDescriptionIsSet(true);
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
index 91118cc..b1d79b1 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
@@ -21,6 +21,7 @@
package org.apache.airavata.workflow.core.dag.edge;
+import org.apache.airavata.model.EdgeModel;
import org.apache.airavata.workflow.core.dag.port.InPort;
import org.apache.airavata.workflow.core.dag.port.OutPort;
@@ -29,6 +30,17 @@ public class DirectedEdge implements Edge {
private InPort inPort;
private OutPort outPort;
+ private EdgeModel edgeModel;
+
+ @Override
+ public void setEdgeModel(EdgeModel edgeModel) {
+ this.edgeModel = edgeModel;
+ }
+
+ @Override
+ public EdgeModel getEdgeModel() {
+ return edgeModel;
+ }
@Override
public InPort getToPort() {
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
index ee11371..d1c340e 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
@@ -21,6 +21,7 @@
package org.apache.airavata.workflow.core.dag.edge;
+import org.apache.airavata.model.EdgeModel;
import org.apache.airavata.workflow.core.dag.port.InPort;
import org.apache.airavata.workflow.core.dag.port.OutPort;
@@ -31,6 +32,10 @@ import org.apache.airavata.workflow.core.dag.port.OutPort;
public interface Edge {
+ public void setEdgeModel(EdgeModel edgeModel);
+
+ public EdgeModel getEdgeModel();
+
public InPort getToPort();
public void setToPort(InPort inPort);
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNode.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNode.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNode.java
index d775bf4..ab876cc 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNode.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNode.java
@@ -30,6 +30,8 @@ public interface ApplicationNode extends WorkflowNode {
public String getApplicationId();
+ public String getApplicationName();
+
public void addInPort(InPort inPort);
public List<InPort> getInputPorts();
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNodeImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNodeImpl.java
index ad7bd63..adc865f 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNodeImpl.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/ApplicationNodeImpl.java
@@ -21,6 +21,9 @@
package org.apache.airavata.workflow.core.dag.nodes;
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.NodeModel;
import org.apache.airavata.workflow.core.dag.port.InPort;
import org.apache.airavata.workflow.core.dag.port.OutPort;
@@ -29,35 +32,32 @@ import java.util.List;
public class ApplicationNodeImpl implements ApplicationNode {
- private final String nodeId;
- private NodeState myState = NodeState.WAITING;
- private String applicationId;
- private List<InPort> inPorts = new ArrayList<InPort>();
- private List<OutPort> outPorts = new ArrayList<OutPort>();
- private String applicationName;
+ private NodeModel nodeModel;
+ private List<InPort> inPorts = new ArrayList<>();
+ private List<OutPort> outPorts = new ArrayList<>();
-// public ApplicationNodeImpl(String nodeId) {
-// this(nodeId, null);
-// }
-//
-// public ApplicationNodeImpl(String nodeId, String applicationId) {
-// this(nodeId, null, applicationId);
-// }
+ public ApplicationNodeImpl(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
+
+ @Override
+ public void setNodeModel(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
- public ApplicationNodeImpl(String nodeId, String applicationName, String applicationId) {
- this.nodeId = nodeId;
- this.applicationName = applicationName;
- this.applicationId = applicationId;
+ @Override
+ public NodeModel getNodeModel() {
+ return nodeModel;
}
@Override
public String getId() {
- return this.nodeId;
+ return nodeModel.getNodeId();
}
@Override
public String getName() {
- return applicationName;
+ return getNodeModel().getName();
}
@Override
@@ -66,17 +66,18 @@ public class ApplicationNodeImpl implements ApplicationNode {
}
@Override
- public NodeState getState() {
- return myState;
+ public ComponentState getState() {
+ return getStatus().getState();
}
@Override
- public void setState(NodeState newState) {
- if (newState.getLevel() > myState.getLevel()) {
- myState = newState;
- } else {
- throw new IllegalStateException("Node state can't be reversed. currentState : " + myState.toString() + " , newState " + newState.toString());
- }
+ public ComponentStatus getStatus() {
+ return getNodeModel().getStatus();
+ }
+
+ @Override
+ public void setStatus(ComponentStatus newStatus) {
+ getNodeModel().setStatus(newStatus);
}
@Override
@@ -91,7 +92,12 @@ public class ApplicationNodeImpl implements ApplicationNode {
@Override
public String getApplicationId() {
- return this.applicationId;
+ return getNodeModel().getApplicationId();
+ }
+
+ @Override
+ public String getApplicationName() {
+ return null;
}
@Override
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
index 608bdbd..3ecc865 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
@@ -19,35 +19,40 @@
package org.apache.airavata.workflow.core.dag.nodes;
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.NodeModel;
import org.apache.airavata.model.application.io.InputDataObjectType;
import org.apache.airavata.workflow.core.dag.port.OutPort;
public class WorkflowInputNodeImpl implements WorkflowInputNode {
- private NodeState myState = NodeState.READY;
- private final String nodeId;
- private String nodeName;
+ private NodeModel nodeModel;
private OutPort outPort;
private InputDataObjectType inputDataObjectType;
- private String name;
- public WorkflowInputNodeImpl(String nodeId) {
- this(nodeId, null);
+ public WorkflowInputNodeImpl(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
}
- public WorkflowInputNodeImpl(String nodeId, String nodeName) {
- this.nodeId = nodeId;
- this.nodeName = nodeName;
+ @Override
+ public void setNodeModel(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
+
+ @Override
+ public NodeModel getNodeModel() {
+ return nodeModel;
}
@Override
public String getId() {
- return this.nodeId;
+ return getNodeModel().getNodeId();
}
@Override
public String getName() {
- return this.nodeName;
+ return getNodeModel().getName();
}
@Override
@@ -56,17 +61,18 @@ public class WorkflowInputNodeImpl implements WorkflowInputNode {
}
@Override
- public NodeState getState() {
- return myState;
+ public ComponentState getState() {
+ return getStatus().getState();
+ }
+
+ @Override
+ public ComponentStatus getStatus() {
+ return getNodeModel().getStatus();
}
@Override
- public void setState(NodeState newState) {
- if (newState.getLevel() > myState.getLevel()) {
- myState = newState;
- } else {
- throw new IllegalStateException("Node state can't be reversed. currentState : " + myState.toString() + " , newState " + newState.toString());
- }
+ public void setStatus(ComponentStatus newStatus) {
+ getNodeModel().setStatus(newStatus);
}
@Override
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowNode.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowNode.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowNode.java
index e86a740..b774465 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowNode.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowNode.java
@@ -21,17 +21,27 @@
package org.apache.airavata.workflow.core.dag.nodes;
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.NodeModel;
+
public interface WorkflowNode {
+ public void setNodeModel(NodeModel nodeModel);
+
+ public NodeModel getNodeModel();
+
public String getId();
public String getName();
public NodeType getType();
- public NodeState getState();
+ public ComponentState getState();
+
+ public ComponentStatus getStatus();
- public void setState(NodeState newState);
+ public void setStatus(ComponentStatus newStatus);
public boolean isReady();
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
index b592de8..5844753 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
@@ -21,34 +21,40 @@
package org.apache.airavata.workflow.core.dag.nodes;
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.NodeModel;
import org.apache.airavata.model.application.io.OutputDataObjectType;
import org.apache.airavata.workflow.core.dag.port.InPort;
public class WorkflowOutputNodeImpl implements WorkflowOutputNode {
- private NodeState myState = NodeState.WAITING;
- private final String nodeId;
- private String nodeName;
+ private NodeModel nodeModel;
private OutputDataObjectType outputDataObjectType;
private InPort inPort;
- public WorkflowOutputNodeImpl(String nodeId) {
- this(nodeId, null);
+ public WorkflowOutputNodeImpl(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
}
- public WorkflowOutputNodeImpl(String nodeId, String nodeName) {
- this.nodeId = nodeId;
- this.nodeName = nodeName;
+ @Override
+ public void setNodeModel(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
+
+ @Override
+ public NodeModel getNodeModel() {
+ return nodeModel;
}
@Override
public String getId() {
- return this.nodeId;
+ return getNodeModel().getNodeId();
}
@Override
public String getName() {
- return this.nodeName;
+ return getNodeModel().getName();
}
@Override
@@ -57,20 +63,22 @@ public class WorkflowOutputNodeImpl implements WorkflowOutputNode {
}
@Override
- public NodeState getState() {
- return myState;
+ public ComponentState getState() {
+ return getStatus().getState();
}
@Override
- public void setState(NodeState newState) {
- if (newState.getLevel() > myState.getLevel()) {
- myState = newState;
- } else {
- throw new IllegalStateException("Node state can't be reversed. currentState : " + myState.toString() + " , newState " + newState.toString());
- }
+ public ComponentStatus getStatus() {
+ return getNodeModel().getStatus();
}
@Override
+ public void setStatus(ComponentStatus newStatus) {
+ getNodeModel().setStatus(newStatus);
+ }
+
+
+ @Override
public boolean isReady() {
return !(inPort.getInputObject() == null || inPort.getInputObject().getValue() == null
|| inPort.getInputObject().getValue().equals(""));
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/InputPortIml.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/InputPortIml.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/InputPortIml.java
index 0341dd7..3f5d036 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/InputPortIml.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/InputPortIml.java
@@ -19,6 +19,7 @@
package org.apache.airavata.workflow.core.dag.port;
+import org.apache.airavata.model.PortModel;
import org.apache.airavata.model.application.io.InputDataObjectType;
import org.apache.airavata.workflow.core.dag.edge.Edge;
import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
@@ -27,13 +28,12 @@ public class InputPortIml implements InPort {
private InputDataObjectType inputDataObjectType;
private boolean ready = false;
- private String portId;
private Edge edge;
private WorkflowNode node;
- private String defaultValue;
+ private PortModel portModel;
- public InputPortIml(String portId) {
- this.portId = portId;
+ public InputPortIml(PortModel portModel) {
+ this.portModel = portModel;
}
@Override
@@ -60,11 +60,21 @@ public class InputPortIml implements InPort {
@Override
public String getDefaultValue() {
- return defaultValue;
+ return getPortModel().getValue();
}
public void setDefaultValue(String defaultValue) {
- this.defaultValue = defaultValue;
+ getPortModel().setValue(defaultValue);
+ }
+
+ @Override
+ public void setPortModel(PortModel portModel) {
+ this.portModel = portModel;
+ }
+
+ @Override
+ public PortModel getPortModel() {
+ return portModel;
}
@Override
@@ -85,7 +95,7 @@ public class InputPortIml implements InPort {
@Override
public String getId() {
- return this.portId;
+ return getPortModel().getPortId();
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
index fd3045d..4d90308 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
@@ -21,6 +21,7 @@
package org.apache.airavata.workflow.core.dag.port;
+import org.apache.airavata.model.PortModel;
import org.apache.airavata.model.application.io.OutputDataObjectType;
import org.apache.airavata.workflow.core.dag.edge.Edge;
import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
@@ -33,11 +34,11 @@ public class OutPortImpl implements OutPort {
private OutputDataObjectType outputDataObjectType;
private List<Edge> outEdges = new ArrayList<Edge>();
private boolean isSatisfy = false;
- private String portId;
private WorkflowNode node;
+ private PortModel portModel;
- public OutPortImpl(String portId) {
- this.portId = portId;
+ public OutPortImpl(PortModel portModel) {
+ this.portModel = portModel;
}
@Override
@@ -61,6 +62,16 @@ public class OutPortImpl implements OutPort {
}
@Override
+ public void setPortModel(PortModel portModel) {
+ this.portModel = portModel;
+ }
+
+ @Override
+ public PortModel getPortModel() {
+ return portModel;
+ }
+
+ @Override
public boolean isReady() {
return this.outputDataObjectType.getValue() != null
&& !this.outputDataObjectType.getValue().equals("");
@@ -78,6 +89,6 @@ public class OutPortImpl implements OutPort {
@Override
public String getId() {
- return portId;
+ return getPortModel().getPortId();
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/Port.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/Port.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/Port.java
index e3756cf..9fda882 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/Port.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/Port.java
@@ -21,10 +21,15 @@
package org.apache.airavata.workflow.core.dag.port;
+import org.apache.airavata.model.PortModel;
import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
public interface Port {
+ public void setPortModel(PortModel portModel);
+
+ public PortModel getPortModel();
+
public boolean isReady();
public WorkflowNode getNode();
http://git-wip-us.apache.org/repos/asf/airavata/blob/9859af32/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift b/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
index 62ed885..547ac3a 100644
--- a/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
+++ b/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
@@ -83,9 +83,10 @@ struct EdgeModel {
struct PortModel {
1: required string portId = airavata_commons.DEFAULT_ID,
- 2: optional string name
+ 2: optional string name,
3: optional ComponentStatus status,
- 4: optional string description
+ 4: optional string value,
+ 5: optional string description
}
[17/50] [abbrv] airavata git commit: Added generated thrift files
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
index 3bce5f2..9812e13 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class TaskStatus implements org.apache.thrift.TBase<TaskStatus, TaskStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatus> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatus");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
index 2419efd..f137daa 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class DataStagingTaskModel implements org.apache.thrift.TBase<DataStagingTaskModel, DataStagingTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataStagingTaskModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataStagingTaskModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
index 2d7d613..5f2f962 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
* EnvironmentSetupTaskModel: A structure holding the environment creation task details
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<EnvironmentSetupTaskModel, EnvironmentSetupTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<EnvironmentSetupTaskModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EnvironmentSetupTaskModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
index 7a17687..27eaf94 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class JobSubmissionTaskModel implements org.apache.thrift.TBase<JobSubmissionTaskModel, JobSubmissionTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionTaskModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionTaskModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
index 0a0babb..f435e5b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class MonitorTaskModel implements org.apache.thrift.TBase<MonitorTaskModel, MonitorTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<MonitorTaskModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MonitorTaskModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
index 780b5af..83f7662 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* subTaskModel:
* A generic byte object for the Task developer to store internal serialized data into registry catalogs.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class TaskModel implements org.apache.thrift.TBase<TaskModel, TaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<TaskModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
index 7eb17ed..dec3a3a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class Gateway implements org.apache.thrift.TBase<Gateway, Gateway._Fields>, java.io.Serializable, Cloneable, Comparable<Gateway> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Gateway");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
index 4120651..428ee9f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class Group implements org.apache.thrift.TBase<Group, Group._Fields>, java.io.Serializable, Cloneable, Comparable<Group> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Group");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
index 245bd33..e11ddf3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class Project implements org.apache.thrift.TBase<Project, Project._Fields>, java.io.Serializable, Cloneable, Comparable<Project> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Project");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
index 7e0d98d..d709357 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
[08/50] [abbrv] airavata git commit: fixing AIRAVATA-1852
Posted by ch...@apache.org.
fixing AIRAVATA-1852
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/d527fc5a
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/d527fc5a
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/d527fc5a
Branch: refs/heads/master
Commit: d527fc5a50665802569676d65df63c4372c9c3b2
Parents: 9ce83af
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Wed Jan 20 12:05:47 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Wed Jan 20 12:05:47 2016 -0500
----------------------------------------------------------------------
.../src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java | 6 ++++++
.../org/apache/airavata/gfac/impl/task/SCPDataStageTask.java | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/d527fc5a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
index a110956..2281ebc 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
@@ -346,6 +346,11 @@ public class SSHUtils {
break;
}
}
+ if (fileSize == 0L){
+ String error = "Input file is empty...";
+ log.error(error);
+ throw new JSchException(error);
+ }
String initData = "C0644 " + fileSize + " " + fileName + "\n";
assert dout != null;
dout.write(initData.getBytes());
@@ -396,6 +401,7 @@ public class SSHUtils {
} catch (Exception e) {
log.error(e.getMessage(), e);
+ throw new JSchException(e.getMessage());
} finally {
try {
if (dout != null) dout.close();
http://git-wip-us.apache.org/repos/asf/airavata/blob/d527fc5a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index ac001ca..605b972 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -206,7 +206,7 @@ public class SCPDataStageTask implements Task {
errorModel.setUserFriendlyMessage(msg);
taskContext.getTaskModel().setTaskError(errorModel);
} catch (SSHApiException e) {
- String msg = "Failed to do scp with compute resource";
+ String msg = e.getMessage();
log.error(msg, e);
status.setState(TaskState.FAILED);
status.setReason(msg);
[11/50] [abbrv] airavata git commit: parsing job output for lonestar
Posted by ch...@apache.org.
parsing job output for lonestar
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/e2b29512
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/e2b29512
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/e2b29512
Branch: refs/heads/master
Commit: e2b2951271f42011ce2ae8af232a15de9e53c3dd
Parents: 462843a
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Jan 25 15:09:07 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Jan 25 15:09:07 2016 -0500
----------------------------------------------------------------------
.../java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/e2b29512/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
index f19d4f7..e5249e0 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
@@ -137,7 +137,9 @@ public class UGEOutputParser implements OutputParser {
@Override
public boolean isJobSubmissionFailed(String rawOutput) {
- return false;
+ Pattern pattern = Pattern.compile("Rejecting");
+ Matcher matcher = pattern.matcher(rawOutput);
+ return matcher.find();
}
public JobStatus parseJobStatus(String jobID, String rawOutput) {
[35/50] [abbrv] airavata git commit: adding starting scripts to
workflow catalog
Posted by ch...@apache.org.
adding starting scripts to workflow catalog
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/d2501c33
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/d2501c33
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/d2501c33
Branch: refs/heads/master
Commit: d2501c332826cebf3b972cbc499b10e1743f53ff
Parents: d1bb382
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Thu Feb 4 13:41:18 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Thu Feb 4 13:41:18 2016 -0500
----------------------------------------------------------------------
.../airavata/api/server/AiravataAPIServer.java | 3 +
.../server/handler/AiravataServerHandler.java | 14 +-
.../server/util/WorkflowCatalogInitUtil.java | 162 +++++++++++++++++++
.../catalog/impl/WorkflowCatalogImpl.java | 20 +++
.../src/main/resources/workflow-derby.sql | 128 ---------------
.../src/main/resources/workflow-mysql.sql | 128 ---------------
.../main/resources/workflowcatalog-derby.sql | 128 +++++++++++++++
.../main/resources/workflowcatalog-mysql.sql | 128 +++++++++++++++
.../airavata/registry/cpi/WorkflowCatalog.java | 2 +
.../workflow-models/workflow_data_model.thrift | 9 +-
10 files changed, 456 insertions(+), 266 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/d2501c33/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
index d4eee2c..09d4c3f 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
@@ -33,11 +33,13 @@ import org.apache.airavata.api.server.security.interceptor.SecurityModule;
import org.apache.airavata.api.server.util.AppCatalogInitUtil;
import org.apache.airavata.api.server.util.Constants;
import org.apache.airavata.api.server.util.RegistryInitUtil;
+import org.apache.airavata.api.server.util.WorkflowCatalogInitUtil;
import org.apache.airavata.common.exception.ApplicationSettingsException;
import org.apache.airavata.common.utils.IServer;
import org.apache.airavata.common.utils.ServerSettings;
import org.apache.airavata.model.error.AiravataErrorType;
import org.apache.airavata.model.error.AiravataSystemException;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogUtils;
import org.apache.airavata.security.AiravataSecurityException;
import org.apache.thrift.server.TServer;
import org.apache.thrift.server.TThreadPoolServer;
@@ -68,6 +70,7 @@ public class AiravataAPIServer implements IServer{
try {
RegistryInitUtil.initializeDB();
AppCatalogInitUtil.initializeDB();
+ WorkflowCatalogInitUtil.initializeDB();
final String serverHost = ServerSettings.getSetting(Constants.API_SERVER_HOST, null);
if (!ServerSettings.isTLSEnabled()) {
final int serverPort = Integer.parseInt(ServerSettings.getSetting(Constants.API_SERVER_PORT, "8930"));
http://git-wip-us.apache.org/repos/asf/airavata/blob/d2501c33/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index c8de2b7..78e39d2 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -4147,7 +4147,7 @@ public class AiravataServerHandler implements Airavata.Iface {
}
try {
return getWorkflowCatalog().getAllWorkflows(gatewayId);
- } catch (AppCatalogException e) {
+ } catch (WorkflowCatalogException e) {
String msg = "Error in retrieving all workflow template Ids.";
logger.error(msg, e);
AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -4162,7 +4162,7 @@ public class AiravataServerHandler implements Airavata.Iface {
throws InvalidRequestException, AiravataClientException, AuthorizationException, AiravataSystemException, TException {
try {
return getWorkflowCatalog().getWorkflow(workflowTemplateId);
- } catch (AppCatalogException e) {
+ } catch (WorkflowCatalogException e) {
String msg = "Error in retrieving the workflow "+workflowTemplateId+".";
logger.error(msg, e);
AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -4177,7 +4177,7 @@ public class AiravataServerHandler implements Airavata.Iface {
throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
try {
getWorkflowCatalog().deleteWorkflow(workflowTemplateId);
- } catch (AppCatalogException e) {
+ } catch (WorkflowCatalogException e) {
String msg = "Error in deleting the workflow "+workflowTemplateId+".";
logger.error(msg, e);
AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -4196,7 +4196,7 @@ public class AiravataServerHandler implements Airavata.Iface {
}
try {
return getWorkflowCatalog().registerWorkflow(workflow, gatewayId);
- } catch (AppCatalogException e) {
+ } catch (WorkflowCatalogException e) {
String msg = "Error in registering the workflow "+workflow.getName()+".";
logger.error(msg, e);
AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -4211,7 +4211,7 @@ public class AiravataServerHandler implements Airavata.Iface {
throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
try {
getWorkflowCatalog().updateWorkflow(workflowTemplateId, workflow);
- } catch (AppCatalogException e) {
+ } catch (WorkflowCatalogException e) {
String msg = "Error in updating the workflow "+workflow.getName()+".";
logger.error(msg, e);
AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -4226,7 +4226,7 @@ public class AiravataServerHandler implements Airavata.Iface {
throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
try {
return getWorkflowCatalog().getWorkflowTemplateId(workflowName);
- } catch (AppCatalogException e) {
+ } catch (WorkflowCatalogException e) {
String msg = "Error in retrieving the workflow template id for "+workflowName+".";
logger.error(msg, e);
AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -4241,7 +4241,7 @@ public class AiravataServerHandler implements Airavata.Iface {
throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
try {
return getWorkflowCatalog().isWorkflowExistWithName(workflowName);
- } catch (AppCatalogException e) {
+ } catch (WorkflowCatalogException e) {
String msg = "Error in veriying the workflow for workflow name "+workflowName+".";
logger.error(msg, e);
AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
http://git-wip-us.apache.org/repos/asf/airavata/blob/d2501c33/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/WorkflowCatalogInitUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/WorkflowCatalogInitUtil.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/WorkflowCatalogInitUtil.java
new file mode 100644
index 0000000..2a8b75b
--- /dev/null
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/WorkflowCatalogInitUtil.java
@@ -0,0 +1,162 @@
+/*
+*
+* 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.api.server.util;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.registry.core.app.catalog.resources.GatewayProfileResource;
+import org.apache.derby.drda.NetworkServerControl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.URI;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+public class WorkflowCatalogInitUtil {
+ private static final Logger logger = LoggerFactory.getLogger(WorkflowCatalogInitUtil.class);
+ public static final String WORKFLOW = "WORKFLOW";
+ public static final String WORKFLOWCATALOG_JDBC_DRIVER = "workflowcatalog.jdbc.driver";
+ public static final String WORKFLOWCATALOG_JDBC_URL = "workflowcatalog.jdbc.url";
+ public static final String WORKFLOWCATALOG_JDBC_USER = "workflowcatalog.jdbc.user";
+ public static final String WORKFLOWCATALOG_JDBC_PASSWORD = "workflowcatalog.jdbc.password";
+ public static final String START_DERBY_ENABLE = "start.derby.server.mode";
+ public static final String DERBY_SERVER_MODE_SYS_PROPERTY = "derby.drda.startNetworkServer";
+ private static NetworkServerControl server;
+ private static JdbcStorage db;
+ private static String jdbcURl;
+ private static String jdbcDriver;
+ private static String jdbcUser;
+ private static String jdbcPassword;
+
+
+ public static void initializeDB() {
+// System.setProperty("appcatalog.initialize.state", "0");
+ try{
+ jdbcDriver = ServerSettings.getSetting(WORKFLOWCATALOG_JDBC_DRIVER);
+ jdbcURl = ServerSettings.getSetting(WORKFLOWCATALOG_JDBC_URL);
+ jdbcUser = ServerSettings.getSetting(WORKFLOWCATALOG_JDBC_USER);
+ jdbcPassword = ServerSettings.getSetting(WORKFLOWCATALOG_JDBC_PASSWORD);
+ jdbcURl = jdbcURl + "?" + "user=" + jdbcUser + "&" + "password=" + jdbcPassword;
+ } catch (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata server properties", e.getMessage());
+ }
+
+ if (getDBType(jdbcURl).equals("derby") && isDerbyStartEnabled()) {
+ startDerbyInServerMode();
+ }
+ db = new JdbcStorage(10, 50, jdbcURl, jdbcDriver, true);
+
+ Connection conn = null;
+ try {
+ conn = db.connect();
+ if (!DatabaseCreator.isDatabaseStructureCreated(WORKFLOW, conn)) {
+ DatabaseCreator.createRegistryDatabase("database_scripts/workflowcatalog", conn);
+ logger.info("New Database created for Workflow Catalog");
+ } else {
+ logger.info("Database already created for Workflow Catalog!");
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException("Database failure", e);
+ } finally {
+ db.closeConnection(conn);
+ try {
+ if(conn != null){
+ if (!conn.getAutoCommit()) {
+ conn.commit();
+ }
+ conn.close();
+ }
+ } catch (SQLException e) {
+ logger.error("Error while closing database connection...", e.getMessage(), e);
+ }
+ }
+// System.setProperty("appcatalog.initialize.state", "1");
+ }
+
+ public static String getDBType(String jdbcUrl){
+ try{
+ String cleanURI = jdbcUrl.substring(5);
+ URI uri = URI.create(cleanURI);
+ return uri.getScheme();
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ return null;
+ }
+ }
+
+ public static boolean isDerbyStartEnabled(){
+ try {
+ String s = ServerSettings.getSetting(START_DERBY_ENABLE);
+ if("true".equals(s)){
+ return true;
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error("Unable to read airavata server properties", e.getMessage(), e);
+ return false;
+ }
+ return false;
+ }
+
+ public static void startDerbyInServerMode() {
+ try {
+ System.setProperty(DERBY_SERVER_MODE_SYS_PROPERTY, "true");
+ server = new NetworkServerControl(InetAddress.getByName("0.0.0.0"),
+ getPort(jdbcURl),
+ jdbcUser, jdbcPassword);
+ java.io.PrintWriter consoleWriter = new java.io.PrintWriter(System.out, true);
+ server.start(consoleWriter);
+ } catch (IOException e) {
+ logger.error("Unable to start Apache derby in the server mode! Check whether " +
+ "specified port is available");
+ } catch (Exception e) {
+ logger.error("Unable to start Apache derby in the server mode! Check whether " +
+ "specified port is available");
+ }
+ }
+
+ public static void stopDerbyInServerMode() {
+ System.setProperty(DERBY_SERVER_MODE_SYS_PROPERTY, "false");
+ if (server!=null){
+ try {
+ server.shutdown();
+ } catch (Exception e) {
+ logger.error("Error when stopping the derby server : "+e.getLocalizedMessage());
+ }
+ }
+ }
+
+ public static int getPort(String jdbcURL){
+ try{
+ String cleanURI = jdbcURL.substring(5);
+ URI uri = URI.create(cleanURI);
+ return uri.getPort();
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ return -1;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/d2501c33/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
index 8c0ced4..e5e1d0c 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/impl/WorkflowCatalogImpl.java
@@ -115,6 +115,12 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
outputResource.setOutputVal(output.getValue());
outputResource.setWfTemplateId(resource.getWfTemplateId());
outputResource.setDataType(output.getType().toString());
+ outputResource.setAppArgument(output.getApplicationArgument());
+ outputResource.setDataNameLocation(output.getLocation());
+ outputResource.setRequired(output.isIsRequired());
+ outputResource.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
+ outputResource.setOutputStreaming(output.isOutputStreaming());
+ outputResource.setDataMovement(output.isDataMovement());
outputResource.save();
}
}
@@ -169,6 +175,13 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
existingOutput.setOutputVal(output.getValue());
existingOutput.setWfTemplateId(existingWF.getWfTemplateId());
existingOutput.setDataType(output.getType().toString());
+ existingOutput.setDataType(output.getType().toString());
+ existingOutput.setAppArgument(output.getApplicationArgument());
+ existingOutput.setDataNameLocation(output.getLocation());
+ existingOutput.setRequired(output.isIsRequired());
+ existingOutput.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
+ existingOutput.setOutputStreaming(output.isOutputStreaming());
+ existingOutput.setDataMovement(output.isDataMovement());
existingOutput.save();
}
}
@@ -225,6 +238,13 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
existingOutput.setOutputVal(output.getValue());
existingOutput.setWfTemplateId(existingWF.getWfTemplateId());
existingOutput.setDataType(output.getType().toString());
+ existingOutput.setDataType(output.getType().toString());
+ existingOutput.setAppArgument(output.getApplicationArgument());
+ existingOutput.setDataNameLocation(output.getLocation());
+ existingOutput.setRequired(output.isIsRequired());
+ existingOutput.setRequiredToCMD(output.isRequiredToAddedToCommandLine());
+ existingOutput.setOutputStreaming(output.isOutputStreaming());
+ existingOutput.setDataMovement(output.isDataMovement());
existingOutput.save();
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/d2501c33/modules/registry/registry-core/src/main/resources/workflow-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflow-derby.sql b/modules/registry/registry-core/src/main/resources/workflow-derby.sql
deleted file mode 100644
index 8c590f8..0000000
--- a/modules/registry/registry-core/src/main/resources/workflow-derby.sql
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-CREATE TABLE WORKFLOW
-(
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- WORKFLOW_NAME VARCHAR (255) NOT NULL,
- CREATED_USER VARCHAR (255),
- GATEWAY_ID VARCHAR (255),
- GRAPH CLOB,
- IMAGE BLOB,
- CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (TEMPLATE_ID)
-);
-
-CREATE TABLE WORKFLOW_INPUT
-(
- TEMPLATE_ID VARCHAR(255),
- INPUT_KEY VARCHAR(255),
- INPUT_VALUE CLOB,
- DATA_TYPE VARCHAR(255),
- METADATA VARCHAR(255),
- APP_ARGUMENT VARCHAR(255),
- STANDARD_INPUT SMALLINT,
- USER_FRIENDLY_DESC VARCHAR(255),
- INPUT_ORDER INTEGER,
- IS_REQUIRED SMALLINT,
- REQUIRED_TO_COMMANDLINE SMALLINT,
- DATA_STAGED SMALLINT,
- PRIMARY KEY(TEMPLATE_ID,INPUT_KEY),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_OUTPUT
-(
- TEMPLATE_ID VARCHAR(255),
- OUTPUT_KEY VARCHAR(255),
- OUTPUT_VALUE VARCHAR(255),
- DATA_TYPE VARCHAR(255),
- IS_REQUIRED SMALLINT,
- REQUIRED_TO_COMMANDLINE SMALLINT,
- DATA_MOVEMENT SMALLINT,
- DATA_NAME_LOCATION VARCHAR(255),
- SEARCH_QUERY VARCHAR(255),
- APP_ARGUMENT VARCHAR(255),
- OUTPUT_STREAMING SMALLINT,
- PRIMARY KEY(TEMPLATE_ID,OUTPUT_KEY),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPONENT_STATUS
-(
- STATUS_ID VARCHAR (255) NOT NULL,
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- STATE VARCHAR(255),
- REASON VARCHAR(255),
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (STATUS_ID)
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_STATUS
-(
- STATUS_ID VARCHAR (255) NOT NULL,
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- STATE VARCHAR(255),
- REASON VARCHAR(255),
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE EDGE
-(
- EDGE_ID VARCHAR (255) NOT NULL,
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- NAME VARCHAR (255),
- COMPONENT_STATUS_ID VARCHAR(255),
- DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PORT
-(
- PORT_ID VARCHAR (255) NOT NULL,
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- NAME VARCHAR (255),
- COMPONENT_STATUS_ID VARCHAR(255),
- DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (PORT_ID, TEMPLATE_ID),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE NODE
-(
- NODE_ID VARCHAR (255) NOT NULL,
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- NAME VARCHAR (255),
- APPLICATION_ID VARCHAR (255),
- APPLICATION_NAME VARCHAR (255),
- COMPONENT_STATUS_ID VARCHAR(255),
- DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (NODE_ID, TEMPLATE_ID),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/d2501c33/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflow-mysql.sql b/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
deleted file mode 100644
index 3527d60..0000000
--- a/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-CREATE TABLE WORKFLOW
-(
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- WORKFLOW_NAME VARCHAR (255) NOT NULL,
- CREATED_USER VARCHAR (255),
- GATEWAY_ID VARCHAR (255),
- GRAPH LONGTEXT,
- IMAGE BLOB,
- CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (TEMPLATE_ID)
-);
-
-CREATE TABLE WORKFLOW_INPUT
-(
- TEMPLATE_ID VARCHAR(255),
- INPUT_KEY VARCHAR(255),
- INPUT_VALUE VARCHAR(255),
- DATA_TYPE VARCHAR(255),
- METADATA VARCHAR(255),
- APP_ARGUMENT VARCHAR(255),
- STANDARD_INPUT SMALLINT,
- USER_FRIENDLY_DESC VARCHAR(255),
- INPUT_ORDER INTEGER,
- IS_REQUIRED SMALLINT,
- REQUIRED_TO_COMMANDLINE SMALLINT,
- DATA_STAGED SMALLINT,
- PRIMARY KEY(TEMPLATE_ID,INPUT_KEY),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_OUTPUT
-(
- TEMPLATE_ID VARCHAR(255),
- OUTPUT_KEY VARCHAR(255),
- OUTPUT_VALUE LONGTEXT,
- DATA_TYPE VARCHAR(255),
- IS_REQUIRED SMALLINT,
- REQUIRED_TO_COMMANDLINE SMALLINT,
- DATA_MOVEMENT SMALLINT,
- DATA_NAME_LOCATION VARCHAR(255),
- SEARCH_QUERY VARCHAR(255),
- APP_ARGUMENT VARCHAR(255),
- OUTPUT_STREAMING SMALLINT,
- PRIMARY KEY(TEMPLATE_ID,OUTPUT_KEY),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPONENT_STATUS
-(
- STATUS_ID VARCHAR (255) NOT NULL,
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- STATE VARCHAR(255),
- REASON VARCHAR(255),
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (STATUS_ID)
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_STATUS
-(
- STATUS_ID VARCHAR (255) NOT NULL,
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- STATE VARCHAR(255),
- REASON VARCHAR(255),
- UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE EDGE
-(
- EDGE_ID VARCHAR (255) NOT NULL,
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- NAME VARCHAR (255),
- COMPONENT_STATUS_ID VARCHAR(255),
- DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PORT
-(
- PORT_ID VARCHAR (255) NOT NULL,
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- NAME VARCHAR (255),
- COMPONENT_STATUS_ID VARCHAR(255),
- DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (PORT_ID, TEMPLATE_ID),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE NODE
-(
- NODE_ID VARCHAR (255) NOT NULL,
- TEMPLATE_ID VARCHAR (255) NOT NULL,
- NAME VARCHAR (255),
- APPLICATION_ID VARCHAR (255),
- APPLICATION_NAME VARCHAR (255),
- COMPONENT_STATUS_ID VARCHAR(255),
- DESCRIPTION VARCHAR(500),
- CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (NODE_ID, TEMPLATE_ID),
- FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/d2501c33/modules/registry/registry-core/src/main/resources/workflowcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflowcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/workflowcatalog-derby.sql
new file mode 100644
index 0000000..8c590f8
--- /dev/null
+++ b/modules/registry/registry-core/src/main/resources/workflowcatalog-derby.sql
@@ -0,0 +1,128 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+CREATE TABLE WORKFLOW
+(
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ WORKFLOW_NAME VARCHAR (255) NOT NULL,
+ CREATED_USER VARCHAR (255),
+ GATEWAY_ID VARCHAR (255),
+ GRAPH CLOB,
+ IMAGE BLOB,
+ CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (TEMPLATE_ID)
+);
+
+CREATE TABLE WORKFLOW_INPUT
+(
+ TEMPLATE_ID VARCHAR(255),
+ INPUT_KEY VARCHAR(255),
+ INPUT_VALUE CLOB,
+ DATA_TYPE VARCHAR(255),
+ METADATA VARCHAR(255),
+ APP_ARGUMENT VARCHAR(255),
+ STANDARD_INPUT SMALLINT,
+ USER_FRIENDLY_DESC VARCHAR(255),
+ INPUT_ORDER INTEGER,
+ IS_REQUIRED SMALLINT,
+ REQUIRED_TO_COMMANDLINE SMALLINT,
+ DATA_STAGED SMALLINT,
+ PRIMARY KEY(TEMPLATE_ID,INPUT_KEY),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE WORKFLOW_OUTPUT
+(
+ TEMPLATE_ID VARCHAR(255),
+ OUTPUT_KEY VARCHAR(255),
+ OUTPUT_VALUE VARCHAR(255),
+ DATA_TYPE VARCHAR(255),
+ IS_REQUIRED SMALLINT,
+ REQUIRED_TO_COMMANDLINE SMALLINT,
+ DATA_MOVEMENT SMALLINT,
+ DATA_NAME_LOCATION VARCHAR(255),
+ SEARCH_QUERY VARCHAR(255),
+ APP_ARGUMENT VARCHAR(255),
+ OUTPUT_STREAMING SMALLINT,
+ PRIMARY KEY(TEMPLATE_ID,OUTPUT_KEY),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE COMPONENT_STATUS
+(
+ STATUS_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ STATE VARCHAR(255),
+ REASON VARCHAR(255),
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (STATUS_ID)
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE WORKFLOW_STATUS
+(
+ STATUS_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ STATE VARCHAR(255),
+ REASON VARCHAR(255),
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE EDGE
+(
+ EDGE_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE PORT
+(
+ PORT_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (PORT_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE NODE
+(
+ NODE_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ APPLICATION_ID VARCHAR (255),
+ APPLICATION_NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (NODE_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/d2501c33/modules/registry/registry-core/src/main/resources/workflowcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflowcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/workflowcatalog-mysql.sql
new file mode 100644
index 0000000..3527d60
--- /dev/null
+++ b/modules/registry/registry-core/src/main/resources/workflowcatalog-mysql.sql
@@ -0,0 +1,128 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+CREATE TABLE WORKFLOW
+(
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ WORKFLOW_NAME VARCHAR (255) NOT NULL,
+ CREATED_USER VARCHAR (255),
+ GATEWAY_ID VARCHAR (255),
+ GRAPH LONGTEXT,
+ IMAGE BLOB,
+ CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (TEMPLATE_ID)
+);
+
+CREATE TABLE WORKFLOW_INPUT
+(
+ TEMPLATE_ID VARCHAR(255),
+ INPUT_KEY VARCHAR(255),
+ INPUT_VALUE VARCHAR(255),
+ DATA_TYPE VARCHAR(255),
+ METADATA VARCHAR(255),
+ APP_ARGUMENT VARCHAR(255),
+ STANDARD_INPUT SMALLINT,
+ USER_FRIENDLY_DESC VARCHAR(255),
+ INPUT_ORDER INTEGER,
+ IS_REQUIRED SMALLINT,
+ REQUIRED_TO_COMMANDLINE SMALLINT,
+ DATA_STAGED SMALLINT,
+ PRIMARY KEY(TEMPLATE_ID,INPUT_KEY),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE WORKFLOW_OUTPUT
+(
+ TEMPLATE_ID VARCHAR(255),
+ OUTPUT_KEY VARCHAR(255),
+ OUTPUT_VALUE LONGTEXT,
+ DATA_TYPE VARCHAR(255),
+ IS_REQUIRED SMALLINT,
+ REQUIRED_TO_COMMANDLINE SMALLINT,
+ DATA_MOVEMENT SMALLINT,
+ DATA_NAME_LOCATION VARCHAR(255),
+ SEARCH_QUERY VARCHAR(255),
+ APP_ARGUMENT VARCHAR(255),
+ OUTPUT_STREAMING SMALLINT,
+ PRIMARY KEY(TEMPLATE_ID,OUTPUT_KEY),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE COMPONENT_STATUS
+(
+ STATUS_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ STATE VARCHAR(255),
+ REASON VARCHAR(255),
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (STATUS_ID)
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE WORKFLOW_STATUS
+(
+ STATUS_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ STATE VARCHAR(255),
+ REASON VARCHAR(255),
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE EDGE
+(
+ EDGE_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE PORT
+(
+ PORT_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (PORT_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE NODE
+(
+ NODE_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ APPLICATION_ID VARCHAR (255),
+ APPLICATION_NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (NODE_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/d2501c33/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
index 34c8ff6..ae7f839 100644
--- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
@@ -43,4 +43,6 @@ public interface WorkflowCatalog {
public boolean isWorkflowExistWithName(String workflowName) throws WorkflowCatalogException;
public void updateWorkflowOutputs(String workflowTemplateId, List<OutputDataObjectType> workflowOutputs) throws WorkflowCatalogException;
+
+
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/d2501c33/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift b/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
index 547ac3a..f688e67 100644
--- a/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
+++ b/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
@@ -37,9 +37,12 @@ struct WorkflowModel {
1: required string templateId = airavata_commons.DEFAULT_ID,
2: required string name,
3: required string graph,
- 4: optional binary image,
- 5: optional list<application_io_models.InputDataObjectType> workflowInputs,
- 6: optional list<application_io_models.OutputDataObjectType> workflowOutputs
+ 4: required string gatewayId,
+ 5: required string createdUser,
+ 6: optional binary image,
+ 7: optional list<application_io_models.InputDataObjectType> workflowInputs,
+ 8: optional list<application_io_models.OutputDataObjectType> workflowOutputs,
+ 9: optional i64 creationTime,
}
enum WorkflowState {
[30/50] [abbrv] airavata git commit: adding workflow related resource
layer
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowInput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowInput.java
new file mode 100644
index 0000000..c9a319a
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowInput.java
@@ -0,0 +1,167 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "WORKFLOW_INPUT")
+@IdClass(WorkflowInput_PK.class)
+public class WorkflowInput implements Serializable {
+ @Id
+ @Column(name = "TEMPLATE_ID")
+ private String templateID;
+ @Id
+ @Column(name = "INPUT_KEY")
+ private String inputKey;
+ @Lob
+ @Column(name = "INPUT_VALUE")
+ private char[] inputVal;
+ @Column(name = "DATA_TYPE")
+ private String dataType;
+ @Column(name = "METADATA")
+ private String metadata;
+ @Column(name = "APP_ARGUMENT")
+ private String appArgument;
+ @Column(name = "USER_FRIENDLY_DESC")
+ private String userFriendlyDesc;
+ @Column(name = "STANDARD_INPUT")
+ private boolean standardInput;
+ @Column(name="INPUT_ORDER")
+ private int inputOrder;
+ @Column(name="IS_REQUIRED")
+ private boolean isRequired;
+ @Column(name="REQUIRED_TO_COMMANDLINE")
+ private boolean requiredToCMD;
+ @Column(name = "DATA_STAGED")
+ private boolean dataStaged;
+
+ @ManyToOne(cascade= CascadeType.MERGE)
+ @JoinColumn(name = "TEMPLATE_ID")
+ private Workflow workflow;
+
+ public String getTemplateID() {
+ return templateID;
+ }
+
+ public void setTemplateID(String templateID) {
+ this.templateID = templateID;
+ }
+
+ public String getInputKey() {
+ return inputKey;
+ }
+
+ public void setInputKey(String inputKey) {
+ this.inputKey = inputKey;
+ }
+
+ public char[] getInputVal() {
+ return inputVal;
+ }
+
+ public void setInputVal(char[] inputVal) {
+ this.inputVal = inputVal;
+ }
+
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ public String getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(String metadata) {
+ this.metadata = metadata;
+ }
+
+ public String getAppArgument() {
+ return appArgument;
+ }
+
+ public void setAppArgument(String appArgument) {
+ this.appArgument = appArgument;
+ }
+
+ public String getUserFriendlyDesc() {
+ return userFriendlyDesc;
+ }
+
+ public void setUserFriendlyDesc(String userFriendlyDesc) {
+ this.userFriendlyDesc = userFriendlyDesc;
+ }
+
+ public Workflow getWorkflow() {
+ return workflow;
+ }
+
+ public void setWorkflow(Workflow workflow) {
+ this.workflow = workflow;
+ }
+
+ public boolean isStandardInput() {
+ return standardInput;
+ }
+
+ public void setStandardInput(boolean standardInput) {
+ this.standardInput = standardInput;
+ }
+
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
+ }
+
+ public boolean isRequired() {
+ return isRequired;
+ }
+
+ public void setRequired(boolean isRequired) {
+ this.isRequired = isRequired;
+ }
+
+ public boolean isRequiredToCMD() {
+ return requiredToCMD;
+ }
+
+ public void setRequiredToCMD(boolean requiredToCMD) {
+ this.requiredToCMD = requiredToCMD;
+ }
+
+ public boolean isDataStaged() {
+ return dataStaged;
+ }
+
+ public void setDataStaged(boolean dataStaged) {
+ this.dataStaged = dataStaged;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowIntInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowIntInput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowIntInput.java
deleted file mode 100644
index c8d4952..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowIntInput.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- *
- * 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.registry.core.workflow.catalog.model;
-
-
-import javax.persistence.*;
-import java.io.Serializable;
-
-@Entity
-@Table(name = "WORKFLOW_INPUT")
-@IdClass(WorkflowInput_PK.class)
-public class WorkflowIntInput implements Serializable {
- @Id
- @Column(name = "INTERFACE_ID")
- private String templateID;
- @Id
- @Column(name = "INPUT_KEY")
- private String inputKey;
- @Column(name = "INPUT_VALUE")
- private String inputVal;
- @Column(name = "DATA_TYPE")
- private String dataType;
- @Column(name = "METADATA")
- private String metadata;
- @Column(name = "APP_ARGUMENT")
- private String appArgument;
- @Column(name = "USER_FRIENDLY_DESC")
- private String userFriendlyDesc;
- @Column(name = "STANDARD_INPUT")
- private boolean standardInput;
- @Column(name="INPUT_ORDER")
- private int inputOrder;
- @Column(name="IS_REQUIRED")
- private boolean isRequired;
- @Column(name="REQUIRED_TO_COMMANDLINE")
- private boolean requiredToCMD;
- @Column(name = "DATA_STAGED")
- private boolean dataStaged;
-
- @ManyToOne(cascade= CascadeType.MERGE)
- @JoinColumn(name = "TEMPLATE_ID")
- private Workflow workflow;
-
- public String getTemplateID() {
- return templateID;
- }
-
- public void setTemplateID(String templateID) {
- this.templateID = templateID;
- }
-
- public String getInputKey() {
- return inputKey;
- }
-
- public void setInputKey(String inputKey) {
- this.inputKey = inputKey;
- }
-
- public String getInputVal() {
- return inputVal;
- }
-
- public void setInputVal(String inputVal) {
- this.inputVal = inputVal;
- }
-
- public String getDataType() {
- return dataType;
- }
-
- public void setDataType(String dataType) {
- this.dataType = dataType;
- }
-
- public String getMetadata() {
- return metadata;
- }
-
- public void setMetadata(String metadata) {
- this.metadata = metadata;
- }
-
- public String getAppArgument() {
- return appArgument;
- }
-
- public void setAppArgument(String appArgument) {
- this.appArgument = appArgument;
- }
-
- public String getUserFriendlyDesc() {
- return userFriendlyDesc;
- }
-
- public void setUserFriendlyDesc(String userFriendlyDesc) {
- this.userFriendlyDesc = userFriendlyDesc;
- }
-
- public Workflow getWorkflow() {
- return workflow;
- }
-
- public void setWorkflow(Workflow workflow) {
- this.workflow = workflow;
- }
-
- public boolean isStandardInput() {
- return standardInput;
- }
-
- public void setStandardInput(boolean standardInput) {
- this.standardInput = standardInput;
- }
-
- public int getInputOrder() {
- return inputOrder;
- }
-
- public void setInputOrder(int inputOrder) {
- this.inputOrder = inputOrder;
- }
-
- public boolean isRequired() {
- return isRequired;
- }
-
- public void setRequired(boolean isRequired) {
- this.isRequired = isRequired;
- }
-
- public boolean isRequiredToCMD() {
- return requiredToCMD;
- }
-
- public void setRequiredToCMD(boolean requiredToCMD) {
- this.requiredToCMD = requiredToCMD;
- }
-
- public boolean isDataStaged() {
- return dataStaged;
- }
-
- public void setDataStaged(boolean dataStaged) {
- this.dataStaged = dataStaged;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput.java
index 2131557..4a79ce8 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput.java
@@ -35,8 +35,9 @@ public class WorkflowOutput implements Serializable {
@Id
@Column(name = "OUTPUT_KEY")
private String outputKey;
+ @Lob
@Column(name = "OUTPUT_VALUE")
- private String outputVal;
+ private char[] outputVal;
@Column(name = "DATA_TYPE")
private String dataType;
@Column(name = "IS_REQUIRED")
@@ -90,11 +91,11 @@ public class WorkflowOutput implements Serializable {
this.outputKey = outputKey;
}
- public String getOutputVal() {
+ public char[] getOutputVal() {
return outputVal;
}
- public void setOutputVal(String outputVal) {
+ public void setOutputVal(char[] outputVal) {
this.outputVal = outputVal;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/ComponentStatusResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/ComponentStatusResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/ComponentStatusResource.java
new file mode 100644
index 0000000..f6d2ce6
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/ComponentStatusResource.java
@@ -0,0 +1,340 @@
+/**
+ * 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.registry.core.workflow.catalog.resources;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.registry.core.workflow.catalog.model.ComponentStatus;
+import org.apache.airavata.registry.core.workflow.catalog.model.Workflow;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogJPAUtils;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogQueryGenerator;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogResourceType;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ComponentStatusResource extends WorkflowCatAbstractResource {
+ private final static Logger logger = LoggerFactory.getLogger(ComponentStatusResource.class);
+
+ private String statusId;
+ private String state;
+ private String reason;
+ private String templateId;
+ private Timestamp updatedTime;
+
+ public void remove(Object identifier) throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(COMPONENT_STATUS);
+ generator.setParameter(ComponentStatusConstants.STATUS_ID, identifier.toString());
+ Query q = generator.deleteQuery(em);
+ q.executeUpdate();
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public WorkflowCatalogResource get(Object identifier) throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(COMPONENT_STATUS);
+ generator.setParameter(ComponentStatusConstants.STATUS_ID, identifier.toString());
+ Query q = generator.selectQuery(em);
+ ComponentStatus status = (ComponentStatus) q.getSingleResult();
+ ComponentStatusResource statusResource =
+ (ComponentStatusResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.COMPONENT_STATUS
+ , status);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return statusResource;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public List<WorkflowCatalogResource> get(String fieldName, Object value) throws WorkflowCatalogException {
+ List<WorkflowCatalogResource> statusResources = new ArrayList<WorkflowCatalogResource>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(COMPONENT_STATUS);
+ List results;
+ if (fieldName.equals(ComponentStatusConstants.TEMPLATE_ID)) {
+ generator.setParameter(ComponentStatusConstants.TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ ComponentStatus componentStatus = (ComponentStatus) result;
+ ComponentStatusResource statusResource =
+ (ComponentStatusResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.COMPONENT_STATUS, componentStatus);
+ statusResources.add(statusResource);
+ }
+ }
+ }else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Component status Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Component status Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return statusResources;
+ }
+
+ public List<WorkflowCatalogResource> getAll() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getAllIds() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getIds(String fieldName, Object value) throws WorkflowCatalogException {
+ List<String> statusResourceIds = new ArrayList<String>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(COMPONENT_STATUS);
+ List results;
+ if (fieldName.equals(ComponentStatusConstants.TEMPLATE_ID)) {
+ generator.setParameter(ComponentStatusConstants.TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ ComponentStatus componentStatus = (ComponentStatus) result;
+ statusResourceIds.add(componentStatus.getTemplateId());
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Component Status resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Component Status Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return statusResourceIds;
+ }
+
+ public void save() throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ ComponentStatus existingStatus = em.find(ComponentStatus.class,statusId);
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ if (existingStatus != null) {
+ existingStatus.setTemplateId(templateId);
+ Workflow workflow = em.find(Workflow.class, templateId);
+ existingStatus.setWorkflow(workflow);
+ existingStatus.setReason(reason);
+ existingStatus.setState(state);
+ existingStatus.setUpdateTime(AiravataUtils.getCurrentTimestamp());
+ em.merge(existingStatus);
+ } else {
+ ComponentStatus status = new ComponentStatus();
+ status.setTemplateId(templateId);
+ Workflow workflow = em.find(Workflow.class, templateId);
+ status.setWorkflow(workflow);
+ status.setReason(reason);
+ status.setState(state);
+ status.setUpdateTime(AiravataUtils.getCurrentTimestamp());
+ em.persist(status);
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public boolean isExists(Object identifier) throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ ComponentStatus status = em.find(ComponentStatus.class, identifier.toString());
+
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return status != null;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public String getStatusId() {
+ return statusId;
+ }
+
+ public void setStatusId(String statusId) {
+ this.statusId = statusId;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getReason() {
+ return reason;
+ }
+
+ public void setReason(String reason) {
+ this.reason = reason;
+ }
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/EdgeResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/EdgeResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/EdgeResource.java
new file mode 100644
index 0000000..1613943
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/EdgeResource.java
@@ -0,0 +1,380 @@
+/**
+ * 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.registry.core.workflow.catalog.resources;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.registry.core.workflow.catalog.model.Workflow;
+import org.apache.airavata.registry.core.workflow.catalog.model.Edge;
+import org.apache.airavata.registry.core.workflow.catalog.model.Edge_PK;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogJPAUtils;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogQueryGenerator;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogResourceType;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class EdgeResource extends WorkflowCatAbstractResource {
+ private final static Logger logger = LoggerFactory.getLogger(EdgeResource.class);
+
+ private String edgeId;
+ private String name;
+ private String statusId;
+ private String templateId;
+ private Timestamp createdTime;
+ private String description;
+
+ public void remove(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(EDGE);
+ generator.setParameter(EdgeConstants.EDGE_ID, ids.get(EdgeConstants.EDGE_ID));
+ generator.setParameter(EdgeConstants.TEMPLATE_ID, ids.get(EdgeConstants.TEMPLATE_ID));
+ Query q = generator.deleteQuery(em);
+ q.executeUpdate();
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public WorkflowCatalogResource get(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap<String, String>) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(EDGE);
+ generator.setParameter(EdgeConstants.EDGE_ID, ids.get(EdgeConstants.EDGE_ID));
+ generator.setParameter(EdgeConstants.TEMPLATE_ID, ids.get(EdgeConstants.TEMPLATE_ID));
+ Query q = generator.selectQuery(em);
+ Edge edge = (Edge) q.getSingleResult();
+ EdgeResource edgeResource =
+ (EdgeResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.EDGE
+ , edge);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return edgeResource;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public List<WorkflowCatalogResource> get(String fieldName, Object value) throws WorkflowCatalogException {
+ List<WorkflowCatalogResource> edgeResources = new ArrayList<WorkflowCatalogResource>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(EDGE);
+ List results;
+ if (fieldName.equals(EdgeConstants.TEMPLATE_ID)) {
+ generator.setParameter(EdgeConstants.TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Edge Edge = (Edge) result;
+ EdgeResource edgeResource =
+ (EdgeResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.EDGE, Edge);
+ edgeResources.add(edgeResource);
+ }
+ }
+ }else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Edge Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Edge Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return edgeResources;
+ }
+
+ public List<WorkflowCatalogResource> getAll() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getAllIds() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getIds(String fieldName, Object value) throws WorkflowCatalogException {
+ List<String> edgeResourceIds = new ArrayList<String>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(EDGE);
+ List results;
+ if (fieldName.equals(EdgeConstants.TEMPLATE_ID)) {
+ generator.setParameter(EdgeConstants.TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Edge edge = (Edge) result;
+ edgeResourceIds.add(edge.getTemplateId());
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Workflow Edge resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Workflow Edge Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return edgeResourceIds;
+ }
+
+ public void save() throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ Edge existingEdge = em.find(Edge.class,new Edge_PK(templateId, edgeId));
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ if (existingEdge != null) {
+ existingEdge.setTemplateId(templateId);
+ Workflow workflow = em.find(Workflow.class, templateId);
+ existingEdge.setWorkflow(workflow);
+ existingEdge.setComponentStatusId(statusId);
+ existingEdge.setDescription(description);
+ existingEdge.setName(name);
+ existingEdge.setCreatedTime(createdTime);
+ em.merge(existingEdge);
+ } else {
+ Edge edge = new Edge();
+ edge.setTemplateId(templateId);
+ Workflow workflow = em.find(Workflow.class, templateId);
+ edge.setWorkflow(workflow);
+ edge.setComponentStatusId(statusId);
+ edge.setDescription(description);
+ edge.setName(name);
+ edge.setCreatedTime(AiravataUtils.getCurrentTimestamp());
+ em.persist(edge);
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public boolean isExists(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap<String, String>) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ Edge edge = em.find(Edge.class, new Edge_PK(ids.get(EdgeConstants.TEMPLATE_ID), ids.get(EdgeConstants.EDGE_ID)));
+
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return edge != null;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public String getStatusId() {
+ return statusId;
+ }
+
+ public void setStatusId(String statusId) {
+ this.statusId = statusId;
+ }
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public String getEdgeId() {
+ return edgeId;
+ }
+
+ public void setEdgeId(String edgeId) {
+ this.edgeId = edgeId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/NodeResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/NodeResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/NodeResource.java
new file mode 100644
index 0000000..ea034e7
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/NodeResource.java
@@ -0,0 +1,402 @@
+/**
+ * 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.registry.core.workflow.catalog.resources;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.registry.core.workflow.catalog.model.Node;
+import org.apache.airavata.registry.core.workflow.catalog.model.Node_PK;
+import org.apache.airavata.registry.core.workflow.catalog.model.Workflow;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogJPAUtils;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogQueryGenerator;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogResourceType;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class NodeResource extends WorkflowCatAbstractResource {
+ private final static Logger logger = LoggerFactory.getLogger(NodeResource.class);
+
+ private String nodeId;
+ private String name;
+ private String statusId;
+ private String templateId;
+ private String applicationId;
+ private String applicationName;
+ private Timestamp createdTime;
+ private String description;
+
+ public void remove(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(NODE);
+ generator.setParameter(NodeConstants.NODE_ID, ids.get(NodeConstants.NODE_ID));
+ generator.setParameter(NodeConstants.TEMPLATE_ID, ids.get(NodeConstants.TEMPLATE_ID));
+ Query q = generator.deleteQuery(em);
+ q.executeUpdate();
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public WorkflowCatalogResource get(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap<String, String>) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(NODE);
+ generator.setParameter(NodeConstants.NODE_ID, ids.get(NodeConstants.NODE_ID));
+ generator.setParameter(NodeConstants.TEMPLATE_ID, ids.get(NodeConstants.TEMPLATE_ID));
+ Query q = generator.selectQuery(em);
+ Node node = (Node) q.getSingleResult();
+ NodeResource nodeResource =
+ (NodeResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.NODE
+ , node);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return nodeResource;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public List<WorkflowCatalogResource> get(String fieldName, Object value) throws WorkflowCatalogException {
+ List<WorkflowCatalogResource> nodeResources = new ArrayList<WorkflowCatalogResource>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(NODE);
+ List results;
+ if (fieldName.equals(NodeConstants.TEMPLATE_ID)) {
+ generator.setParameter(NodeConstants.TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Node node = (Node) result;
+ NodeResource nodeResource =
+ (NodeResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.NODE, node);
+ nodeResources.add(nodeResource);
+ }
+ }
+ }else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Node Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Node Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return nodeResources;
+ }
+
+ public List<WorkflowCatalogResource> getAll() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getAllIds() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getIds(String fieldName, Object value) throws WorkflowCatalogException {
+ List<String> nodeResourceIds = new ArrayList<String>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(NODE);
+ List results;
+ if (fieldName.equals(NodeConstants.TEMPLATE_ID)) {
+ generator.setParameter(NodeConstants.TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Node node = (Node) result;
+ nodeResourceIds.add(node.getTemplateId());
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Workflow node resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Workflow node Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return nodeResourceIds;
+ }
+
+ public void save() throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ Node existingNode = em.find(Node.class,new Node_PK(templateId, nodeId));
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ if (existingNode != null) {
+ existingNode.setTemplateId(templateId);
+ Workflow workflow = em.find(Workflow.class, templateId);
+ existingNode.setWorkflow(workflow);
+ existingNode.setComponentStatusId(statusId);
+ existingNode.setDescription(description);
+ existingNode.setName(name);
+ existingNode.setCreatedTime(createdTime);
+ existingNode.setApplicationName(applicationName);
+ existingNode.setApplicationId(applicationId);
+ em.merge(existingNode);
+ } else {
+ Node node = new Node();
+ node.setTemplateId(templateId);
+ Workflow workflow = em.find(Workflow.class, templateId);
+ node.setWorkflow(workflow);
+ node.setComponentStatusId(statusId);
+ node.setDescription(description);
+ node.setName(name);
+ node.setCreatedTime(AiravataUtils.getCurrentTimestamp());
+ node.setApplicationName(applicationName);
+ node.setApplicationId(applicationId);
+ em.persist(node);
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public boolean isExists(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap<String, String>) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ Node port = em.find(Node.class, new Node_PK(ids.get(NodeConstants.TEMPLATE_ID), ids.get(NodeConstants.NODE_ID)));
+
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return port != null;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public String getStatusId() {
+ return statusId;
+ }
+
+ public void setStatusId(String statusId) {
+ this.statusId = statusId;
+ }
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public String getNodeId() {
+ return nodeId;
+ }
+
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
+ }
+
+ public String getApplicationId() {
+ return applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
+ public String getApplicationName() {
+ return applicationName;
+ }
+
+ public void setApplicationName(String applicationName) {
+ this.applicationName = applicationName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/PortResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/PortResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/PortResource.java
new file mode 100644
index 0000000..9cdaebf
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/PortResource.java
@@ -0,0 +1,380 @@
+/**
+ * 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.registry.core.workflow.catalog.resources;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.registry.core.workflow.catalog.model.Port;
+import org.apache.airavata.registry.core.workflow.catalog.model.Port_PK;
+import org.apache.airavata.registry.core.workflow.catalog.model.Workflow;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogJPAUtils;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogQueryGenerator;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogResourceType;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class PortResource extends WorkflowCatAbstractResource {
+ private final static Logger logger = LoggerFactory.getLogger(PortResource.class);
+
+ private String portId;
+ private String name;
+ private String statusId;
+ private String templateId;
+ private Timestamp createdTime;
+ private String description;
+
+ public void remove(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(PORT);
+ generator.setParameter(PortConstants.PORT_ID, ids.get(PortConstants.PORT_ID));
+ generator.setParameter(PortConstants.TEMPLATE_ID, ids.get(PortConstants.TEMPLATE_ID));
+ Query q = generator.deleteQuery(em);
+ q.executeUpdate();
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public WorkflowCatalogResource get(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap<String, String>) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(PORT);
+ generator.setParameter(PortConstants.PORT_ID, ids.get(PortConstants.PORT_ID));
+ generator.setParameter(PortConstants.TEMPLATE_ID, ids.get(PortConstants.TEMPLATE_ID));
+ Query q = generator.selectQuery(em);
+ Port port = (Port) q.getSingleResult();
+ PortResource portResource =
+ (PortResource) WorkflowCatalogJPAUtils.getResource(WorkflowCatalogResourceType.PORT
+ , port);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return portResource;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public List<WorkflowCatalogResource> get(String fieldName, Object value) throws WorkflowCatalogException {
+ List<WorkflowCatalogResource> portResources = new ArrayList<WorkflowCatalogResource>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(PORT);
+ List results;
+ if (fieldName.equals(PortConstants.TEMPLATE_ID)) {
+ generator.setParameter(PortConstants.TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Port port = (Port) result;
+ PortResource portResource =
+ (PortResource) WorkflowCatalogJPAUtils.getResource(
+ WorkflowCatalogResourceType.PORT, port);
+ portResources.add(portResource);
+ }
+ }
+ }else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Port Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Port Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return portResources;
+ }
+
+ public List<WorkflowCatalogResource> getAll() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getAllIds() throws WorkflowCatalogException {
+ return null;
+ }
+
+ public List<String> getIds(String fieldName, Object value) throws WorkflowCatalogException {
+ List<String> portResourceIds = new ArrayList<String>();
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ WorkflowCatalogQueryGenerator generator = new WorkflowCatalogQueryGenerator(PORT);
+ List results;
+ if (fieldName.equals(PortConstants.TEMPLATE_ID)) {
+ generator.setParameter(PortConstants.TEMPLATE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Port port = (Port) result;
+ portResourceIds.add(port.getTemplateId());
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ logger.error("Unsupported field name for Workflow port resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for Workflow port Resource.");
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ return portResourceIds;
+ }
+
+ public void save() throws WorkflowCatalogException {
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ Port existingPort = em.find(Port.class,new Port_PK(templateId, portId));
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ if (existingPort != null) {
+ existingPort.setTemplateId(templateId);
+ Workflow workflow = em.find(Workflow.class, templateId);
+ existingPort.setWorkflow(workflow);
+ existingPort.setComponentStatusId(statusId);
+ existingPort.setDescription(description);
+ existingPort.setName(name);
+ existingPort.setCreatedTime(createdTime);
+ em.merge(existingPort);
+ } else {
+ Port edge = new Port();
+ edge.setTemplateId(templateId);
+ Workflow workflow = em.find(Workflow.class, templateId);
+ edge.setWorkflow(workflow);
+ edge.setComponentStatusId(statusId);
+ edge.setDescription(description);
+ edge.setName(name);
+ edge.setCreatedTime(AiravataUtils.getCurrentTimestamp());
+ em.persist(edge);
+ }
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public boolean isExists(Object identifier) throws WorkflowCatalogException {
+ HashMap<String, String> ids;
+ if (identifier instanceof Map) {
+ ids = (HashMap<String, String>) identifier;
+ } else {
+ logger.error("Identifier should be a map with the field name and it's value");
+ throw new WorkflowCatalogException("Identifier should be a map with the field name and it's value");
+ }
+
+ EntityManager em = null;
+ try {
+ em = WorkflowCatalogJPAUtils.getEntityManager();
+ Port port = em.find(Port.class, new Port_PK(ids.get(PortConstants.TEMPLATE_ID), ids.get(PortConstants.PORT_ID)));
+
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return port != null;
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new WorkflowCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()) {
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public String getStatusId() {
+ return statusId;
+ }
+
+ public void setStatusId(String statusId) {
+ this.statusId = statusId;
+ }
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public String getPortId() {
+ return portId;
+ }
+
+ public void setPortId(String portId) {
+ this.portId = portId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowCatAbstractResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowCatAbstractResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowCatAbstractResource.java
new file mode 100644
index 0000000..cb90fe9
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowCatAbstractResource.java
@@ -0,0 +1,88 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.resources;
+
+public abstract class WorkflowCatAbstractResource implements WorkflowCatalogResource {
+ // table names
+ public static final String WORKFLOW = "Workflow";
+ public static final String WORKFLOW_INPUT = "WorkflowInput";
+ public static final String WORKFLOW_OUTPUT = "WorkflowOutput";
+ public static final String EDGE = "Edge";
+ public static final String NODE = "Node";
+ public static final String PORT = "Port";
+ public static final String COMPONENT_STATUS = "ComponentStatus";
+ public static final String WORKFLOW_STATUS = "WorkflowStatus";
+
+ public final class WorkflowInputConstants {
+ public static final String WF_TEMPLATE_ID = "templateID";
+ public static final String INPUT_KEY = "inputKey";
+ public static final String INPUT_VALUE = "inputVal";
+ public static final String DATA_TYPE = "dataType";
+ public static final String METADATA = "metadata";
+ public static final String APP_ARGUMENT = "appArgument";
+ public static final String USER_FRIENDLY_DESC = "userFriendlyDesc";
+ public static final String STANDARD_INPUT = "standardInput";
+ }
+
+ public final class WorkflowOutputConstants {
+ public static final String WF_TEMPLATE_ID = "templateId";
+ public static final String OUTPUT_KEY = "outputKey";
+ public static final String OUTPUT_VALUE = "outputVal";
+ public static final String DATA_TYPE = "dataType";
+ }
+
+ // Workflow Table
+ public final class WorkflowConstants {
+ public static final String TEMPLATE_ID = "templateId";
+ public static final String GATEWAY_ID = "gatewayId";
+ public static final String WORKFLOW_NAME = "workflowName";
+ }
+
+ public final class ComponentStatusConstants {
+ public static final String STATUS_ID = "statusId";
+ public static final String TEMPLATE_ID = "templateId";
+ }
+
+ public final class WorkflowStatusConstants {
+ public static final String STATUS_ID = "statusId";
+ public static final String TEMPLATE_ID = "templateId";
+ }
+
+ public final class EdgeConstants {
+ public static final String STATUS_ID = "statusId";
+ public static final String TEMPLATE_ID = "templateId";
+ public static final String EDGE_ID = "edgeId";
+ }
+
+ public final class PortConstants {
+ public static final String STATUS_ID = "statusId";
+ public static final String TEMPLATE_ID = "templateId";
+ public static final String PORT_ID = "portId";
+ }
+
+ public final class NodeConstants {
+ public static final String STATUS_ID = "statusId";
+ public static final String TEMPLATE_ID = "templateId";
+ public static final String NODE_ID = "nodeId";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowCatalogResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowCatalogResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowCatalogResource.java
new file mode 100644
index 0000000..d536776
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/resources/WorkflowCatalogResource.java
@@ -0,0 +1,90 @@
+/*
+*
+* 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.registry.core.workflow.catalog.resources;
+
+
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+
+import java.util.List;
+
+public interface WorkflowCatalogResource {
+
+ /**
+ * This method will remove the given resource from the database
+ *
+ * @param identifier identifier that can uniquely identify a single instance of the resource
+ */
+ void remove(Object identifier) throws WorkflowCatalogException;
+
+ /**
+ * This method will return the given resource from the database
+ *
+ * @param identifier identifier that can uniquely identify a single instance of the resource
+ * @return associate resource
+ */
+ WorkflowCatalogResource get(Object identifier) throws WorkflowCatalogException;
+
+ /**
+ * This method will list all the resources according to the filtering criteria
+ * @param fieldName field name
+ * @param value value of the field
+ * @return list of resources
+ */
+ List<WorkflowCatalogResource> get(String fieldName, Object value) throws WorkflowCatalogException;
+
+ /**
+ *
+ * @return
+ * @throws org.apache.airavata.registry.cpi.WorkflowCatalogException
+ */
+ List<WorkflowCatalogResource> getAll() throws WorkflowCatalogException;
+
+ /**
+ *
+ * @return
+ * @throws org.apache.airavata.registry.cpi.WorkflowCatalogException
+ */
+ List<String> getAllIds() throws WorkflowCatalogException;
+
+ /** This method will return list of resource ids according to given criteria
+ * @param fieldName field name
+ * @param value value of the field
+ * @return list of resource Ids
+ * @throws org.apache.airavata.registry.cpi.WorkflowCatalogException
+ */
+ List<String> getIds(String fieldName, Object value) throws WorkflowCatalogException;
+
+ /**
+ * This method will save the resource to the database.
+ */
+ void save() throws WorkflowCatalogException;
+
+ /**
+ * This method will check whether an entry from the given resource and resource name
+ * exists in the database
+ *
+ * @param identifier identifier that can uniquely identify a single instance of the resource
+ * @return whether the entry exists in the database or not
+ */
+ boolean isExists(Object identifier) throws WorkflowCatalogException;
+
+
+}
[25/50] [abbrv] airavata git commit: adding model classes for
workflow models
Posted by ch...@apache.org.
adding model classes for workflow models
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/72a6f6a5
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/72a6f6a5
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/72a6f6a5
Branch: refs/heads/master
Commit: 72a6f6a5aa22ee5c70b5088fbd1daa40370daffc
Parents: c451723
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Feb 1 15:10:29 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Feb 1 15:10:29 2016 -0500
----------------------------------------------------------------------
.../workflow/catalog/model/ComponentStatus.java | 78 +++++++++
.../core/workflow/catalog/model/Edge.java | 103 ++++++++++++
.../core/workflow/catalog/model/Edge_PK.java | 64 +++++++
.../core/workflow/catalog/model/Node.java | 124 ++++++++++++++
.../core/workflow/catalog/model/Node_PK.java | 64 +++++++
.../core/workflow/catalog/model/Port.java | 102 ++++++++++++
.../core/workflow/catalog/model/Port_PK.java | 64 +++++++
.../core/workflow/catalog/model/Workflow.java | 124 ++++++++++++++
.../catalog/model/WorkflowInput_PK.java | 64 +++++++
.../catalog/model/WorkflowIntInput.java | 166 +++++++++++++++++++
.../workflow/catalog/model/WorkflowOutput.java | 156 +++++++++++++++++
.../catalog/model/WorkflowOutput_PK.java | 64 +++++++
.../workflow/catalog/model/WorkflowStatus.java | 103 ++++++++++++
.../catalog/model/WorkflowStatus_PK.java | 64 +++++++
.../src/main/resources/workflow-derby.sql | 6 +
.../src/main/resources/workflow-mysql.sql | 6 +
16 files changed, 1352 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/ComponentStatus.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/ComponentStatus.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/ComponentStatus.java
new file mode 100644
index 0000000..b6353b4
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/ComponentStatus.java
@@ -0,0 +1,78 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "COMPONENT_STATUS")
+public class ComponentStatus implements Serializable {
+
+ @Id
+ @Column(name = "STATUS_ID")
+ private String statusId;
+
+ @Column(name = "STATE")
+ private String state;
+
+ @Column(name = "REASON")
+ private String reason;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public String getStatusId() {
+ return statusId;
+ }
+
+ public void setStatusId(String statusId) {
+ this.statusId = statusId;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getReason() {
+ return reason;
+ }
+
+ public void setReason(String reason) {
+ this.reason = reason;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge.java
new file mode 100644
index 0000000..48ececb
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge.java
@@ -0,0 +1,103 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "EDGE")
+@IdClass(Edge_PK.class)
+public class Edge implements Serializable {
+
+ @Id
+ @Column(name = "TEMPLATE_ID")
+ private String templateId;
+
+ @Id
+ @Column(name = "EDGE_ID")
+ private String edgeId;
+
+ @Column(name = "NAME")
+ private String name;
+
+ @Column(name = "COMPONENT_STATUS_ID")
+ private String componentStatusId;
+
+ @Column(name = "DESCRIPTION")
+ private String description;
+
+ @ManyToOne(cascade= CascadeType.MERGE)
+ @JoinColumn(name = "TEMPLATE_ID")
+ private Workflow workflow;
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public String getEdgeId() {
+ return edgeId;
+ }
+
+ public void setEdgeId(String edgeId) {
+ this.edgeId = edgeId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getComponentStatusId() {
+ return componentStatusId;
+ }
+
+ public void setComponentStatusId(String componentStatusId) {
+ this.componentStatusId = componentStatusId;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Workflow getWorkflow() {
+ return workflow;
+ }
+
+ public void setWorkflow(Workflow workflow) {
+ this.workflow = workflow;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge_PK.java
new file mode 100644
index 0000000..dedbb45
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge_PK.java
@@ -0,0 +1,64 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+import java.io.Serializable;
+
+public class Edge_PK implements Serializable {
+ private String templateID;
+ private String edgeId;
+
+ public Edge_PK(String templateId, String edgeId) {
+ this.templateID = templateId;
+ this.edgeId = edgeId;
+ }
+
+ public Edge_PK() {
+ ;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
+
+ public String getTemplateID() {
+ return templateID;
+ }
+
+ public void setTemplateID(String templateID) {
+ this.templateID = templateID;
+ }
+
+ public String getEdgeId() {
+ return edgeId;
+ }
+
+ public void setEdgeId(String edgeId) {
+ this.edgeId = edgeId;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node.java
new file mode 100644
index 0000000..0711ad5
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node.java
@@ -0,0 +1,124 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "NODE")
+@IdClass(Node_PK.class)
+public class Node implements Serializable {
+
+ @Id
+ @Column(name = "TEMPLATE_ID")
+ private String templateId;
+
+ @Id
+ @Column(name = "NODE_ID")
+ private String nodeId;
+
+ @Column(name = "NAME")
+ private String name;
+
+ @Column(name = "COMPONENT_STATUS_ID")
+ private String componentStatusId;
+
+ @Column(name = "DESCRIPTION")
+ private String description;
+
+ @Column(name = "APPLICATION_ID")
+ private String applicationId;
+
+ @Column(name = "APPLICATION_NAME")
+ private String applicationName;
+
+ @ManyToOne(cascade= CascadeType.MERGE)
+ @JoinColumn(name = "TEMPLATE_ID")
+ private Workflow workflow;
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getComponentStatusId() {
+ return componentStatusId;
+ }
+
+ public void setComponentStatusId(String componentStatusId) {
+ this.componentStatusId = componentStatusId;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Workflow getWorkflow() {
+ return workflow;
+ }
+
+ public void setWorkflow(Workflow workflow) {
+ this.workflow = workflow;
+ }
+
+ public String getNodeId() {
+ return nodeId;
+ }
+
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
+ }
+
+ public String getApplicationId() {
+ return applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
+ public String getApplicationName() {
+ return applicationName;
+ }
+
+ public void setApplicationName(String applicationName) {
+ this.applicationName = applicationName;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node_PK.java
new file mode 100644
index 0000000..d9ee7a2
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node_PK.java
@@ -0,0 +1,64 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+import java.io.Serializable;
+
+public class Node_PK implements Serializable {
+ private String templateID;
+ private String nodeId;
+
+ public Node_PK(String templateId, String nodeId) {
+ this.templateID = templateId;
+ this.nodeId = nodeId;
+ }
+
+ public Node_PK() {
+ ;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
+
+ public String getTemplateID() {
+ return templateID;
+ }
+
+ public void setTemplateID(String templateID) {
+ this.templateID = templateID;
+ }
+
+ public String getNodeId() {
+ return nodeId;
+ }
+
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port.java
new file mode 100644
index 0000000..f0be41f
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port.java
@@ -0,0 +1,102 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "PORT")
+@IdClass(Port_PK.class)
+public class Port implements Serializable {
+
+ @Id
+ @Column(name = "TEMPLATE_ID")
+ private String templateId;
+
+ @Id
+ @Column(name = "PORT_ID")
+ private String portId;
+
+ @Column(name = "NAME")
+ private String name;
+
+ @Column(name = "COMPONENT_STATUS_ID")
+ private String componentStatusId;
+
+ @Column(name = "DESCRIPTION")
+ private String description;
+
+ @ManyToOne(cascade= CascadeType.MERGE)
+ @JoinColumn(name = "TEMPLATE_ID")
+ private Workflow workflow;
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getComponentStatusId() {
+ return componentStatusId;
+ }
+
+ public void setComponentStatusId(String componentStatusId) {
+ this.componentStatusId = componentStatusId;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Workflow getWorkflow() {
+ return workflow;
+ }
+
+ public void setWorkflow(Workflow workflow) {
+ this.workflow = workflow;
+ }
+
+ public String getPortId() {
+ return portId;
+ }
+
+ public void setPortId(String portId) {
+ this.portId = portId;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port_PK.java
new file mode 100644
index 0000000..a0305ed
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port_PK.java
@@ -0,0 +1,64 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+import java.io.Serializable;
+
+public class Port_PK implements Serializable {
+ private String templateID;
+ private String portId;
+
+ public Port_PK(String templateId, String portId) {
+ this.templateID = templateId;
+ this.portId = portId;
+ }
+
+ public Port_PK() {
+ ;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
+
+ public String getTemplateID() {
+ return templateID;
+ }
+
+ public void setTemplateID(String templateID) {
+ this.templateID = templateID;
+ }
+
+ public String getPortId() {
+ return portId;
+ }
+
+ public void setPortId(String portId) {
+ this.portId = portId;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Workflow.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Workflow.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Workflow.java
new file mode 100644
index 0000000..258342e
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Workflow.java
@@ -0,0 +1,124 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "WORKFLOW")
+public class Workflow implements Serializable {
+
+ @Id
+ @Column(name = "TEMPLATE_ID")
+ private String templateId;
+
+ @Column(name = "CREATED_USER")
+ private String createdUser;
+
+ @Lob
+ @Column(name = "GRAPH")
+ private char[] graph;
+
+ @Column(name = "WORKFLOW_NAME")
+ private String workflowName;
+
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ @Lob
+ @Column(name = "IMAGE")
+ private byte[] image;
+
+ @Column(name = "GATEWAY_ID")
+ private String gatewayId;
+
+ public String getGatewayId() {
+ return gatewayId;
+ }
+
+ public void setGatewayId(String gatewayId) {
+ this.gatewayId = gatewayId;
+ }
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public String getCreatedUser() {
+ return createdUser;
+ }
+
+ public void setCreatedUser(String createdUser) {
+ this.createdUser = createdUser;
+ }
+
+ public char[] getGraph() {
+ return graph;
+ }
+
+ public void setGraph(char[] graph) {
+ this.graph = graph;
+ }
+
+ public String getWorkflowName() {
+ return workflowName;
+ }
+
+ public void setWorkflowName(String workflowName) {
+ this.workflowName = workflowName;
+ }
+
+ public byte[] getImage() {
+ return image;
+ }
+
+ public void setImage(byte[] image) {
+ this.image = image;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowInput_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowInput_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowInput_PK.java
new file mode 100644
index 0000000..b84ae6b
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowInput_PK.java
@@ -0,0 +1,64 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+import java.io.Serializable;
+
+public class WorkflowInput_PK implements Serializable {
+ private String templateID;
+ private String inputKey;
+
+ public WorkflowInput_PK(String templateId, String inputKey) {
+ this.templateID = templateId;
+ this.inputKey = inputKey;
+ }
+
+ public WorkflowInput_PK() {
+ ;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
+
+ public String getTemplateID() {
+ return templateID;
+ }
+
+ public void setTemplateID(String templateID) {
+ this.templateID = templateID;
+ }
+
+ public String getInputKey() {
+ return inputKey;
+ }
+
+ public void setInputKey(String inputKey) {
+ this.inputKey = inputKey;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowIntInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowIntInput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowIntInput.java
new file mode 100644
index 0000000..c8d4952
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowIntInput.java
@@ -0,0 +1,166 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "WORKFLOW_INPUT")
+@IdClass(WorkflowInput_PK.class)
+public class WorkflowIntInput implements Serializable {
+ @Id
+ @Column(name = "INTERFACE_ID")
+ private String templateID;
+ @Id
+ @Column(name = "INPUT_KEY")
+ private String inputKey;
+ @Column(name = "INPUT_VALUE")
+ private String inputVal;
+ @Column(name = "DATA_TYPE")
+ private String dataType;
+ @Column(name = "METADATA")
+ private String metadata;
+ @Column(name = "APP_ARGUMENT")
+ private String appArgument;
+ @Column(name = "USER_FRIENDLY_DESC")
+ private String userFriendlyDesc;
+ @Column(name = "STANDARD_INPUT")
+ private boolean standardInput;
+ @Column(name="INPUT_ORDER")
+ private int inputOrder;
+ @Column(name="IS_REQUIRED")
+ private boolean isRequired;
+ @Column(name="REQUIRED_TO_COMMANDLINE")
+ private boolean requiredToCMD;
+ @Column(name = "DATA_STAGED")
+ private boolean dataStaged;
+
+ @ManyToOne(cascade= CascadeType.MERGE)
+ @JoinColumn(name = "TEMPLATE_ID")
+ private Workflow workflow;
+
+ public String getTemplateID() {
+ return templateID;
+ }
+
+ public void setTemplateID(String templateID) {
+ this.templateID = templateID;
+ }
+
+ public String getInputKey() {
+ return inputKey;
+ }
+
+ public void setInputKey(String inputKey) {
+ this.inputKey = inputKey;
+ }
+
+ public String getInputVal() {
+ return inputVal;
+ }
+
+ public void setInputVal(String inputVal) {
+ this.inputVal = inputVal;
+ }
+
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ public String getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(String metadata) {
+ this.metadata = metadata;
+ }
+
+ public String getAppArgument() {
+ return appArgument;
+ }
+
+ public void setAppArgument(String appArgument) {
+ this.appArgument = appArgument;
+ }
+
+ public String getUserFriendlyDesc() {
+ return userFriendlyDesc;
+ }
+
+ public void setUserFriendlyDesc(String userFriendlyDesc) {
+ this.userFriendlyDesc = userFriendlyDesc;
+ }
+
+ public Workflow getWorkflow() {
+ return workflow;
+ }
+
+ public void setWorkflow(Workflow workflow) {
+ this.workflow = workflow;
+ }
+
+ public boolean isStandardInput() {
+ return standardInput;
+ }
+
+ public void setStandardInput(boolean standardInput) {
+ this.standardInput = standardInput;
+ }
+
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
+ }
+
+ public boolean isRequired() {
+ return isRequired;
+ }
+
+ public void setRequired(boolean isRequired) {
+ this.isRequired = isRequired;
+ }
+
+ public boolean isRequiredToCMD() {
+ return requiredToCMD;
+ }
+
+ public void setRequiredToCMD(boolean requiredToCMD) {
+ this.requiredToCMD = requiredToCMD;
+ }
+
+ public boolean isDataStaged() {
+ return dataStaged;
+ }
+
+ public void setDataStaged(boolean dataStaged) {
+ this.dataStaged = dataStaged;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput.java
new file mode 100644
index 0000000..2131557
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput.java
@@ -0,0 +1,156 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "WORKFLOW_OUTPUT")
+@IdClass(WorkflowOutput_PK.class)
+public class WorkflowOutput implements Serializable {
+ @Id
+ @Column(name = "TEMPLATE_ID")
+ private String templateId;
+ @Id
+ @Column(name = "OUTPUT_KEY")
+ private String outputKey;
+ @Column(name = "OUTPUT_VALUE")
+ private String outputVal;
+ @Column(name = "DATA_TYPE")
+ private String dataType;
+ @Column(name = "IS_REQUIRED")
+ private boolean isRequired;
+ @Column(name="REQUIRED_TO_COMMANDLINE")
+ private boolean requiredToCMD;
+ @Column(name = "DATA_MOVEMENT")
+ private boolean dataMovement;
+ @Column(name = "DATA_NAME_LOCATION")
+ private String dataNameLocation;
+ @Column(name = "SEARCH_QUERY")
+ private String searchQuery;
+ @Column(name = "APP_ARGUMENT")
+ private String applicationArgument;
+ @Column(name = "OUTPUT_STREAMING")
+ private boolean outputStreaming;
+
+ @ManyToOne(cascade= CascadeType.MERGE)
+ @JoinColumn(name = "TEMPLATE_ID")
+ private Workflow workflow;
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ public Workflow getWorkflow() {
+ return workflow;
+ }
+
+ public void setWorkflow(Workflow workflow) {
+ this.workflow = workflow;
+ }
+
+ public String getOutputKey() {
+ return outputKey;
+ }
+
+ public void setOutputKey(String outputKey) {
+ this.outputKey = outputKey;
+ }
+
+ public String getOutputVal() {
+ return outputVal;
+ }
+
+ public void setOutputVal(String outputVal) {
+ this.outputVal = outputVal;
+ }
+
+ public boolean isRequired() {
+ return isRequired;
+ }
+
+ public void setRequired(boolean isRequired) {
+ this.isRequired = isRequired;
+ }
+
+ public boolean isRequiredToCMD() {
+ return requiredToCMD;
+ }
+
+ public void setRequiredToCMD(boolean requiredToCMD) {
+ this.requiredToCMD = requiredToCMD;
+ }
+
+ public boolean isDataMovement() {
+ return dataMovement;
+ }
+
+ public void setDataMovement(boolean dataMovement) {
+ this.dataMovement = dataMovement;
+ }
+
+ public String getDataNameLocation() {
+ return dataNameLocation;
+ }
+
+ public void setDataNameLocation(String dataNameLocation) {
+ this.dataNameLocation = dataNameLocation;
+ }
+
+ public String getSearchQuery() {
+ return searchQuery;
+ }
+
+ public void setSearchQuery(String searchQuery) {
+ this.searchQuery = searchQuery;
+ }
+
+ public String getApplicationArgument() {
+ return applicationArgument;
+ }
+
+ public void setApplicationArgument(String applicationArgument) {
+ this.applicationArgument = applicationArgument;
+ }
+
+ public boolean isOutputStreaming() {
+ return outputStreaming;
+ }
+
+ public void setOutputStreaming(boolean outputStreaming) {
+ this.outputStreaming = outputStreaming;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput_PK.java
new file mode 100644
index 0000000..d36f2ca
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowOutput_PK.java
@@ -0,0 +1,64 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+import java.io.Serializable;
+
+public class WorkflowOutput_PK implements Serializable {
+ private String templateID;
+ private String outputKey;
+
+ public WorkflowOutput_PK(String templateId, String outputKey) {
+ this.templateID = templateId;
+ this.outputKey = outputKey;
+ }
+
+ public WorkflowOutput_PK() {
+ ;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
+
+ public String getTemplateID() {
+ return templateID;
+ }
+
+ public void setTemplateID(String templateID) {
+ this.templateID = templateID;
+ }
+
+ public String getOutputKey() {
+ return outputKey;
+ }
+
+ public void setOutputKey(String outputKey) {
+ this.outputKey = outputKey;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus.java
new file mode 100644
index 0000000..2fc9e47
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus.java
@@ -0,0 +1,103 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "WORKFLOW_STATUS")
+@IdClass(WorkflowStatus_PK.class)
+public class WorkflowStatus implements Serializable {
+
+ @Id
+ @Column(name = "STATUS_ID")
+ private String statusId;
+
+ @Id
+ @Column(name = "TEMPLATE_ID")
+ private String templateId;
+
+ @Column(name = "STATE")
+ private String state;
+
+ @Column(name = "REASON")
+ private String reason;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ @ManyToOne(cascade= CascadeType.MERGE)
+ @JoinColumn(name = "TEMPLATE_ID")
+ private Workflow workflow;
+
+ public String getStatusId() {
+ return statusId;
+ }
+
+ public void setStatusId(String statusId) {
+ this.statusId = statusId;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getReason() {
+ return reason;
+ }
+
+ public void setReason(String reason) {
+ this.reason = reason;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public Workflow getWorkflow() {
+ return workflow;
+ }
+
+ public void setWorkflow(Workflow workflow) {
+ this.workflow = workflow;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus_PK.java
new file mode 100644
index 0000000..ac33cc9
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/WorkflowStatus_PK.java
@@ -0,0 +1,64 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.model;
+
+import java.io.Serializable;
+
+public class WorkflowStatus_PK implements Serializable {
+ private String templateID;
+ private String statusId;
+
+ public WorkflowStatus_PK(String templateId, String statusId) {
+ this.templateID = templateId;
+ this.statusId = statusId;
+ }
+
+ public WorkflowStatus_PK() {
+ ;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
+
+ public String getTemplateID() {
+ return templateID;
+ }
+
+ public void setTemplateID(String templateID) {
+ this.templateID = templateID;
+ }
+
+ public String getStatusId() {
+ return statusId;
+ }
+
+ public void setStatusId(String statusId) {
+ this.statusId = statusId;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/resources/workflow-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflow-derby.sql b/modules/registry/registry-core/src/main/resources/workflow-derby.sql
index e798824..f2af1be 100644
--- a/modules/registry/registry-core/src/main/resources/workflow-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/workflow-derby.sql
@@ -23,8 +23,12 @@ CREATE TABLE WORKFLOW
(
TEMPLATE_ID VARCHAR (255) NOT NULL,
WORKFLOW_NAME VARCHAR (255) NOT NULL,
+ CREATED_USER VARCHAR (255),
+ GATEWAY_ID VARCHAR (255),
GRAPH CLOB,
IMAGE BLOB,
+ CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (TEMPLATE_ID)
);
@@ -69,6 +73,7 @@ CREATE TABLE COMPONENT_STATUS
STATE VARCHAR(255),
REASON VARCHAR(255),
PRIMARY KEY (STATUS_ID)
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
);
CREATE TABLE WORKFLOW_STATUS
@@ -77,6 +82,7 @@ CREATE TABLE WORKFLOW_STATUS
TEMPLATE_ID VARCHAR (255) NOT NULL,
STATE VARCHAR(255),
REASON VARCHAR(255),
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (STATUS_ID, COMPONENT_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
http://git-wip-us.apache.org/repos/asf/airavata/blob/72a6f6a5/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflow-mysql.sql b/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
index 945a912..d723343 100644
--- a/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
@@ -23,8 +23,12 @@ CREATE TABLE WORKFLOW
(
TEMPLATE_ID VARCHAR (255) NOT NULL,
WORKFLOW_NAME VARCHAR (255) NOT NULL,
+ CREATED_USER VARCHAR (255),
+ GATEWAY_ID VARCHAR (255),
GRAPH LONGTEXT,
IMAGE BLOB,
+ CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (TEMPLATE_ID)
);
@@ -68,6 +72,7 @@ CREATE TABLE COMPONENT_STATUS
STATUS_ID VARCHAR (255) NOT NULL,
STATE VARCHAR(255),
REASON VARCHAR(255),
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (STATUS_ID)
);
@@ -77,6 +82,7 @@ CREATE TABLE WORKFLOW_STATUS
TEMPLATE_ID VARCHAR (255) NOT NULL,
STATE VARCHAR(255),
REASON VARCHAR(255),
+ UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (STATUS_ID, COMPONENT_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
[03/50] [abbrv] airavata git commit: Adding API method descriptions
to App Catalog Airavata Thrift APIs
Posted by ch...@apache.org.
Adding API method descriptions to App Catalog Airavata Thrift APIs
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/101c8d4a
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/101c8d4a
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/101c8d4a
Branch: refs/heads/master
Commit: 101c8d4a3754501b9b1a728b7a4f2267883b06bc
Parents: 70358df
Author: Eroma Abeysinghe <er...@gmail.com>
Authored: Tue Jan 19 16:43:47 2016 -0500
Committer: Eroma Abeysinghe <er...@gmail.com>
Committed: Tue Jan 19 16:43:47 2016 -0500
----------------------------------------------------------------------
.../airavata-apis/airavata_api.thrift | 98 +++++++++++++-------
1 file changed, 64 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/101c8d4a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
index 8c0b14a..567fc50 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -1356,7 +1356,6 @@ service Airavata {
* Returns a list of Deployed Resources.
*
*/
-
list<string> getAppModuleDeployedResources(1: required security_model.AuthzToken authzToken, 2: required string appModuleId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -1364,21 +1363,22 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/*
+ *
* Application Interface
*
*/
/**
+ *
* Register a Application Interface.
*
- * @param applicationModule
+ * @param applicationInterface
* Application Module Object created from the datamodel.
*
* @return appInterfaceId
* Returns a server-side generated airavata application interface globally unique identifier.
*
*/
-
string registerApplicationInterface(1: required security_model.AuthzToken authzToken, 2: required string gatewayId,
3: required application_interface_model.ApplicationInterfaceDescription applicationInterface)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1386,7 +1386,23 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
-
+ /**
+ *
+ * Clone an Application Interface.
+ *
+ * @gatewayId
+ * The identifier for the gateway profile to be requested
+ *
+ * @param existingAppInterfaceID
+ * Identifier of the existing Application interface you wich to clone.
+ *
+ * @param newApplicationName
+ * Name for the new application interface.
+ *
+ * @return appInterfaceId
+ * Returns a server-side generated globally unique identifier for the newly cloned application interface.
+ *
+ */
string cloneApplicationInterface(1: required security_model.AuthzToken authzToken,
2: string existingAppInterfaceID,
3: string newApplicationName,
@@ -1395,18 +1411,18 @@ service Airavata {
2: airavata_errors.AiravataClientException ace,
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
+
/**
- * Fetch a Application Interface.
+ *
+ * Fetch an Application Interface.
*
* @param appInterfaceId
- * The identifier for the requested application module
+ * The identifier for the requested application interface.
*
* @return applicationInterface
- * Returns a application Interface Object.
- *
+ * Returns an application Interface Object.
*
*/
-
application_interface_model.ApplicationInterfaceDescription getApplicationInterface(1: required security_model.AuthzToken authzToken,
2: required string appInterfaceId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1415,10 +1431,11 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Update a Application Interface.
*
* @param appInterfaceId
- * The identifier for the requested application deployment to be updated.
+ * The identifier of the requested application deployment to be updated.
*
* @param appInterface
* Application Interface Object created from the datamodel.
@@ -1426,9 +1443,7 @@ service Airavata {
* @return status
* Returns a success/failure of the update.
*
- *
*/
-
bool updateApplicationInterface(1: required security_model.AuthzToken authzToken,
2: required string appInterfaceId,
3: required application_interface_model.ApplicationInterfaceDescription applicationInterface)
@@ -1438,7 +1453,8 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Delete a Application Interface.
+ *
+ * Delete an Application Interface.
*
* @param appInterfaceId
* The identifier for the requested application interface to be deleted.
@@ -1446,9 +1462,7 @@ service Airavata {
* @return status
* Returns a success/failure of the deletion.
*
- *
*/
-
bool deleteApplicationInterface(1: required security_model.AuthzToken authzToken, 2: required string appInterfaceId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -1456,14 +1470,14 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Fetch name and id of Application Interface documents.
+ *
+ * Fetch name and ID of Application Interface documents.
*
*
* @return map<applicationId, applicationInterfaceNames>
- * Returns a list of application interfaces with corresponsing id's
+ * Returns a list of application interfaces with corresponsing ID's
*
*/
-
map<string, string> getAllApplicationInterfaceNames (1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -1471,14 +1485,14 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Fetch all Application Interface documents.
*
*
* @return map<applicationId, applicationInterfaceNames>
- * Returns a list of application interfaces documents
+ * Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).
*
*/
-
list<application_interface_model.ApplicationInterfaceDescription> getAllApplicationInterfaces (1: required security_model.AuthzToken authzToken,
2: required string gatewayId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1487,16 +1501,16 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Fetch the list of Application Inputs.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier of the application interface which need inputs to be fetched.
*
* @return list<application_interface_model.InputDataObjectType>
* Returns a list of application inputs.
*
*/
-
list<application_io_models.InputDataObjectType> getApplicationInputs(1: required security_model.AuthzToken authzToken,
2: required string appInterfaceId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1505,16 +1519,16 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Fetch the list of Application Outputs.
+ *
+ * Fetch list of Application Outputs.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier of the application interface which need outputs to be fetched.
*
* @return list<application_interface_model.OutputDataObjectType>
* Returns a list of application outputs.
*
*/
-
list<application_io_models.OutputDataObjectType> getApplicationOutputs(1: required security_model.AuthzToken authzToken,
2: required string appInterfaceId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1523,17 +1537,17 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Fetch a list of all deployed Compute Hosts for a given application interfaces.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier for the requested application interface.
*
* @return map<computeResourceId, computeResourceName>
* A map of registered compute resource id's and their corresponding hostnames.
- * Deployments of each modules listed within the interfaces will be listed.
+ * Deployments of each modules listed within the interfaces will be listed.
*
*/
-
map<string, string> getAvailableAppInterfaceComputeResources(1: required security_model.AuthzToken authzToken, 2: required string appInterfaceId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -1541,6 +1555,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/*
+ *
* Compute Resource
*
*/
@@ -1555,7 +1570,6 @@ service Airavata {
* Returns a server-side generated airavata compute resource globally unique identifier.
*
*/
-
string registerComputeResource(1: required security_model.AuthzToken authzToken,
2: required compute_resource_model.ComputeResourceDescription computeResourceDescription)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1573,7 +1587,6 @@ service Airavata {
* Compute Resource Object created from the datamodel..
*
*/
-
compute_resource_model.ComputeResourceDescription getComputeResource(1: required security_model.AuthzToken authzToken,
2: required string computeResourceId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1582,13 +1595,13 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Fetch all registered Compute Resources.
*
* @return A map of registered compute resource id's and thier corresponding hostnames.
* Compute Resource Object created from the datamodel..
*
*/
-
map<string, string> getAllComputeResourceNames(1: required security_model.AuthzToken authzToken)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -1627,7 +1640,6 @@ service Airavata {
* Returns a success/failure of the deletion.
*
*/
-
bool deleteComputeResource(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -1635,6 +1647,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/*
+ *
* Storage Resource
*
*/
@@ -1690,7 +1703,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Update a Compute Resource.
+ * Update a Storage Resource.
*
* @param storageResourceId
* The identifier for the requested compute resource to be updated.
@@ -1715,7 +1728,7 @@ service Airavata {
* Delete a Storage Resource.
*
* @param storageResourceId
- * The identifier for the requested compute resource to be deleted.
+ * The identifier of the requested compute resource to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -2547,6 +2560,23 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
+ /**
+ * Add a Storage Resource Preference to a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be added.
+ *
+ * @param storageResourceId
+ * Preferences related to a particular compute resource
+ *
+ * @param computeResourcePreference
+ * The ComputeResourcePreference object to be added to the resource profile.
+ *
+ * @return status
+ * Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+ * Instead an update should be used.
+ *
+ */
bool addGatewayStoragePreference(1: required security_model.AuthzToken authzToken, 2: required string gatewayID,
3: required string storageResourceId,
4: required gateway_resource_profile_model.StoragePreference storagePreference)
[32/50] [abbrv] airavata git commit: adding workflow related resource
layer
Posted by ch...@apache.org.
adding workflow related resource layer
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/2a2782a6
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/2a2782a6
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/2a2782a6
Branch: refs/heads/master
Commit: 2a2782a60ab40f93677063c2c31cdf28c77ba487
Parents: ad01161
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Wed Feb 3 12:10:50 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Wed Feb 3 12:10:50 2016 -0500
----------------------------------------------------------------------
.../main/resources/airavata-server.properties | 2 +-
.../app/catalog/impl/WorkflowCatalogImpl.java | 57 +-
.../core/app/catalog/model/Workflow.java | 124 ----
.../core/app/catalog/model/WorkflowInput.java | 167 ------
.../app/catalog/model/WorkflowInput_PK.java | 64 ---
.../core/app/catalog/model/WorkflowOutput.java | 117 ----
.../app/catalog/model/WorkflowOutput_PK.java | 64 ---
.../resources/WorkflowInputResource.java | 496 ----------------
.../resources/WorkflowOutputResource.java | 455 ---------------
.../app/catalog/resources/WorkflowResource.java | 437 --------------
.../app/catalog/util/AppCatalogJPAUtils.java | 571 ++++++++-----------
.../catalog/util/AppCatalogResourceType.java | 3 -
.../util/AppCatalogThriftConversion.java | 39 --
.../workflow/catalog/model/ComponentStatus.java | 23 +
.../core/workflow/catalog/model/Edge.java | 11 +
.../core/workflow/catalog/model/Node.java | 12 +
.../core/workflow/catalog/model/Port.java | 12 +
.../workflow/catalog/model/WorkflowInput.java | 167 ++++++
.../catalog/model/WorkflowIntInput.java | 166 ------
.../workflow/catalog/model/WorkflowOutput.java | 7 +-
.../resources/ComponentStatusResource.java | 340 +++++++++++
.../catalog/resources/EdgeResource.java | 380 ++++++++++++
.../catalog/resources/NodeResource.java | 402 +++++++++++++
.../catalog/resources/PortResource.java | 380 ++++++++++++
.../resources/WorkflowCatAbstractResource.java | 88 +++
.../resources/WorkflowCatalogResource.java | 90 +++
.../resources/WorkflowInputResource.java | 496 ++++++++++++++++
.../resources/WorkflowOutputResource.java | 489 ++++++++++++++++
.../catalog/resources/WorkflowResource.java | 437 ++++++++++++++
.../resources/WorkflowStatusResource.java | 369 ++++++++++++
.../catalog/utils/WorkflowCatalogJPAUtils.java | 270 +++++++++
.../utils/WorkflowCatalogQueryGenerator.java | 90 +++
.../utils/WorkflowCatalogResourceType.java | 33 ++
.../utils/WorkflowCatalogThriftConversion.java | 76 +++
.../catalog/utils/WorkflowCatalogUtils.java | 31 +
.../src/main/resources/META-INF/persistence.xml | 15 +-
.../src/main/resources/workflow-derby.sql | 11 +-
.../src/main/resources/workflow-mysql.sql | 9 +-
.../airavata/registry/cpi/WorkflowCatalog.java | 16 +-
.../registry/cpi/WorkflowCatalogException.java | 36 ++
40 files changed, 4547 insertions(+), 2505 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index 445449c..9275e56 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -173,7 +173,7 @@ job.notification.flags=abe
###########################################################################
# Credential Store module Configuration
###########################################################################
-start.credential.store=false
+start.credential.store=true
credential.store.keystore.url=/Users/chathuri/dev/airavata/credential-store/oa4mp/airavata_sym.jks
credential.store.keystore.alias=airavata
credential.store.keystore.password=airavata
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/WorkflowCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/WorkflowCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/WorkflowCatalogImpl.java
index f54419a..9c7df56 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/WorkflowCatalogImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/WorkflowCatalogImpl.java
@@ -24,11 +24,12 @@ package org.apache.airavata.registry.core.app.catalog.impl;
import org.apache.airavata.model.Workflow;
import org.apache.airavata.model.application.io.InputDataObjectType;
import org.apache.airavata.model.application.io.OutputDataObjectType;
-import org.apache.airavata.registry.core.app.catalog.resources.*;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogThriftConversion;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogUtils;
+import org.apache.airavata.registry.core.workflow.catalog.resources.*;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogThriftConversion;
+import org.apache.airavata.registry.core.workflow.catalog.utils.WorkflowCatalogUtils;
import org.apache.airavata.registry.cpi.AppCatalogException;
import org.apache.airavata.registry.cpi.WorkflowCatalog;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,7 +42,7 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
private final static Logger logger = LoggerFactory.getLogger(WorkflowCatalogImpl.class);
@Override
- public List<String> getAllWorkflows(String gatewayId) throws AppCatalogException {
+ public List<String> getAllWorkflows(String gatewayId) throws WorkflowCatalogException {
List<String> workflowIds = new ArrayList<String>();
try {
WorkflowResource resource = new WorkflowResource();
@@ -49,39 +50,39 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
workflowIds = resource.getAllIds();
} catch (Exception e) {
logger.error("Error while retrieving all the workflow template ids...", e);
- throw new AppCatalogException(e);
+ throw new WorkflowCatalogException(e);
}
return workflowIds;
}
@Override
- public Workflow getWorkflow(String workflowTemplateId) throws AppCatalogException {
+ public Workflow getWorkflow(String workflowTemplateId) throws WorkflowCatalogException {
try {
WorkflowResource resource = new WorkflowResource();
WorkflowResource wfResource = (WorkflowResource)resource.get(workflowTemplateId);
- return AppCatalogThriftConversion.getWorkflow(wfResource);
+ return WorkflowCatalogThriftConversion.getWorkflow(wfResource);
} catch (Exception e) {
logger.error("Error while retrieving the workflow...", e);
- throw new AppCatalogException(e);
+ throw new WorkflowCatalogException(e);
}
}
@Override
- public void deleteWorkflow(String workflowTemplateId) throws AppCatalogException {
+ public void deleteWorkflow(String workflowTemplateId) throws WorkflowCatalogException {
try {
WorkflowResource resource = new WorkflowResource();
resource.remove(workflowTemplateId);
} catch (Exception e) {
logger.error("Error while deleting the workflow...", e);
- throw new AppCatalogException(e);
+ throw new WorkflowCatalogException(e);
}
}
@Override
- public String registerWorkflow(Workflow workflow, String gatewayId) throws AppCatalogException {
+ public String registerWorkflow(Workflow workflow, String gatewayId) throws WorkflowCatalogException {
try {
WorkflowResource resource = new WorkflowResource();
- resource.setWfTemplateId(AppCatalogUtils.getID(workflow.getName()));
+ resource.setWfTemplateId(WorkflowCatalogUtils.getID(workflow.getName()));
resource.setWfName(workflow.getName());
resource.setGraph(workflow.getGraph());
resource.setGatewayId(gatewayId);
@@ -121,12 +122,12 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
return resource.getWfTemplateId();
} catch (Exception e) {
logger.error("Error while saving the workflow...", e);
- throw new AppCatalogException(e);
+ throw new WorkflowCatalogException(e);
}
}
@Override
- public void updateWorkflow(String workflowTemplateId, Workflow workflow) throws AppCatalogException {
+ public void updateWorkflow(String workflowTemplateId, Workflow workflow) throws WorkflowCatalogException {
try {
WorkflowResource resource = new WorkflowResource();
WorkflowResource existingWF = (WorkflowResource)resource.get(workflowTemplateId);
@@ -141,8 +142,8 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
for (InputDataObjectType input : existingwFInputs){
WorkflowInputResource wfInputResource = new WorkflowInputResource();
Map<String, String> ids = new HashMap<String, String>();
- ids.put(AppCatAbstractResource.WFInputConstants.WF_TEMPLATE_ID,existingWF.getWfTemplateId());
- ids.put(AppCatAbstractResource.WFInputConstants.INPUT_KEY,input.getName());
+ ids.put(WorkflowCatAbstractResource.WorkflowInputConstants.WF_TEMPLATE_ID,existingWF.getWfTemplateId());
+ ids.put(WorkflowCatAbstractResource.WorkflowInputConstants.INPUT_KEY,input.getName());
WorkflowInputResource existingInput = (WorkflowInputResource)wfInputResource.get(ids);
existingInput.setWorkflowResource(existingWF);
existingInput.setInputKey(input.getName());
@@ -161,8 +162,8 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
for (OutputDataObjectType output : workflowOutputs){
WorkflowOutputResource outputResource = new WorkflowOutputResource();
Map<String, String> ids = new HashMap<String, String>();
- ids.put(AppCatAbstractResource.WFOutputConstants.WF_TEMPLATE_ID,existingWF.getWfTemplateId());
- ids.put(AppCatAbstractResource.WFOutputConstants.OUTPUT_KEY,output.getName());
+ ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.WF_TEMPLATE_ID,existingWF.getWfTemplateId());
+ ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.OUTPUT_KEY,output.getName());
WorkflowOutputResource existingOutput = (WorkflowOutputResource)outputResource.get(ids);
existingOutput.setWorkflowResource(existingWF);
existingOutput.setOutputKey(output.getName());
@@ -174,51 +175,51 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
}
} catch (Exception e) {
logger.error("Error while updating the workflow...", e);
- throw new AppCatalogException(e);
+ throw new WorkflowCatalogException(e);
}
}
@Override
- public String getWorkflowTemplateId(String workflowName) throws AppCatalogException {
+ public String getWorkflowTemplateId(String workflowName) throws WorkflowCatalogException {
try {
WorkflowResource resource = new WorkflowResource();
- List<AppCatalogResource> resourceList = resource.get(AppCatAbstractResource.WorkflowConstants.WF_NAME, workflowName);
+ List<WorkflowCatalogResource> resourceList = resource.get(WorkflowCatAbstractResource.WorkflowConstants.WORKFLOW_NAME, workflowName);
if (resourceList != null && !resourceList.isEmpty()){
WorkflowResource wfResource = (WorkflowResource)resourceList.get(0);
return wfResource.getWfTemplateId();
}
} catch (Exception e) {
logger.error("Error while retrieving the workflow with the workflow name...", e);
- throw new AppCatalogException(e);
+ throw new WorkflowCatalogException(e);
}
return null;
}
@Override
- public boolean isWorkflowExistWithName(String workflowName) throws AppCatalogException {
+ public boolean isWorkflowExistWithName(String workflowName) throws WorkflowCatalogException {
try {
WorkflowResource resource = new WorkflowResource();
- List<AppCatalogResource> resourceList = resource.get(AppCatAbstractResource.WorkflowConstants.WF_NAME, workflowName);
+ List<WorkflowCatalogResource> resourceList = resource.get(WorkflowCatAbstractResource.WorkflowConstants.WORKFLOW_NAME, workflowName);
if (resourceList != null && !resourceList.isEmpty()){
return true;
}
} catch (Exception e) {
logger.error("Error while retrieving the workflow with the workflow name...", e);
- throw new AppCatalogException(e);
+ throw new WorkflowCatalogException(e);
}
return false;
}
@Override
- public void updateWorkflowOutputs(String workflowTemplateId, List<OutputDataObjectType> workflowOutputs) throws AppCatalogException {
+ public void updateWorkflowOutputs(String workflowTemplateId, List<OutputDataObjectType> workflowOutputs) throws WorkflowCatalogException {
WorkflowResource resource = new WorkflowResource();
WorkflowResource existingWF = (WorkflowResource)resource.get(workflowTemplateId);
if (workflowOutputs != null && workflowOutputs.size() != 0) {
for (OutputDataObjectType output : workflowOutputs) {
WorkflowOutputResource outputResource = new WorkflowOutputResource();
Map<String, String> ids = new HashMap<String, String>();
- ids.put(AppCatAbstractResource.WFOutputConstants.WF_TEMPLATE_ID, existingWF.getWfTemplateId());
- ids.put(AppCatAbstractResource.WFOutputConstants.OUTPUT_KEY, output.getName());
+ ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.WF_TEMPLATE_ID, existingWF.getWfTemplateId());
+ ids.put(WorkflowCatAbstractResource.WorkflowOutputConstants.OUTPUT_KEY, output.getName());
WorkflowOutputResource existingOutput = (WorkflowOutputResource) outputResource.get(ids);
existingOutput.setWorkflowResource(existingWF);
existingOutput.setOutputKey(output.getName());
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/Workflow.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/Workflow.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/Workflow.java
deleted file mode 100644
index 27cb18c..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/Workflow.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- *
- * 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.registry.core.app.catalog.model;
-
-
-import javax.persistence.*;
-import java.io.Serializable;
-import java.sql.Timestamp;
-
-@Entity
-@Table(name = "WORKFLOW")
-public class Workflow implements Serializable {
-
- @Column(name = "WF_NAME")
- private String wfName;
-
- @Column(name = "CREATED_USER")
- private String createdUser;
-
- @Lob
- @Column(name = "GRAPH")
- private char[] graph;
-
- @Id
- @Column(name = "WF_TEMPLATE_ID")
- private String wfTemplateId;
-
- @Column(name = "CREATION_TIME")
- private Timestamp creationTime;
-
- @Column(name = "UPDATE_TIME")
- private Timestamp updateTime;
-
- @Lob
- @Column(name = "IMAGE")
- private byte[] image;
-
- @Column(name = "GATEWAY_ID")
- private String gatewayId;
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public Timestamp getCreationTime() {
- return creationTime;
- }
-
- public void setCreationTime(Timestamp creationTime) {
- this.creationTime = creationTime;
- }
-
- public Timestamp getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(Timestamp updateTime) {
- this.updateTime = updateTime;
- }
-
- public String getWfName() {
- return wfName;
- }
-
- public String getCreatedUser() {
- return createdUser;
- }
-
- public char[] getGraph() {
- return graph;
- }
-
- public String getWfTemplateId() {
- return wfTemplateId;
- }
-
- public void setWfName(String wfName) {
- this.wfName=wfName;
- }
-
- public void setCreatedUser(String createdUser) {
- this.createdUser=createdUser;
- }
-
- public void setGraph(char[] graph) {
- this.graph=graph;
- }
-
- public void setWfTemplateId(String wfTemplateId) {
- this.wfTemplateId=wfTemplateId;
- }
-
- public byte[] getImage() {
- return image;
- }
-
- public void setImage(byte[] image) {
- this.image = image;
- }
-}
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowInput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowInput.java
deleted file mode 100644
index c559906..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowInput.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- *
- * 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.registry.core.app.catalog.model;
-
-
-import javax.persistence.*;
-import java.io.Serializable;
-
-@Entity
-@Table(name = "WORKFLOW_INPUT")
-@IdClass(WorkflowInput_PK.class)
-public class WorkflowInput implements Serializable {
- @Id
- @Column(name = "WF_TEMPLATE_ID")
- private String wfTemplateId;
- @Id
- @Column(name = "INPUT_KEY")
- private String inputKey;
- @Lob
- @Column(name = "INPUT_VALUE")
- private char[] inputVal;
- @Column(name = "DATA_TYPE")
- private String dataType;
- @Column(name = "METADATA")
- private String metadata;
- @Column(name = "APP_ARGUMENT")
- private String appArgument;
- @Column(name = "USER_FRIENDLY_DESC")
- private String userFriendlyDesc;
- @Column(name = "STANDARD_INPUT")
- private boolean standardInput;
- @Column(name = "INPUT_ORDER")
- private int inputOrder;
- @Column(name="IS_REQUIRED")
- private boolean isRequired;
- @Column(name="REQUIRED_TO_COMMANDLINE")
- private boolean requiredToCMD;
- @Column(name = "DATA_STAGED")
- private boolean dataStaged;
-
- @ManyToOne(cascade = CascadeType.MERGE)
- @JoinColumn(name = "WF_TEMPLATE_ID")
- private Workflow workflow;
-
- public String getWfTemplateId() {
- return wfTemplateId;
- }
-
- public void setWfTemplateId(String wfTemplateId) {
- this.wfTemplateId = wfTemplateId;
- }
-
- public String getInputKey() {
- return inputKey;
- }
-
- public void setInputKey(String inputKey) {
- this.inputKey = inputKey;
- }
-
- public char[] getInputVal() {
- return inputVal;
- }
-
- public void setInputVal(char[] inputVal) {
- this.inputVal = inputVal;
- }
-
- public String getDataType() {
- return dataType;
- }
-
- public void setDataType(String dataType) {
- this.dataType = dataType;
- }
-
- public String getMetadata() {
- return metadata;
- }
-
- public void setMetadata(String metadata) {
- this.metadata = metadata;
- }
-
- public String getAppArgument() {
- return appArgument;
- }
-
- public void setAppArgument(String appArgument) {
- this.appArgument = appArgument;
- }
-
- public String getUserFriendlyDesc() {
- return userFriendlyDesc;
- }
-
- public void setUserFriendlyDesc(String userFriendlyDesc) {
- this.userFriendlyDesc = userFriendlyDesc;
- }
-
- public Workflow getWorkflow() {
- return workflow;
- }
-
- public void setWorkflow(Workflow workflow) {
- this.workflow = workflow;
- }
-
- public boolean isStandardInput() {
- return standardInput;
- }
-
- public void setStandardInput(boolean standardInput) {
- this.standardInput = standardInput;
- }
-
- public int getInputOrder() {
- return inputOrder;
- }
-
- public void setInputOrder(int inputOrder) {
- this.inputOrder = inputOrder;
- }
-
- public boolean isRequired() {
- return isRequired;
- }
-
- public void setRequired(boolean isRequired) {
- this.isRequired = isRequired;
- }
-
- public boolean isRequiredToCMD() {
- return requiredToCMD;
- }
-
- public void setRequiredToCMD(boolean requiredToCMD) {
- this.requiredToCMD = requiredToCMD;
- }
-
- public boolean isDataStaged() {
- return dataStaged;
- }
-
- public void setDataStaged(boolean dataStaged) {
- this.dataStaged = dataStaged;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowInput_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowInput_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowInput_PK.java
deleted file mode 100644
index d72799c..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowInput_PK.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *
- * 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.registry.core.app.catalog.model;
-
-import java.io.Serializable;
-
-public class WorkflowInput_PK implements Serializable {
- private String wfTemplateId;
- private String inputKey;
-
- public WorkflowInput_PK(String wfTemplateId, String inputKey) {
- this.wfTemplateId = wfTemplateId;
- this.inputKey = inputKey;
- }
-
- public WorkflowInput_PK() {
- ;
- }
-
- @Override
- public boolean equals(Object o) {
- return false;
- }
-
- @Override
- public int hashCode() {
- return 1;
- }
-
- public String getWfTemplateId() {
- return wfTemplateId;
- }
-
- public void setWfTemplateId(String wfTemplateId) {
- this.wfTemplateId = wfTemplateId;
- }
-
- public String getInputKey() {
- return inputKey;
- }
-
- public void setInputKey(String inputKey) {
- this.inputKey = inputKey;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowOutput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowOutput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowOutput.java
deleted file mode 100644
index 3080b0f..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowOutput.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- *
- * 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.registry.core.app.catalog.model;
-
-
-import javax.persistence.*;
-import java.io.Serializable;
-
-@Entity
-@Table(name = "WORKFLOW_OUTPUT")
-@IdClass(WorkflowOutput_PK.class)
-public class WorkflowOutput implements Serializable {
- @Id
- @Column(name = "WF_TEMPLATE_ID")
- private String wfTemplateId;
- @Id
- @Column(name = "OUTPUT_KEY")
- private String outputKey;
- @Lob
- @Column(name = "OUTPUT_VALUE")
- private char[] outputVal;
- @Column(name = "DATA_TYPE")
- private String dataType;
- @Column(name = "VALIDITY_TYPE")
- private String validityType;
- @Column(name = "DATA_MOVEMENT")
- private boolean dataMovement;
- @Column(name = "DATA_NAME_LOCATION")
- private String dataNameLocation;
-
- @ManyToOne(cascade= CascadeType.MERGE)
- @JoinColumn(name = "WF_TEMPLATE_ID")
- private Workflow workflow;
-
- public String getWfTemplateId() {
- return wfTemplateId;
- }
-
- public void setWfTemplateId(String wfTemplateId) {
- this.wfTemplateId = wfTemplateId;
- }
-
- public String getDataType() {
- return dataType;
- }
-
- public void setDataType(String dataType) {
- this.dataType = dataType;
- }
-
- public Workflow getWorkflow() {
- return workflow;
- }
-
- public void setWorkflow(Workflow workflow) {
- this.workflow = workflow;
- }
-
- public String getOutputKey() {
- return outputKey;
- }
-
- public void setOutputKey(String outputKey) {
- this.outputKey = outputKey;
- }
-
- public char[] getOutputVal() {
- return outputVal;
- }
-
- public void setOutputVal(char[] outputVal) {
- this.outputVal = outputVal;
- }
-
- public String getValidityType() {
- return validityType;
- }
-
- public void setValidityType(String validityType) {
- this.validityType = validityType;
- }
-
- public boolean isDataMovement() {
- return dataMovement;
- }
-
- public void setDataMovement(boolean dataMovement) {
- this.dataMovement = dataMovement;
- }
-
- public String getDataNameLocation() {
- return dataNameLocation;
- }
-
- public void setDataNameLocation(String dataNameLocation) {
- this.dataNameLocation = dataNameLocation;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowOutput_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowOutput_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowOutput_PK.java
deleted file mode 100644
index 183afe8..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/WorkflowOutput_PK.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *
- * 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.registry.core.app.catalog.model;
-
-import java.io.Serializable;
-
-public class WorkflowOutput_PK implements Serializable {
- private String wfTemplateId;
- private String outputKey;
-
- public WorkflowOutput_PK(String wfTemplateId, String outputKey) {
- this.wfTemplateId = wfTemplateId;
- this.outputKey = outputKey;
- }
-
- public WorkflowOutput_PK() {
- ;
- }
-
- @Override
- public boolean equals(Object o) {
- return false;
- }
-
- @Override
- public int hashCode() {
- return 1;
- }
-
- public String getWfTemplateId() {
- return wfTemplateId;
- }
-
- public void setWfTemplateId(String wfTemplateId) {
- this.wfTemplateId = wfTemplateId;
- }
-
- public String getOutputKey() {
- return outputKey;
- }
-
- public void setOutputKey(String outputKey) {
- this.outputKey = outputKey;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowInputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowInputResource.java
deleted file mode 100644
index 94eb02b..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowInputResource.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/**
- * 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.registry.core.app.catalog.resources;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.registry.core.app.catalog.model.Workflow;
-import org.apache.airavata.registry.core.app.catalog.model.WorkflowInput;
-import org.apache.airavata.registry.core.app.catalog.model.WorkflowInput_PK;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogQueryGenerator;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogResourceType;
-import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class WorkflowInputResource extends AppCatAbstractResource {
-
- private final static Logger logger = LoggerFactory.getLogger(WorkflowInputResource.class);
-
- private String wfTemplateId;
- private String inputKey;
- private String dataType;
- private String inputVal;
- private String metadata;
- private String appArgument;
- private String userFriendlyDesc;
- private boolean standardInput;
- private int inputOrder;
- private boolean isRequired;
- private boolean requiredToCMD;
- private boolean dataStaged;
-
- private WorkflowResource workflowResource;
-
- public void remove(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW_INPUT);
- generator.setParameter(WFInputConstants.WF_TEMPLATE_ID, ids.get(WFInputConstants.WF_TEMPLATE_ID));
- generator.setParameter(WFInputConstants.INPUT_KEY, ids.get(WFInputConstants.INPUT_KEY));
- Query q = generator.deleteQuery(em);
- q.executeUpdate();
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public AppCatalogResource get(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap<String, String>) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW_INPUT);
- generator.setParameter(WFInputConstants.WF_TEMPLATE_ID, ids.get(WFInputConstants.WF_TEMPLATE_ID));
- generator.setParameter(WFInputConstants.INPUT_KEY, ids.get(WFInputConstants.INPUT_KEY));
- Query q = generator.selectQuery(em);
- WorkflowInput workflowInput = (WorkflowInput) q.getSingleResult();
- WorkflowInputResource workflowInputResource =
- (WorkflowInputResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.WORKFLOW_INPUT
- , workflowInput);
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- return workflowInputResource;
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public List<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException {
- List<AppCatalogResource> wfInputResources = new ArrayList<AppCatalogResource>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- Query q;
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW_INPUT);
- List results;
- if (fieldName.equals(WFInputConstants.WF_TEMPLATE_ID)) {
- generator.setParameter(WFInputConstants.WF_TEMPLATE_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowInput workflowInput = (WorkflowInput) result;
- WorkflowInputResource workflowInputResource =
- (WorkflowInputResource) AppCatalogJPAUtils.getResource(
- AppCatalogResourceType.WORKFLOW_INPUT, workflowInput);
- wfInputResources.add(workflowInputResource);
- }
- }
- } else if (fieldName.equals(WFInputConstants.INPUT_KEY)) {
- generator.setParameter(WFInputConstants.INPUT_KEY, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowInput workflowInput = (WorkflowInput) result;
- WorkflowInputResource workflowInputResource =
- (WorkflowInputResource) AppCatalogJPAUtils.getResource(
- AppCatalogResourceType.WORKFLOW_INPUT, workflowInput);
- wfInputResources.add(workflowInputResource);
- }
- }
- } else if (fieldName.equals(WFInputConstants.DATA_TYPE)) {
- generator.setParameter(WFInputConstants.DATA_TYPE, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowInput workflowInput = (WorkflowInput) result;
- WorkflowInputResource workflowInputResource =
- (WorkflowInputResource) AppCatalogJPAUtils.getResource(
- AppCatalogResourceType.WORKFLOW_INPUT, workflowInput);
- wfInputResources.add(workflowInputResource);
- }
- }
- } else {
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- logger.error("Unsupported field name for WFInput Resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for WFInput Resource.");
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return wfInputResources;
- }
-
- public List<AppCatalogResource> getAll() throws AppCatalogException {
- return null;
- }
-
- public List<String> getAllIds() throws AppCatalogException {
- return null;
- }
-
- public List<String> getIds(String fieldName, Object value) throws AppCatalogException {
- List<String> wfInputResourceIDs = new ArrayList<String>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- Query q;
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW_INPUT);
- List results;
- if (fieldName.equals(WFInputConstants.WF_TEMPLATE_ID)) {
- generator.setParameter(WFInputConstants.WF_TEMPLATE_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowInput workflowInput = (WorkflowInput) result;
- wfInputResourceIDs.add(workflowInput.getWfTemplateId());
- }
- }
- } else if (fieldName.equals(WFInputConstants.INPUT_KEY)) {
- generator.setParameter(WFInputConstants.INPUT_KEY, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowInput workflowInput = (WorkflowInput) result;
- wfInputResourceIDs.add(workflowInput.getWfTemplateId());
- }
- }
- } else if (fieldName.equals(WFInputConstants.DATA_TYPE)) {
- generator.setParameter(WFInputConstants.DATA_TYPE, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowInput workflowInput = (WorkflowInput) result;
- wfInputResourceIDs.add(workflowInput.getWfTemplateId());
- }
- }
- } else {
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- logger.error("Unsupported field name for WFInput resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for WFInput Resource.");
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return wfInputResourceIDs;
- }
-
- public void save() throws AppCatalogException {
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- WorkflowInput existingWFInput = em.find(WorkflowInput.class, new WorkflowInput_PK(wfTemplateId, inputKey));
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- WorkflowInput workflowInput;
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- if (existingWFInput == null) {
- workflowInput = new WorkflowInput();
- } else {
- workflowInput=existingWFInput;
- }
- workflowInput.setWfTemplateId(wfTemplateId);
- Workflow workflow = em.find(Workflow.class, wfTemplateId);
- workflowInput.setWorkflow(workflow);
- workflowInput.setDataType(dataType);
- workflowInput.setInputKey(inputKey);
- if (inputVal != null){
- workflowInput.setInputVal(inputVal.toCharArray());
- }
- workflowInput.setMetadata(metadata);
- workflowInput.setAppArgument(appArgument);
- workflowInput.setUserFriendlyDesc(userFriendlyDesc);
- workflowInput.setStandardInput(standardInput);
- workflowInput.setRequiredToCMD(requiredToCMD);
- workflowInput.setRequired(isRequired);
- workflowInput.setDataStaged(dataStaged);
- if (existingWFInput == null) {
- em.persist(workflowInput);
- } else {
- em.merge(workflowInput);
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public boolean isExists(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap<String, String>) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- WorkflowInput workflowInput = em.find(WorkflowInput.class, new WorkflowInput_PK(
- ids.get(WFInputConstants.WF_TEMPLATE_ID),
- ids.get(WFInputConstants.INPUT_KEY)));
-
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- return workflowInput != null;
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public String getWfTemplateId() {
- return wfTemplateId;
- }
-
- public void setWfTemplateId(String wfTemplateId) {
- this.wfTemplateId = wfTemplateId;
- }
-
- public String getInputKey() {
- return inputKey;
- }
-
- public void setInputKey(String inputKey) {
- this.inputKey = inputKey;
- }
-
- public String getDataType() {
- return dataType;
- }
-
- public void setDataType(String dataType) {
- this.dataType = dataType;
- }
-
- public String getInputVal() {
- return inputVal;
- }
-
- public void setInputVal(String inputVal) {
- this.inputVal = inputVal;
- }
-
- public String getMetadata() {
- return metadata;
- }
-
- public void setMetadata(String metadata) {
- this.metadata = metadata;
- }
-
- public String getAppArgument() {
- return appArgument;
- }
-
- public void setAppArgument(String appArgument) {
- this.appArgument = appArgument;
- }
-
- public String getUserFriendlyDesc() {
- return userFriendlyDesc;
- }
-
- public void setUserFriendlyDesc(String userFriendlyDesc) {
- this.userFriendlyDesc = userFriendlyDesc;
- }
-
- public WorkflowResource getWorkflowResource() {
- return workflowResource;
- }
-
- public void setWorkflowResource(WorkflowResource workflowResource) {
- this.workflowResource = workflowResource;
- }
-
- public boolean isStandardInput() {
- return standardInput;
- }
-
- public void setStandardInput(boolean standardInput) {
- this.standardInput = standardInput;
- }
-
- public int getInputOrder() {
- return inputOrder;
- }
-
- public void setInputOrder(int inputOrder) {
- this.inputOrder = inputOrder;
- }
-
- public boolean getRequired() {
- return isRequired;
- }
-
- public void setRequired(boolean required) {
- this.isRequired = required;
- }
-
- public boolean getRequiredToCMD() {
- return requiredToCMD;
- }
-
- public void setRequiredToCMD(boolean requiredToCMD) {
- this.requiredToCMD = requiredToCMD;
- }
-
- public boolean isDataStaged() {
- return dataStaged;
- }
-
- public void setDataStaged(boolean dataStaged) {
- this.dataStaged = dataStaged;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowOutputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowOutputResource.java
deleted file mode 100644
index f216731..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowOutputResource.java
+++ /dev/null
@@ -1,455 +0,0 @@
-/**
- * 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.registry.core.app.catalog.resources;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.registry.core.app.catalog.model.Workflow;
-import org.apache.airavata.registry.core.app.catalog.model.WorkflowOutput;
-import org.apache.airavata.registry.core.app.catalog.model.WorkflowOutput_PK;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogQueryGenerator;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogResourceType;
-import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class WorkflowOutputResource extends AppCatAbstractResource {
- private final static Logger logger = LoggerFactory.getLogger(WorkflowOutputResource.class);
-
- private String wfTemplateId;
- private String outputKey;
- private String outputVal;
- private String dataType;
- private String validityType;
- private boolean dataMovement;
- private String dataNameLocation;
-
- private WorkflowResource workflowResource;
-
- public void remove(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW_OUTPUT);
- generator.setParameter(WFOutputConstants.WF_TEMPLATE_ID, ids.get(WFOutputConstants.WF_TEMPLATE_ID));
- generator.setParameter(WFOutputConstants.OUTPUT_KEY, ids.get(WFOutputConstants.OUTPUT_KEY));
- Query q = generator.deleteQuery(em);
- q.executeUpdate();
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public AppCatalogResource get(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW_OUTPUT);
- generator.setParameter(WFOutputConstants.WF_TEMPLATE_ID, ids.get(WFOutputConstants.WF_TEMPLATE_ID));
- generator.setParameter(WFOutputConstants.OUTPUT_KEY, ids.get(WFOutputConstants.OUTPUT_KEY));
- Query q = generator.selectQuery(em);
- WorkflowOutput wfOutput = (WorkflowOutput) q.getSingleResult();
- WorkflowOutputResource workflowOutputResource =
- (WorkflowOutputResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.WORKFLOW_OUTPUT
- , wfOutput);
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- return workflowOutputResource;
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public List<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException {
- List<AppCatalogResource> wfOutputResources = new ArrayList<AppCatalogResource>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- Query q;
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW_OUTPUT);
- List results;
- if (fieldName.equals(WFOutputConstants.WF_TEMPLATE_ID)) {
- generator.setParameter(WFOutputConstants.WF_TEMPLATE_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowOutput wfOutput = (WorkflowOutput) result;
- WorkflowOutputResource workflowOutputResource =
- (WorkflowOutputResource) AppCatalogJPAUtils.getResource(
- AppCatalogResourceType.WORKFLOW_OUTPUT, wfOutput);
- wfOutputResources.add(workflowOutputResource);
- }
- }
- } else if (fieldName.equals(WFOutputConstants.OUTPUT_KEY)) {
- generator.setParameter(WFOutputConstants.OUTPUT_KEY, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowOutput workflowOutput = (WorkflowOutput) result;
- WorkflowOutputResource workflowOutputResource =
- (WorkflowOutputResource) AppCatalogJPAUtils.getResource(
- AppCatalogResourceType.WORKFLOW_OUTPUT, workflowOutput);
- wfOutputResources.add(workflowOutputResource);
- }
- }
- } else if (fieldName.equals(WFOutputConstants.DATA_TYPE)) {
- generator.setParameter(WFOutputConstants.DATA_TYPE, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowOutput workflowOutput = (WorkflowOutput) result;
- WorkflowOutputResource workflowOutputResource =
- (WorkflowOutputResource) AppCatalogJPAUtils.getResource(
- AppCatalogResourceType.WORKFLOW_OUTPUT, workflowOutput);
- wfOutputResources.add(workflowOutputResource);
- }
- }
- } else {
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- logger.error("Unsupported field name for WF Output Resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for WF Output Resource.");
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return wfOutputResources;
- }
-
- public List<AppCatalogResource> getAll() throws AppCatalogException {
- return null;
- }
-
- public List<String> getAllIds() throws AppCatalogException {
- return null;
- }
-
- public List<String> getIds(String fieldName, Object value) throws AppCatalogException {
- List<String> wfOutputResourceIDs = new ArrayList<String>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- Query q;
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW_OUTPUT);
- List results;
- if (fieldName.equals(WFOutputConstants.WF_TEMPLATE_ID)) {
- generator.setParameter(WFOutputConstants.WF_TEMPLATE_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowOutput workflowOutput = (WorkflowOutput) result;
- wfOutputResourceIDs.add(workflowOutput.getWfTemplateId());
- }
- }
- }
- if (fieldName.equals(WFOutputConstants.OUTPUT_KEY)) {
- generator.setParameter(WFOutputConstants.OUTPUT_KEY, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowOutput workflowOutput = (WorkflowOutput) result;
- wfOutputResourceIDs.add(workflowOutput.getWfTemplateId());
- }
- }
- } else if (fieldName.equals(WFOutputConstants.DATA_TYPE)) {
- generator.setParameter(WFOutputConstants.DATA_TYPE, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- WorkflowOutput workflowOutput = (WorkflowOutput) result;
- wfOutputResourceIDs.add(workflowOutput.getWfTemplateId());
- }
- }
- } else {
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- logger.error("Unsupported field name for WF Output resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for WF Output Resource.");
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return wfOutputResourceIDs;
- }
-
- public void save() throws AppCatalogException {
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- WorkflowOutput existingWorkflowOutput = em.find(WorkflowOutput.class,
- new WorkflowOutput_PK(wfTemplateId, outputKey));
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
-
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- if (existingWorkflowOutput != null) {
- existingWorkflowOutput.setWfTemplateId(wfTemplateId);
- Workflow workflow = em.find(Workflow.class, wfTemplateId);
- existingWorkflowOutput.setWorkflow(workflow);
- existingWorkflowOutput.setDataType(dataType);
- existingWorkflowOutput.setOutputKey(outputKey);
- if (outputVal != null){
- existingWorkflowOutput.setOutputVal(outputVal.toCharArray());
- }
- existingWorkflowOutput.setValidityType(validityType);
- existingWorkflowOutput.setDataMovement(dataMovement);
- existingWorkflowOutput.setDataNameLocation(dataNameLocation);
- em.merge(existingWorkflowOutput);
- } else {
- WorkflowOutput workflowOutput = new WorkflowOutput();
- workflowOutput.setWfTemplateId(wfTemplateId);
- Workflow workflow = em.find(Workflow.class, wfTemplateId);
- workflowOutput.setWorkflow(workflow);
- workflowOutput.setDataType(dataType);
- workflowOutput.setOutputKey(outputKey);
- if (outputVal != null){
- workflowOutput.setOutputVal(outputVal.toCharArray());
- }
- workflowOutput.setValidityType(validityType);
- workflowOutput.setDataMovement(dataMovement);
- workflowOutput.setDataNameLocation(dataNameLocation);
- em.persist(workflowOutput);
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public boolean isExists(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- WorkflowOutput workflowOutput = em.find(WorkflowOutput.class, new WorkflowOutput_PK(
- ids.get(WFOutputConstants.WF_TEMPLATE_ID),
- ids.get(WFOutputConstants.OUTPUT_KEY)));
-
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- return workflowOutput != null;
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public String getWfTemplateId() {
- return wfTemplateId;
- }
-
- public void setWfTemplateId(String wfTemplateId) {
- this.wfTemplateId = wfTemplateId;
- }
-
- public String getOutputKey() {
- return outputKey;
- }
-
- public void setOutputKey(String outputKey) {
- this.outputKey = outputKey;
- }
-
- public String getOutputVal() {
- return outputVal;
- }
-
- public void setOutputVal(String outputVal) {
- this.outputVal = outputVal;
- }
-
- public String getDataType() {
- return dataType;
- }
-
- public void setDataType(String dataType) {
- this.dataType = dataType;
- }
-
- public WorkflowResource getWorkflowResource() {
- return workflowResource;
- }
-
- public void setWorkflowResource(WorkflowResource workflowResource) {
- this.workflowResource = workflowResource;
- }
-
- public String getValidityType() {
- return validityType;
- }
-
- public void setValidityType(String validityType) {
- this.validityType = validityType;
- }
-
- public boolean isDataMovement() {
- return dataMovement;
- }
-
- public void setDataMovement(boolean dataMovement) {
- this.dataMovement = dataMovement;
- }
-
- public String getDataNameLocation() {
- return dataNameLocation;
- }
-
- public void setDataNameLocation(String dataNameLocation) {
- this.dataNameLocation = dataNameLocation;
- }
-}
[28/50] [abbrv] airavata git commit: adding workflow related resource
layer
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogQueryGenerator.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogQueryGenerator.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogQueryGenerator.java
new file mode 100644
index 0000000..d3a5a42
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogQueryGenerator.java
@@ -0,0 +1,90 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.utils;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.util.HashMap;
+import java.util.Map;
+
+public class WorkflowCatalogQueryGenerator {
+ private String tableName;
+ private Map<String,Object> matches=new HashMap<String, Object>();
+ private static final String SELECT_OBJ="p";
+ private static final String DELETE_OBJ="p";
+ private static final String TABLE_OBJ="p";
+
+ public WorkflowCatalogQueryGenerator(String tableName, Object[]... params) {
+ setTableName(tableName);
+ for (Object[] param : params) {
+ addMatch(param[0].toString(), param[1]);
+ }
+ }
+
+ public String getTableName() {
+ return tableName;
+ }
+ public void setTableName(String tableName) {
+ this.tableName = tableName;
+ }
+ public void addMatch(String colName, Object matchValue){
+ matches.put(colName, matchValue);
+ }
+
+ public void setParameter(String colName, Object matchValue){
+ addMatch(colName, matchValue);
+ }
+
+ public Query selectQuery(EntityManager entityManager){
+ String queryString="SELECT "+ SELECT_OBJ + " FROM " +getTableName()+" "+TABLE_OBJ;
+ return generateQueryWithParameters(entityManager, queryString);
+ }
+
+ public Query deleteQuery(EntityManager entityManager){
+ String queryString="Delete FROM "+getTableName()+" "+TABLE_OBJ;
+ return generateQueryWithParameters(entityManager, queryString);
+ }
+
+ private Query generateQueryWithParameters(EntityManager entityManager,
+ String queryString) {
+ Map<String,Object> queryParameters=new HashMap<String, Object>();
+ if (matches.size()>0){
+ String matchString = "";
+ int paramCount=0;
+ for (String colName : matches.keySet()) {
+ String paramName="param"+paramCount;
+ queryParameters.put(paramName, matches.get(colName));
+ if (!matchString.equals("")){
+ matchString+=" AND ";
+ }
+ matchString+=TABLE_OBJ+"."+colName+" =:"+paramName;
+ paramCount++;
+ }
+ queryString+=" WHERE "+matchString;
+ }
+ Query query = entityManager.createQuery(queryString);
+ for (String paramName : queryParameters.keySet()) {
+ query.setParameter(paramName, queryParameters.get(paramName));
+ }
+ return query;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogResourceType.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogResourceType.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogResourceType.java
new file mode 100644
index 0000000..2af0151
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogResourceType.java
@@ -0,0 +1,33 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.utils;
+
+public enum WorkflowCatalogResourceType {
+ WORKFLOW,
+ WORKFLOW_INPUT,
+ WORKFLOW_OUTPUT,
+ WORKFLOW_STATUS,
+ COMPONENT_STATUS,
+ NODE,
+ EDGE,
+ PORT
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogThriftConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogThriftConversion.java
new file mode 100644
index 0000000..68b42e3
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogThriftConversion.java
@@ -0,0 +1,76 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.utils;
+
+import org.apache.airavata.model.Workflow;
+import org.apache.airavata.model.application.io.DataType;
+import org.apache.airavata.model.application.io.InputDataObjectType;
+import org.apache.airavata.registry.core.workflow.catalog.resources.WorkflowCatAbstractResource;
+import org.apache.airavata.registry.core.workflow.catalog.resources.WorkflowCatalogResource;
+import org.apache.airavata.registry.core.workflow.catalog.resources.WorkflowInputResource;
+import org.apache.airavata.registry.core.workflow.catalog.resources.WorkflowResource;
+import org.apache.airavata.registry.cpi.WorkflowCatalogException;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WorkflowCatalogThriftConversion {
+
+ public static InputDataObjectType getWorkflowInput (WorkflowInputResource resource){
+ InputDataObjectType input = new InputDataObjectType();
+ input.setName(resource.getInputKey());
+ input.setApplicationArgument(resource.getAppArgument());
+ input.setInputOrder(resource.getInputOrder());
+ input.setType(DataType.valueOf(resource.getDataType()));
+ input.setMetaData(resource.getMetadata());
+ input.setUserFriendlyDescription(resource.getUserFriendlyDesc());
+ input.setIsRequired(resource.getRequired());
+ input.setRequiredToAddedToCommandLine(resource.getRequiredToCMD());
+ input.setDataStaged(resource.isDataStaged());
+ return input;
+ }
+
+ public static List<InputDataObjectType> getWFInputs(List<WorkflowCatalogResource> resources){
+ List<InputDataObjectType> inputResources = new ArrayList<InputDataObjectType>();
+ if (resources != null && !resources.isEmpty()){
+ for (WorkflowCatalogResource resource : resources){
+ inputResources.add(getWorkflowInput((WorkflowInputResource) resource));
+ }
+ }
+ return inputResources;
+ }
+
+ public static Workflow getWorkflow (WorkflowResource resource) throws WorkflowCatalogException {
+ Workflow workflow = new Workflow();
+ workflow.setTemplateId(resource.getWfTemplateId());
+ workflow.setGraph(resource.getGraph());
+ workflow.setName(resource.getWfName());
+ if (resource.getImage() != null){
+ workflow.setImage(resource.getImage().getBytes());
+ }
+ WorkflowInputResource inputResource = new WorkflowInputResource();
+ List<WorkflowCatalogResource> resources = inputResource.get(WorkflowCatAbstractResource.WorkflowInputConstants.WF_TEMPLATE_ID, resource.getWfTemplateId());
+ workflow.setWorkflowInputs(getWFInputs(resources));
+
+ return workflow;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogUtils.java
new file mode 100644
index 0000000..dce8263
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/utils/WorkflowCatalogUtils.java
@@ -0,0 +1,31 @@
+/*
+ *
+ * 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.registry.core.workflow.catalog.utils;
+
+import java.util.UUID;
+
+public class WorkflowCatalogUtils {
+ public static String getID (String name){
+ String pro = name.replaceAll("\\s", "");
+ return pro + "_" + UUID.randomUUID();
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
index da544c9..7d2a15a 100644
--- a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
+++ b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
@@ -61,9 +61,6 @@
<class>org.apache.airavata.registry.core.app.catalog.model.JobManagerCommand</class>
<class>org.apache.airavata.registry.core.app.catalog.model.LocalSubmission</class>
<class>org.apache.airavata.registry.core.app.catalog.model.LocalDataMovement</class>
- <class>org.apache.airavata.registry.core.app.catalog.model.Workflow</class>
- <class>org.apache.airavata.registry.core.app.catalog.model.WorkflowInput</class>
- <class>org.apache.airavata.registry.core.app.catalog.model.WorkflowOutput</class>
<class>org.apache.airavata.registry.core.app.catalog.model.Configuration</class>
<class>org.apache.airavata.registry.core.app.catalog.model.GatewayClientCredential</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
@@ -104,4 +101,16 @@
<class>org.apache.airavata.registry.core.data.catalog.model.Configuration</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
</persistence-unit>
+ <persistence-unit name="workflowcatalog_data">
+ <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+ <class>org.apache.airavata.registry.core.workflow.catalog.model.Workflow</class>
+ <class>org.apache.airavata.registry.core.workflow.catalog.model.WorkflowInput</class>
+ <class>org.apache.airavata.registry.core.workflow.catalog.model.WorkflowOutput</class>
+ <class>org.apache.airavata.registry.core.workflow.catalog.model.Edge</class>
+ <class>org.apache.airavata.registry.core.workflow.catalog.model.Node</class>
+ <class>org.apache.airavata.registry.core.workflow.catalog.model.Port</class>
+ <class>org.apache.airavata.registry.core.workflow.catalog.model.ComponentStatus</class>
+ <class>org.apache.airavata.registry.core.workflow.catalog.model.WorkflowStatus</class>
+ <exclude-unlisted-classes>true</exclude-unlisted-classes>
+ </persistence-unit>
</persistence>
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/resources/workflow-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflow-derby.sql b/modules/registry/registry-core/src/main/resources/workflow-derby.sql
index f2af1be..8c590f8 100644
--- a/modules/registry/registry-core/src/main/resources/workflow-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/workflow-derby.sql
@@ -36,7 +36,7 @@ CREATE TABLE WORKFLOW_INPUT
(
TEMPLATE_ID VARCHAR(255),
INPUT_KEY VARCHAR(255),
- INPUT_VALUE VARCHAR(255),
+ INPUT_VALUE CLOB,
DATA_TYPE VARCHAR(255),
METADATA VARCHAR(255),
APP_ARGUMENT VARCHAR(255),
@@ -70,10 +70,12 @@ CREATE TABLE WORKFLOW_OUTPUT
CREATE TABLE COMPONENT_STATUS
(
STATUS_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
STATE VARCHAR(255),
REASON VARCHAR(255),
- PRIMARY KEY (STATUS_ID)
UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (STATUS_ID)
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
CREATE TABLE WORKFLOW_STATUS
@@ -83,7 +85,7 @@ CREATE TABLE WORKFLOW_STATUS
STATE VARCHAR(255),
REASON VARCHAR(255),
UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (STATUS_ID, COMPONENT_ID),
+ PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -94,6 +96,7 @@ CREATE TABLE EDGE
NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -105,6 +108,7 @@ CREATE TABLE PORT
NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (PORT_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -118,6 +122,7 @@ CREATE TABLE NODE
APPLICATION_NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (NODE_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflow-mysql.sql b/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
index d723343..3527d60 100644
--- a/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
@@ -54,7 +54,7 @@ CREATE TABLE WORKFLOW_OUTPUT
(
TEMPLATE_ID VARCHAR(255),
OUTPUT_KEY VARCHAR(255),
- OUTPUT_VALUE VARCHAR(255),
+ OUTPUT_VALUE LONGTEXT,
DATA_TYPE VARCHAR(255),
IS_REQUIRED SMALLINT,
REQUIRED_TO_COMMANDLINE SMALLINT,
@@ -70,10 +70,12 @@ CREATE TABLE WORKFLOW_OUTPUT
CREATE TABLE COMPONENT_STATUS
(
STATUS_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
STATE VARCHAR(255),
REASON VARCHAR(255),
UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (STATUS_ID)
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
CREATE TABLE WORKFLOW_STATUS
@@ -83,7 +85,7 @@ CREATE TABLE WORKFLOW_STATUS
STATE VARCHAR(255),
REASON VARCHAR(255),
UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (STATUS_ID, COMPONENT_ID),
+ PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -94,6 +96,7 @@ CREATE TABLE EDGE
NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -105,6 +108,7 @@ CREATE TABLE PORT
NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (PORT_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
@@ -118,6 +122,7 @@ CREATE TABLE NODE
APPLICATION_NAME VARCHAR (255),
COMPONENT_STATUS_ID VARCHAR(255),
DESCRIPTION VARCHAR(500),
+ CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (NODE_ID, TEMPLATE_ID),
FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
index f465e7e..34c8ff6 100644
--- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalog.java
@@ -28,19 +28,19 @@ import java.util.List;
public interface WorkflowCatalog {
- public List<String> getAllWorkflows(String gatewayId) throws AppCatalogException;
+ public List<String> getAllWorkflows(String gatewayId) throws WorkflowCatalogException;
- public org.apache.airavata.model.Workflow getWorkflow(String workflowTemplateId) throws AppCatalogException;
+ public org.apache.airavata.model.Workflow getWorkflow(String workflowTemplateId) throws WorkflowCatalogException;
- public void deleteWorkflow(String workflowTemplateId) throws AppCatalogException;
+ public void deleteWorkflow(String workflowTemplateId) throws WorkflowCatalogException;
- public String registerWorkflow(org.apache.airavata.model.Workflow workflow, String gatewayId) throws AppCatalogException;
+ public String registerWorkflow(org.apache.airavata.model.Workflow workflow, String gatewayId) throws WorkflowCatalogException;
- public void updateWorkflow(String workflowTemplateId, org.apache.airavata.model.Workflow workflow) throws AppCatalogException;
+ public void updateWorkflow(String workflowTemplateId, org.apache.airavata.model.Workflow workflow) throws WorkflowCatalogException;
- public String getWorkflowTemplateId(String workflowName) throws AppCatalogException;
+ public String getWorkflowTemplateId(String workflowName) throws WorkflowCatalogException;
- public boolean isWorkflowExistWithName(String workflowName) throws AppCatalogException;
+ public boolean isWorkflowExistWithName(String workflowName) throws WorkflowCatalogException;
- public void updateWorkflowOutputs(String workflowTemplateId, List<OutputDataObjectType> workflowOutputs) throws AppCatalogException;
+ public void updateWorkflowOutputs(String workflowTemplateId, List<OutputDataObjectType> workflowOutputs) throws WorkflowCatalogException;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalogException.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalogException.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalogException.java
new file mode 100644
index 0000000..5581115
--- /dev/null
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/WorkflowCatalogException.java
@@ -0,0 +1,36 @@
+/**
+ * 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.registry.cpi;
+
+public class WorkflowCatalogException extends Exception{
+ private static final long serialVersionUID = -2849422320139467602L;
+
+ public WorkflowCatalogException(Throwable e) {
+ super(e);
+ }
+
+ public WorkflowCatalogException(String message) {
+ super(message, null);
+ }
+
+ public WorkflowCatalogException(String message, Throwable e) {
+ super(message, e);
+ }
+}
[07/50] [abbrv] airavata git commit: Adding API method descriptions
to App Catalog Airavata Thrift APIs
Posted by ch...@apache.org.
Adding API method descriptions to App Catalog Airavata Thrift APIs
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/9ce83af8
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/9ce83af8
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/9ce83af8
Branch: refs/heads/master
Commit: 9ce83af821814636653f1b98b7002147e7d16c12
Parents: ea33800
Author: Eroma Abeysinghe <er...@gmail.com>
Authored: Wed Jan 20 10:38:49 2016 -0500
Committer: Eroma Abeysinghe <er...@gmail.com>
Committed: Wed Jan 20 10:38:49 2016 -0500
----------------------------------------------------------------------
.../airavata-apis/airavata_api.thrift | 392 +++++++++++--------
1 file changed, 236 insertions(+), 156 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/9ce83af8/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
index 68e145d..a49564f 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -201,7 +201,6 @@ service Airavata {
* belonging to a Gateway.
*
**/
-
string generateAndRegisterSSHKeys (1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required string userName)
@@ -221,7 +220,6 @@ service Airavata {
* @return publicKey
*
**/
-
string getSSHPubKey (1: required security_model.AuthzToken authzToken,
2: required string airavataCredStoreToken,
3: required string gatewayId)
@@ -230,6 +228,7 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase)
/**
+ *
* Get a Public Key by Providing the Token
*
* @param CredStoreToken
@@ -249,6 +248,7 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase)
/**
+ *
* Get all Public Keys of the Gateway
*
* @param CredStoreToken
@@ -260,7 +260,6 @@ service Airavata {
* @return publicKey
*
**/
-
map<string, string> getAllGatewaySSHPubKeys (1: required security_model.AuthzToken authzToken,
2: required string gatewayId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -268,6 +267,7 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase)
/**
+ *
* Delete a Gateway
*
* @param gatewayId
@@ -277,7 +277,6 @@ service Airavata {
* Boolean identifier for the success or failure of the deletion operation.
*
**/
-
bool deleteSSHPubKey (1: required security_model.AuthzToken authzToken,
2: required string airavataCredStoreToken,
3: required string gatewayId)
@@ -286,6 +285,7 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase)
/**
+ *
* Creates a Project with basic metadata.
* A Project is a container of experiments.
*
@@ -293,10 +293,9 @@ service Airavata {
* The identifier for the requested gateway.
*
* @param Project
- * The Project Object described in the workspace_model
+ * The Project Object described in the workspace_model.
*
**/
-
string createProject (1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required workspace_model.Project project)
@@ -306,6 +305,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Update an Existing Project
*
* @param projectId
@@ -315,7 +315,6 @@ service Airavata {
* Currently this does not return any value.
*
**/
-
void updateProject (1: required security_model.AuthzToken authzToken,
2: required string projectId,
3: required workspace_model.Project updatedProject)
@@ -326,17 +325,17 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
+ *
* Get a Project by ID
- * This method is to obtain a project by providing a projectId
+ * This method is to obtain a project by providing a projectId.
*
* @param projectId
- * projectId of the project you require
+ * projectId of the project you require.
*
* @return project
- * project data model will be returned
+ * project data model will be returned.
*
**/
-
workspace_model.Project getProject (1: required security_model.AuthzToken authzToken, 2: required string projectId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -345,17 +344,19 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
+ *
* Delete a Project
- * This method is used to delete an existing Project
+ * This method is used to delete an existing Project.
*
* @param projectId
- * projectId of the project you want to delete
+ * projectId of the project you want to delete.
*
* @return boolean
* Boolean identifier for the success or failure of the deletion operation.
*
+ * NOTE: This method is not used within gateways connected with Airavata.
+ *
**/
-
bool deleteProject (1: required security_model.AuthzToken authzToken, 2: required string projectId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -364,23 +365,23 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
- * Get all Project by user with pagination. Results will be ordered based
- * on creation time DESC
+ *
+ * Get All User Projects
+ * Get all Project for the user with pagination. Results will be ordered based on creation time DESC.
*
* @param gatewayId
* The identifier for the requested gateway.
*
* @param userName
- * The identifier of the user
+ * The identifier of the user.
*
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
*
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
*
**/
-
list<workspace_model.Project> getUserProjects(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required string userName,
@@ -392,21 +393,26 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Get all Project for user by project name with pagination.Results will be ordered based
- * on creation time DESC
+ *
+ * Search User Projects by Project Name
+ * Get all Project for user by project name with pagination.Results will be ordered based on creation time DESC.
*
* @param gatewayId
- * The identifier for the requested gateway.
+ * The unique identifier for the requested gateway.
+ *
* @param userName
- * The identifier of the user
+ * The identifier of the user.
+ *
* @param projectName
- * The name of the project on which the results to be fetched
+ * The name of the project on which the results to be fetched.
+ *
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
**/
-
list<workspace_model.Project> searchProjectsByProjectName (1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required string userName,
@@ -419,21 +425,26 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Search and get all Projects for user by project description with pagination. Results
- * will be ordered based on creation time DESC
+ *
+ * Search User Projects by Project Description
+ * Search and get all Projects for user by project description with pagination. Results will be ordered based on creation time DESC.
*
* @param gatewayId
- * The identifier for the requested gateway.
+ * The unique identifier of the gateway making the request.
+ *
* @param userName
- * The identifier of the user
+ * The identifier of the user.
+ *
* @param description
- * The description to be matched
+ * The description to be matched.
+ *
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
**/
-
list<workspace_model.Project> searchProjectsByProjectDesc(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required string userName,
@@ -446,21 +457,26 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Search Experiments by experiment name with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by Name
+ * Search user Experiments using experiment name with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user who created the experiments.
+ *
* @param expName
- * Experiment name to be matched
+ * Experiment name to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
**/
-
list<experiment_model.ExperimentSummaryModel> searchExperimentsByName(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required string userName,
@@ -473,21 +489,26 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Search Experiments by experiment name with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search By Experiment Description
+ * Search Experiments by experiment description with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param description
- * Experiment description to be matched
+ * Experiment description to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
**/
-
list<experiment_model.ExperimentSummaryModel> searchExperimentsByDesc(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required string userName,
@@ -500,21 +521,26 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Search Experiments by application id with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search Experiment By the Application
+ * Search Experiments of a particular application id with pagination. Results will be sorted based on creation time DESC
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param applicationId
- * Application id to be matched
+ * Application id to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
**/
-
list<experiment_model.ExperimentSummaryModel> searchExperimentsByApplication(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required string userName,
@@ -527,21 +553,26 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Search Experiments by experiment status with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by Status
+ * Search all the Experiments of the given user by experiment status with pagination. Results will be sorted based on creation time DESC
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user making the request.
+ *
* @param experimentState
- * Experiement state to be matched
+ * Experiement state to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
**/
-
list<experiment_model.ExperimentSummaryModel> searchExperimentsByStatus(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required string userName,
@@ -554,23 +585,32 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Search Experiments by experiment creation time with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by the Creation Time
+ * This will search all the experiments of the given user by experiment creation time with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param fromTime
- * Start time of the experiments creation time
+ * Start time of the experiments creation time.
+ *
* @param toTime
- * End time of the experiement creation time
+ * End time of the experiement creation time.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
+ * @return ExperimentSummaryModel
+ * List of experiments for the given search filter. Here only the Experiment summary will be returned.
+ *
**/
-
list<experiment_model.ExperimentSummaryModel> searchExperimentsByCreationTime(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required string userName,
@@ -584,19 +624,27 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
- * based on creation time DESC
+ * Search Experiments.
+ * Search Experiments by using multiple filter criteria with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user requesting the search function.
+ *
* @param filters
- * map of multiple filter criteria.
+ * Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
+ * @return ExperimentSummaryModel
+ * List of experiments for the given search filter. Here only the Experiment summary will be returned.
+ *
**/
list<experiment_model.ExperimentSummaryModel> searchExperiments(1: required security_model.AuthzToken authzToken,
@@ -611,13 +659,19 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Get Experiment Statisitics for the given gateway for a specific time period
+ *
+ * Get Experiment Statistics
+ * Get Experiment Statisitics for a given gateway for a specific time period. This feature is available only for admins of a particular gateway. Gateway admin access is managed by the user roles.
+ *
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the gateway making the request to fetch statistics.
+ *
* @param fromTime
- * Starting date time
+ * Starting date time.
+ *
* @param toTime
- * Ending data time
+ * Ending data time.
+ *
**/
experiment_model.ExperimentStatistics getExperimentStatistics(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
@@ -630,17 +684,20 @@ service Airavata {
/**
- * Get Experiments within project with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Get All Experiments of the Project
+ * Get Experiments within project with pagination. Results will be sorted based on creation time DESC.
*
* @param projectId
- * Identifier of the project
+ * Uniqie identifier of the project.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
**/
-
list<experiment_model.ExperimentModel> getExperimentsInProject(1: required security_model.AuthzToken authzToken,
2: required string projectId,
3: required i32 limit,
@@ -652,19 +709,23 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
- * Get experiments by user with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Get All Experiments of the User
+ * Get experiments by user with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requesting gateway
+ * Identifier of the requesting gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested end user.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
**/
-
list<experiment_model.ExperimentModel> getUserExperiments(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required string userName,
@@ -676,12 +737,17 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
+ * Create New Experiment
* Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
* but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client
* has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
* registering the experiment in a persistent store.
*
- * @param basicExperimentMetadata
+ * @param gatewayId
+ * The unique ID of the gateway where the experiment is been created.
+ *
+ * @param ExperimentModel
* The create experiment will require the basic experiment metadata like the name and description, intended user,
* the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
* the ExperimentMetadata is a required field.
@@ -710,7 +776,6 @@ service Airavata {
* rather an Airavata Administrator will be notified to take corrective action.
*
**/
-
string createExperiment(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required experiment_model.ExperimentModel experiment)
@@ -720,8 +785,8 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Delete an Experiment
*
+ * Delete an Experiment
* If the experiment is not already launched experiment can be deleted.
*
* @param authzToken
@@ -730,10 +795,9 @@ service Airavata {
* Experiment ID of the experimnet you want to delete.
*
* @return boolean
- * Identifier for the success or failure of the deletion operation
+ * Identifier for the success or failure of the deletion operation.
*
**/
-
bool deleteExperiment(1: required security_model.AuthzToken authzToken,
2: required string experimentId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -743,12 +807,14 @@ service Airavata {
/**
+ *
+ * Get Experiment
* Fetch previously created experiment metadata.
*
* @param airavataExperimentId
- * The identifier for the requested experiment. This is returned during the create experiment step.
+ * The unique identifier of the requested experiment. This ID is returned during the create experiment step.
*
- * @return experimentMetada
+ * @return ExperimentModel
* This method will return the previously stored experiment metadata.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
@@ -785,14 +851,17 @@ service Airavata {
/**
+ *
+ * Get Complete Experiment Details
* Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
* tasks -> jobs information.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
*
- * @return experimentMetada
- * This method will return the previously stored experiment metadata.
+ * @return ExperimentModel
+ * This method will return the previously stored experiment metadata including application input parameters, computational resource scheduling
+ * information, special input output handling and additional quality of service parameters.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
* For any incorrect forming of the request itself.
@@ -828,14 +897,15 @@ service Airavata {
/**
- * Configure a previously created experiment with required inputs, scheduling and other quality of service
- * parameters. This method only updates the experiment object within the registry. The experiment has to be launched
- * to make it actionable by the server.
+ *
+ * Update a Previously Created Experiment
+ * Configure the CREATED experiment with required inputs, scheduling and other quality of service parameters. This method only updates the experiment object within the registry.
+ * The experiment has to be launched to make it actionable by the server.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
*
- * @param experimentConfigurationData
+ * @param ExperimentModel
* The configuration information of the experiment with application input parameters, computational resource scheduling
* information, special input output handling and additional quality of service parameters.
*
@@ -887,13 +957,14 @@ service Airavata {
/**
*
- * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
- *
- * @param experimentId
+ * Validate experiment configuration.
+ * A true in general indicates, the experiment is ready to be launched.
*
+ * @param airavataExperimentId
+ * Unique identifier of the experiment (Experimnent ID) of the experiment which need to be validated.
*
* @return boolean
- * Identifier for the success or failure of the validation operation
+ * Identifier for the success or failure of the validation operation.
*
**/
bool validateExperiment(1: required security_model.AuthzToken authzToken,
@@ -905,8 +976,12 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
- * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
- * notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * Launch a Previously Created & Configured Experiment.
+ * Airavata Server will then start processing the request and appropriate notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * @gatewayId
+ * ID of the gateway which will launch the experiment.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
@@ -948,20 +1023,20 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
+ *
* Get Experiment Status
*
- * Obtain the status os an experiment by providing the Experiment Id
+ * Obtain the status of an experiment by providing the Experiment Id
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you require the status
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you require the status.
*
* @return ExperimentStatus
- * ExperimentStatus model with current status will be returned.
+ * ExperimentStatus model with the current status will be returned.
*
**/
-
status_models.ExperimentStatus getExperimentStatus(1: required security_model.AuthzToken authzToken,
2: required string airavataExperimentId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -971,19 +1046,19 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
+ *
* Get Experiment Outputs
- * This method to be used when need to obtain outputs of a certain Experiment
+ * This method to be used when need to obtain final outputs of a certain Experiment
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you need the outputs
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you need the outputs.
*
* @return list
- * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
*
**/
-
list<application_io_models.OutputDataObjectType> getExperimentOutputs (1: required security_model.AuthzToken authzToken,
2: required string airavataExperimentId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -993,19 +1068,19 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
+ *
* Get Intermediate Experiment Outputs
* This method to be used when need to obtain intermediate outputs of a certain Experiment
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you need the intermediate outputs
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you need intermediate outputs.
*
* @return list
- * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
*
**/
-
list<application_io_models.OutputDataObjectType> getIntermediateOutputs (1: required security_model.AuthzToken authzToken,
2: required string airavataExperimentId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1015,19 +1090,19 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
- * Get Job Status for an Experiment
+ *
+ * Get Job Statuses for an Experiment
* This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
*
* @param authzToken
*
* @param experiementId
- * Experiment ID of the experimnet you need the intermediate outputs
+ * Experiment ID of the experimnet you need the job statuses.
*
* @return JobStatus
* Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map
*
**/
-
map<string, status_models.JobStatus> getJobStatuses(1: required security_model.AuthzToken authzToken,
2: required string airavataExperimentId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1113,7 +1188,7 @@ service Airavata {
* Terminate a running Experiment.
*
* @gatewayId
- * ID of the gateway which need to list all available application deployment documentation.
+ * ID of the gateway which will terminate the running Experiment.
*
* @param airavataExperimentId
* The identifier of the experiment required termination. This ID is returned during the create experiment step.
@@ -1176,7 +1251,7 @@ service Airavata {
* Register a Application Module.
*
* @gatewayId
- * ID of the gateway which need to list all available application deployment documentation.
+ * ID of the gateway which is registering the new Application Module.
*
* @param applicationModule
* Application Module Object created from the datamodel.
@@ -1281,7 +1356,7 @@ service Airavata {
* Register an Application Deployment.
*
* @param gatewayId
- * ID of the gateway which need to list all available application deployment documentation.
+ * ID of the gateway which is registering the new Application Deployment.
*
* @param applicationDeployment
* Application Module Object created from the datamodel.
@@ -1907,6 +1982,7 @@ service Airavata {
/**
+ *
* Add a UNICORE Job Submission details to a compute resource
* App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
*
@@ -1923,7 +1999,6 @@ service Airavata {
* Returns the unique job submission id.
*
*/
-
string addUNICOREJobSubmissionDetails(1: required security_model.AuthzToken authzToken,
2: required string computeResourceId,
3: required i32 priorityOrder,
@@ -1935,12 +2010,14 @@ service Airavata {
/**
+ *
* This method returns UnicoreJobSubmission object
+ *
* @param jobSubmissionInterfaceId
* The identifier of the JobSubmission Interface to be retrieved.
* @return UnicoreJobSubmission instance
+ *
**/
-
compute_resource_model.UnicoreJobSubmission getUnicoreJobSubmission(1: required security_model.AuthzToken authzToken,
2: required string jobSubmissionId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1950,6 +2027,7 @@ service Airavata {
/**
+ *
* Add a Cloud Job Submission details to a compute resource
* App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
*
@@ -1964,8 +2042,8 @@ service Airavata {
*
* @return status
* Returns the unique job submission id.
+ *
**/
-
string addCloudJobSubmissionDetails(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId,
3: required i32 priorityOrder,
4: required compute_resource_model.CloudJobSubmission cloudSubmission)
@@ -1975,12 +2053,12 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* This method returns cloudJobSubmission object
* @param jobSubmissionInterfaceI
* The identifier of the JobSubmission Interface to be retrieved.
* @return CloudJobSubmission instance
**/
-
compute_resource_model.CloudJobSubmission getCloudJobSubmission(1: required security_model.AuthzToken authzToken, 2: required string jobSubmissionId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -1988,6 +2066,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Update the given SSH Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -2000,7 +2079,6 @@ service Airavata {
* Returns a success/failure of the update.
*
*/
-
bool updateSSHJobSubmissionDetails(1: required security_model.AuthzToken authzToken,
2: required string jobSubmissionInterfaceId,
3: required compute_resource_model.SSHJobSubmission sshJobSubmission)
@@ -2010,6 +2088,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Update the cloud Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -2022,7 +2101,6 @@ service Airavata {
* Returns a success/failure of the update.
*
*/
-
bool updateCloudJobSubmissionDetails(1: required security_model.AuthzToken authzToken,
2: required string jobSubmissionInterfaceId,
3: required compute_resource_model.CloudJobSubmission sshJobSubmission)
@@ -2032,6 +2110,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Update the UNIOCRE Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -2044,7 +2123,6 @@ service Airavata {
* Returns a success/failure of the update.
*
**/
-
bool updateUnicoreJobSubmissionDetails(1: required security_model.AuthzToken authzToken,
2: required string jobSubmissionInterfaceId,
3: required compute_resource_model.UnicoreJobSubmission unicoreJobSubmission)
@@ -2054,6 +2132,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Add a Local data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2073,7 +2152,6 @@ service Airavata {
* Returns the unique job submission id.
*
**/
-
string addLocalDataMovementDetails(1: required security_model.AuthzToken authzToken,
2: required string resourceId,
3: required data_movement_models.DMType dataMoveType,
@@ -2085,6 +2163,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Update the given Local data movement details
*
* @param dataMovementInterfaceId
@@ -2097,7 +2176,6 @@ service Airavata {
* Returns a success/failure of the update.
*
**/
-
bool updateLocalDataMovementDetails(1: required security_model.AuthzToken authzToken,
2: required string dataMovementInterfaceId,
3: required data_movement_models.LOCALDataMovement localDataMovement)
@@ -2107,7 +2185,8 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * This method returns local datamovement object
+ *
+ * This method returns local datamovement object.
*
* @param dataMovementId
* The identifier of the datamovement Interface to be retrieved.
@@ -2115,7 +2194,6 @@ service Airavata {
* @return LOCALDataMovement instance
*
**/
-
data_movement_models.LOCALDataMovement getLocalDataMovement(1: required security_model.AuthzToken authzToken,
2: required string dataMovementId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -2124,6 +2202,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Add a SCP data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2140,7 +2219,6 @@ service Airavata {
* Returns the unique job submission id.
*
*/
-
string addSCPDataMovementDetails(1: required security_model.AuthzToken authzToken,
2: required string resourceId,
3: required data_movement_models.DMType dataMoveType,
@@ -2152,6 +2230,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Update the given scp data movement details
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2165,7 +2244,6 @@ service Airavata {
* Returns a success/failure of the update.
*
*/
-
bool updateSCPDataMovementDetails(1: required security_model.AuthzToken authzToken,
2: required string dataMovementInterfaceId,
3: required data_movement_models.SCPDataMovement scpDataMovement)
@@ -2183,7 +2261,6 @@ service Airavata {
* @return SCPDataMovement instance
*
**/
-
data_movement_models.SCPDataMovement getSCPDataMovement(1: required security_model.AuthzToken authzToken, 2: required string dataMovementId)
throws (1: airavata_errors.InvalidRequestException ire,
2: airavata_errors.AiravataClientException ace,
@@ -2191,6 +2268,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Add a UNICORE data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2207,7 +2285,6 @@ service Airavata {
* Returns the unique data movement id.
*
*/
-
string addUnicoreDataMovementDetails(1: required security_model.AuthzToken authzToken,
2: required string resourceId,
3: required data_movement_models.DMType dataMoveType,
@@ -2219,6 +2296,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Update a selected UNICORE data movement details
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2241,6 +2319,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* This method returns UNICORE datamovement object
*
* @param dataMovementId
@@ -2258,6 +2337,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Add a GridFTP data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2511,7 +2591,7 @@ service Airavata {
* Fetch the given Gateway Resource Profile.
*
* @param gatewayID
- * The identifier for the requested gateway resource
+ * The identifier for the requested gateway resource.
*
* @return gatewayResourceProfile
* Gateway Resource Profile Object.
[20/50] [abbrv] airavata git commit: Added generated thrift files
Posted by ch...@apache.org.
Added generated thrift files
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/97f4ba92
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/97f4ba92
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/97f4ba92
Branch: refs/heads/master
Commit: 97f4ba9259170ec7f61971e57351f06c9b6c3564
Parents: 1ec4efb
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Feb 1 12:30:11 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Feb 1 12:30:11 2016 -0500
----------------------------------------------------------------------
.../apache/airavata/model/ComponentState.java | 77 ++
.../apache/airavata/model/ComponentStatus.java | 634 +++++++++++
.../org/apache/airavata/model/EdgeModel.java | 736 ++++++++++++
.../org/apache/airavata/model/NodeModel.java | 736 ++++++++++++
.../org/apache/airavata/model/PortModel.java | 736 ++++++++++++
.../apache/airavata/model/WorkflowModel.java | 1050 ++++++++++++++++++
.../apache/airavata/model/WorkflowState.java | 77 ++
.../apache/airavata/model/WorkflowStatus.java | 631 +++++++++++
.../ApplicationDeploymentDescription.java | 2 +-
.../appdeployment/ApplicationModule.java | 2 +-
.../appcatalog/appdeployment/CommandObject.java | 2 +-
.../appcatalog/appdeployment/SetEnvPaths.java | 2 +-
.../ApplicationInterfaceDescription.java | 2 +-
.../appcatalog/computeresource/BatchQueue.java | 2 +-
.../computeresource/CloudJobSubmission.java | 2 +-
.../ComputeResourceDescription.java | 2 +-
.../computeresource/GlobusJobSubmission.java | 2 +-
.../computeresource/JobSubmissionInterface.java | 2 +-
.../computeresource/LOCALSubmission.java | 2 +-
.../computeresource/ResourceJobManager.java | 2 +-
.../computeresource/SSHJobSubmission.java | 2 +-
.../computeresource/UnicoreJobSubmission.java | 2 +-
.../ComputeResourcePreference.java | 2 +-
.../gatewayprofile/GatewayResourceProfile.java | 2 +-
.../gatewayprofile/StoragePreference.java | 2 +-
.../StorageResourceDescription.java | 2 +-
.../application/io/InputDataObjectType.java | 2 +-
.../application/io/OutputDataObjectType.java | 2 +-
.../airavata/model/commons/ErrorModel.java | 2 +-
.../model/commons/ValidationResults.java | 2 +-
.../airavata/model/commons/ValidatorResult.java | 2 +-
.../data/movement/DataMovementInterface.java | 2 +-
.../data/movement/GridFTPDataMovement.java | 2 +-
.../model/data/movement/LOCALDataMovement.java | 2 +-
.../model/data/movement/SCPDataMovement.java | 2 +-
.../data/movement/UnicoreDataMovement.java | 2 +-
.../data/resource/DataReplicaLocationModel.java | 2 +-
.../model/data/resource/DataResourceModel.java | 2 +-
.../model/error/AiravataClientException.java | 2 +-
.../model/error/AiravataSystemException.java | 2 +-
.../model/error/AuthenticationException.java | 2 +-
.../model/error/AuthorizationException.java | 2 +-
.../error/ExperimentNotFoundException.java | 2 +-
.../model/error/InvalidRequestException.java | 2 +-
.../model/error/LaunchValidationException.java | 2 +-
.../model/error/ProjectNotFoundException.java | 2 +-
.../airavata/model/error/TimedOutException.java | 2 +-
.../airavata/model/error/ValidationResults.java | 2 +-
.../airavata/model/error/ValidatorResult.java | 2 +-
.../model/experiment/ExperimentModel.java | 2 +-
.../model/experiment/ExperimentStatistics.java | 2 +-
.../experiment/ExperimentSummaryModel.java | 2 +-
.../experiment/UserConfigurationDataModel.java | 2 +-
.../org/apache/airavata/model/job/JobModel.java | 2 +-
.../event/ExperimentStatusChangeEvent.java | 2 +-
.../model/messaging/event/JobIdentifier.java | 2 +-
.../messaging/event/JobStatusChangeEvent.java | 2 +-
.../event/JobStatusChangeRequestEvent.java | 2 +-
.../airavata/model/messaging/event/Message.java | 2 +-
.../messaging/event/ProcessIdentifier.java | 2 +-
.../event/ProcessStatusChangeEvent.java | 2 +-
.../event/ProcessStatusChangeRequestEvent.java | 2 +-
.../messaging/event/ProcessSubmitEvent.java | 2 +-
.../messaging/event/ProcessTerminateEvent.java | 2 +-
.../model/messaging/event/TaskIdentifier.java | 2 +-
.../messaging/event/TaskOutputChangeEvent.java | 2 +-
.../messaging/event/TaskStatusChangeEvent.java | 2 +-
.../event/TaskStatusChangeRequestEvent.java | 2 +-
.../airavata/model/process/ProcessModel.java | 2 +-
.../ComputationalResourceSchedulingModel.java | 2 +-
.../airavata/model/security/AuthzToken.java | 2 +-
.../airavata/model/status/ExperimentStatus.java | 2 +-
.../apache/airavata/model/status/JobStatus.java | 2 +-
.../airavata/model/status/ProcessStatus.java | 2 +-
.../airavata/model/status/TaskStatus.java | 2 +-
.../model/task/DataStagingTaskModel.java | 2 +-
.../model/task/EnvironmentSetupTaskModel.java | 2 +-
.../model/task/JobSubmissionTaskModel.java | 2 +-
.../airavata/model/task/MonitorTaskModel.java | 2 +-
.../apache/airavata/model/task/TaskModel.java | 2 +-
.../airavata/model/workspace/Gateway.java | 2 +-
.../apache/airavata/model/workspace/Group.java | 2 +-
.../airavata/model/workspace/Project.java | 2 +-
.../apache/airavata/model/workspace/User.java | 2 +-
84 files changed, 4753 insertions(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java
new file mode 100644
index 0000000..1e68782
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java
@@ -0,0 +1,77 @@
+/**
+ * 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.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum ComponentState implements org.apache.thrift.TEnum {
+ CREATED(0),
+ WAITING(1),
+ READY(2),
+ RUNNING(3),
+ COMPLETED(4),
+ FAILED(5),
+ CANCELED(6);
+
+ private final int value;
+
+ private ComponentState(int value) {
+ this.value = value;
+ }
+
+ /**
+ * Get the integer value of this enum value, as defined in the Thrift IDL.
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * Find a the enum type by its integer value, as defined in the Thrift IDL.
+ * @return null if the value is not found.
+ */
+ public static ComponentState findByValue(int value) {
+ switch (value) {
+ case 0:
+ return CREATED;
+ case 1:
+ return WAITING;
+ case 2:
+ return READY;
+ case 3:
+ return RUNNING;
+ case 4:
+ return COMPLETED;
+ case 5:
+ return FAILED;
+ case 6:
+ return CANCELED;
+ default:
+ return null;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
new file mode 100644
index 0000000..020d395
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
@@ -0,0 +1,634 @@
+/**
+ * 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.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+public class ComponentStatus implements org.apache.thrift.TBase<ComponentStatus, ComponentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ComponentStatus> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComponentStatus");
+
+ private static final org.apache.thrift.protocol.TField STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("state", org.apache.thrift.protocol.TType.I32, (short)1);
+ private static final org.apache.thrift.protocol.TField REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("reason", org.apache.thrift.protocol.TType.STRING, (short)2);
+ private static final org.apache.thrift.protocol.TField TIMEOF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeofStateChange", org.apache.thrift.protocol.TType.I64, (short)3);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new ComponentStatusStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new ComponentStatusTupleSchemeFactory());
+ }
+
+ private ComponentState state; // required
+ private String reason; // optional
+ private long timeofStateChange; // optional
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ /**
+ *
+ * @see ComponentState
+ */
+ STATE((short)1, "state"),
+ REASON((short)2, "reason"),
+ TIMEOF_STATE_CHANGE((short)3, "timeofStateChange");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // STATE
+ return STATE;
+ case 2: // REASON
+ return REASON;
+ case 3: // TIMEOF_STATE_CHANGE
+ return TIMEOF_STATE_CHANGE;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final int __TIMEOFSTATECHANGE_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ private static final _Fields optionals[] = {_Fields.REASON,_Fields.TIMEOF_STATE_CHANGE};
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.STATE, new org.apache.thrift.meta_data.FieldMetaData("state", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ComponentState.class)));
+ tmpMap.put(_Fields.REASON, new org.apache.thrift.meta_data.FieldMetaData("reason", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.TIMEOF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeofStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComponentStatus.class, metaDataMap);
+ }
+
+ public ComponentStatus() {
+ this.state = org.apache.airavata.model.ComponentState.CREATED;
+
+ }
+
+ public ComponentStatus(
+ ComponentState state)
+ {
+ this();
+ this.state = state;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public ComponentStatus(ComponentStatus other) {
+ __isset_bitfield = other.__isset_bitfield;
+ if (other.isSetState()) {
+ this.state = other.state;
+ }
+ if (other.isSetReason()) {
+ this.reason = other.reason;
+ }
+ this.timeofStateChange = other.timeofStateChange;
+ }
+
+ public ComponentStatus deepCopy() {
+ return new ComponentStatus(this);
+ }
+
+ @Override
+ public void clear() {
+ this.state = org.apache.airavata.model.ComponentState.CREATED;
+
+ this.reason = null;
+ setTimeofStateChangeIsSet(false);
+ this.timeofStateChange = 0;
+ }
+
+ /**
+ *
+ * @see ComponentState
+ */
+ public ComponentState getState() {
+ return this.state;
+ }
+
+ /**
+ *
+ * @see ComponentState
+ */
+ public void setState(ComponentState state) {
+ this.state = state;
+ }
+
+ public void unsetState() {
+ this.state = null;
+ }
+
+ /** Returns true if field state is set (has been assigned a value) and false otherwise */
+ public boolean isSetState() {
+ return this.state != null;
+ }
+
+ public void setStateIsSet(boolean value) {
+ if (!value) {
+ this.state = null;
+ }
+ }
+
+ public String getReason() {
+ return this.reason;
+ }
+
+ public void setReason(String reason) {
+ this.reason = reason;
+ }
+
+ public void unsetReason() {
+ this.reason = null;
+ }
+
+ /** Returns true if field reason is set (has been assigned a value) and false otherwise */
+ public boolean isSetReason() {
+ return this.reason != null;
+ }
+
+ public void setReasonIsSet(boolean value) {
+ if (!value) {
+ this.reason = null;
+ }
+ }
+
+ public long getTimeofStateChange() {
+ return this.timeofStateChange;
+ }
+
+ public void setTimeofStateChange(long timeofStateChange) {
+ this.timeofStateChange = timeofStateChange;
+ setTimeofStateChangeIsSet(true);
+ }
+
+ public void unsetTimeofStateChange() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+ }
+
+ /** Returns true if field timeofStateChange is set (has been assigned a value) and false otherwise */
+ public boolean isSetTimeofStateChange() {
+ return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+ }
+
+ public void setTimeofStateChangeIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case STATE:
+ if (value == null) {
+ unsetState();
+ } else {
+ setState((ComponentState)value);
+ }
+ break;
+
+ case REASON:
+ if (value == null) {
+ unsetReason();
+ } else {
+ setReason((String)value);
+ }
+ break;
+
+ case TIMEOF_STATE_CHANGE:
+ if (value == null) {
+ unsetTimeofStateChange();
+ } else {
+ setTimeofStateChange((Long)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case STATE:
+ return getState();
+
+ case REASON:
+ return getReason();
+
+ case TIMEOF_STATE_CHANGE:
+ return getTimeofStateChange();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case STATE:
+ return isSetState();
+ case REASON:
+ return isSetReason();
+ case TIMEOF_STATE_CHANGE:
+ return isSetTimeofStateChange();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof ComponentStatus)
+ return this.equals((ComponentStatus)that);
+ return false;
+ }
+
+ public boolean equals(ComponentStatus that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_state = true && this.isSetState();
+ boolean that_present_state = true && that.isSetState();
+ if (this_present_state || that_present_state) {
+ if (!(this_present_state && that_present_state))
+ return false;
+ if (!this.state.equals(that.state))
+ return false;
+ }
+
+ boolean this_present_reason = true && this.isSetReason();
+ boolean that_present_reason = true && that.isSetReason();
+ if (this_present_reason || that_present_reason) {
+ if (!(this_present_reason && that_present_reason))
+ return false;
+ if (!this.reason.equals(that.reason))
+ return false;
+ }
+
+ boolean this_present_timeofStateChange = true && this.isSetTimeofStateChange();
+ boolean that_present_timeofStateChange = true && that.isSetTimeofStateChange();
+ if (this_present_timeofStateChange || that_present_timeofStateChange) {
+ if (!(this_present_timeofStateChange && that_present_timeofStateChange))
+ return false;
+ if (this.timeofStateChange != that.timeofStateChange)
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ List<Object> list = new ArrayList<Object>();
+
+ boolean present_state = true && (isSetState());
+ list.add(present_state);
+ if (present_state)
+ list.add(state.getValue());
+
+ boolean present_reason = true && (isSetReason());
+ list.add(present_reason);
+ if (present_reason)
+ list.add(reason);
+
+ boolean present_timeofStateChange = true && (isSetTimeofStateChange());
+ list.add(present_timeofStateChange);
+ if (present_timeofStateChange)
+ list.add(timeofStateChange);
+
+ return list.hashCode();
+ }
+
+ @Override
+ public int compareTo(ComponentStatus other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetState()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state, other.state);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetReason()).compareTo(other.isSetReason());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetReason()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reason, other.reason);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetTimeofStateChange()).compareTo(other.isSetTimeofStateChange());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetTimeofStateChange()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeofStateChange, other.timeofStateChange);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("ComponentStatus(");
+ boolean first = true;
+
+ sb.append("state:");
+ if (this.state == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.state);
+ }
+ first = false;
+ if (isSetReason()) {
+ if (!first) sb.append(", ");
+ sb.append("reason:");
+ if (this.reason == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.reason);
+ }
+ first = false;
+ }
+ if (isSetTimeofStateChange()) {
+ if (!first) sb.append(", ");
+ sb.append("timeofStateChange:");
+ sb.append(this.timeofStateChange);
+ first = false;
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetState()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'state' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class ComponentStatusStandardSchemeFactory implements SchemeFactory {
+ public ComponentStatusStandardScheme getScheme() {
+ return new ComponentStatusStandardScheme();
+ }
+ }
+
+ private static class ComponentStatusStandardScheme extends StandardScheme<ComponentStatus> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, ComponentStatus struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // STATE
+ if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+ struct.state = org.apache.airavata.model.ComponentState.findByValue(iprot.readI32());
+ struct.setStateIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // REASON
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.reason = iprot.readString();
+ struct.setReasonIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // TIMEOF_STATE_CHANGE
+ if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+ struct.timeofStateChange = iprot.readI64();
+ struct.setTimeofStateChangeIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, ComponentStatus struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.state != null) {
+ oprot.writeFieldBegin(STATE_FIELD_DESC);
+ oprot.writeI32(struct.state.getValue());
+ oprot.writeFieldEnd();
+ }
+ if (struct.reason != null) {
+ if (struct.isSetReason()) {
+ oprot.writeFieldBegin(REASON_FIELD_DESC);
+ oprot.writeString(struct.reason);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.isSetTimeofStateChange()) {
+ oprot.writeFieldBegin(TIMEOF_STATE_CHANGE_FIELD_DESC);
+ oprot.writeI64(struct.timeofStateChange);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class ComponentStatusTupleSchemeFactory implements SchemeFactory {
+ public ComponentStatusTupleScheme getScheme() {
+ return new ComponentStatusTupleScheme();
+ }
+ }
+
+ private static class ComponentStatusTupleScheme extends TupleScheme<ComponentStatus> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, ComponentStatus struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ oprot.writeI32(struct.state.getValue());
+ BitSet optionals = new BitSet();
+ if (struct.isSetReason()) {
+ optionals.set(0);
+ }
+ if (struct.isSetTimeofStateChange()) {
+ optionals.set(1);
+ }
+ oprot.writeBitSet(optionals, 2);
+ if (struct.isSetReason()) {
+ oprot.writeString(struct.reason);
+ }
+ if (struct.isSetTimeofStateChange()) {
+ oprot.writeI64(struct.timeofStateChange);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, ComponentStatus struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.state = org.apache.airavata.model.ComponentState.findByValue(iprot.readI32());
+ struct.setStateIsSet(true);
+ BitSet incoming = iprot.readBitSet(2);
+ if (incoming.get(0)) {
+ struct.reason = iprot.readString();
+ struct.setReasonIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.timeofStateChange = iprot.readI64();
+ struct.setTimeofStateChangeIsSet(true);
+ }
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
new file mode 100644
index 0000000..c71df88
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
@@ -0,0 +1,736 @@
+/**
+ * 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.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+public class EdgeModel implements org.apache.thrift.TBase<EdgeModel, EdgeModel._Fields>, java.io.Serializable, Cloneable, Comparable<EdgeModel> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EdgeModel");
+
+ private static final org.apache.thrift.protocol.TField EDGE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("edgeId", org.apache.thrift.protocol.TType.STRING, (short)1);
+ private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
+ private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+ private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)4);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new EdgeModelStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new EdgeModelTupleSchemeFactory());
+ }
+
+ private String edgeId; // required
+ private String name; // optional
+ private ComponentStatus status; // optional
+ private String description; // optional
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ EDGE_ID((short)1, "edgeId"),
+ NAME((short)2, "name"),
+ STATUS((short)3, "status"),
+ DESCRIPTION((short)4, "description");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // EDGE_ID
+ return EDGE_ID;
+ case 2: // NAME
+ return NAME;
+ case 3: // STATUS
+ return STATUS;
+ case 4: // DESCRIPTION
+ return DESCRIPTION;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final _Fields optionals[] = {_Fields.NAME,_Fields.STATUS,_Fields.DESCRIPTION};
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.EDGE_ID, new org.apache.thrift.meta_data.FieldMetaData("edgeId", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComponentStatus.class)));
+ tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(EdgeModel.class, metaDataMap);
+ }
+
+ public EdgeModel() {
+ this.edgeId = "DO_NOT_SET_AT_CLIENTS";
+
+ }
+
+ public EdgeModel(
+ String edgeId)
+ {
+ this();
+ this.edgeId = edgeId;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public EdgeModel(EdgeModel other) {
+ if (other.isSetEdgeId()) {
+ this.edgeId = other.edgeId;
+ }
+ if (other.isSetName()) {
+ this.name = other.name;
+ }
+ if (other.isSetStatus()) {
+ this.status = new ComponentStatus(other.status);
+ }
+ if (other.isSetDescription()) {
+ this.description = other.description;
+ }
+ }
+
+ public EdgeModel deepCopy() {
+ return new EdgeModel(this);
+ }
+
+ @Override
+ public void clear() {
+ this.edgeId = "DO_NOT_SET_AT_CLIENTS";
+
+ this.name = null;
+ this.status = null;
+ this.description = null;
+ }
+
+ public String getEdgeId() {
+ return this.edgeId;
+ }
+
+ public void setEdgeId(String edgeId) {
+ this.edgeId = edgeId;
+ }
+
+ public void unsetEdgeId() {
+ this.edgeId = null;
+ }
+
+ /** Returns true if field edgeId is set (has been assigned a value) and false otherwise */
+ public boolean isSetEdgeId() {
+ return this.edgeId != null;
+ }
+
+ public void setEdgeIdIsSet(boolean value) {
+ if (!value) {
+ this.edgeId = null;
+ }
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void unsetName() {
+ this.name = null;
+ }
+
+ /** Returns true if field name is set (has been assigned a value) and false otherwise */
+ public boolean isSetName() {
+ return this.name != null;
+ }
+
+ public void setNameIsSet(boolean value) {
+ if (!value) {
+ this.name = null;
+ }
+ }
+
+ public ComponentStatus getStatus() {
+ return this.status;
+ }
+
+ public void setStatus(ComponentStatus status) {
+ this.status = status;
+ }
+
+ public void unsetStatus() {
+ this.status = null;
+ }
+
+ /** Returns true if field status is set (has been assigned a value) and false otherwise */
+ public boolean isSetStatus() {
+ return this.status != null;
+ }
+
+ public void setStatusIsSet(boolean value) {
+ if (!value) {
+ this.status = null;
+ }
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public void unsetDescription() {
+ this.description = null;
+ }
+
+ /** Returns true if field description is set (has been assigned a value) and false otherwise */
+ public boolean isSetDescription() {
+ return this.description != null;
+ }
+
+ public void setDescriptionIsSet(boolean value) {
+ if (!value) {
+ this.description = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case EDGE_ID:
+ if (value == null) {
+ unsetEdgeId();
+ } else {
+ setEdgeId((String)value);
+ }
+ break;
+
+ case NAME:
+ if (value == null) {
+ unsetName();
+ } else {
+ setName((String)value);
+ }
+ break;
+
+ case STATUS:
+ if (value == null) {
+ unsetStatus();
+ } else {
+ setStatus((ComponentStatus)value);
+ }
+ break;
+
+ case DESCRIPTION:
+ if (value == null) {
+ unsetDescription();
+ } else {
+ setDescription((String)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case EDGE_ID:
+ return getEdgeId();
+
+ case NAME:
+ return getName();
+
+ case STATUS:
+ return getStatus();
+
+ case DESCRIPTION:
+ return getDescription();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case EDGE_ID:
+ return isSetEdgeId();
+ case NAME:
+ return isSetName();
+ case STATUS:
+ return isSetStatus();
+ case DESCRIPTION:
+ return isSetDescription();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof EdgeModel)
+ return this.equals((EdgeModel)that);
+ return false;
+ }
+
+ public boolean equals(EdgeModel that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_edgeId = true && this.isSetEdgeId();
+ boolean that_present_edgeId = true && that.isSetEdgeId();
+ if (this_present_edgeId || that_present_edgeId) {
+ if (!(this_present_edgeId && that_present_edgeId))
+ return false;
+ if (!this.edgeId.equals(that.edgeId))
+ return false;
+ }
+
+ boolean this_present_name = true && this.isSetName();
+ boolean that_present_name = true && that.isSetName();
+ if (this_present_name || that_present_name) {
+ if (!(this_present_name && that_present_name))
+ return false;
+ if (!this.name.equals(that.name))
+ return false;
+ }
+
+ boolean this_present_status = true && this.isSetStatus();
+ boolean that_present_status = true && that.isSetStatus();
+ if (this_present_status || that_present_status) {
+ if (!(this_present_status && that_present_status))
+ return false;
+ if (!this.status.equals(that.status))
+ return false;
+ }
+
+ boolean this_present_description = true && this.isSetDescription();
+ boolean that_present_description = true && that.isSetDescription();
+ if (this_present_description || that_present_description) {
+ if (!(this_present_description && that_present_description))
+ return false;
+ if (!this.description.equals(that.description))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ List<Object> list = new ArrayList<Object>();
+
+ boolean present_edgeId = true && (isSetEdgeId());
+ list.add(present_edgeId);
+ if (present_edgeId)
+ list.add(edgeId);
+
+ boolean present_name = true && (isSetName());
+ list.add(present_name);
+ if (present_name)
+ list.add(name);
+
+ boolean present_status = true && (isSetStatus());
+ list.add(present_status);
+ if (present_status)
+ list.add(status);
+
+ boolean present_description = true && (isSetDescription());
+ list.add(present_description);
+ if (present_description)
+ list.add(description);
+
+ return list.hashCode();
+ }
+
+ @Override
+ public int compareTo(EdgeModel other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetEdgeId()).compareTo(other.isSetEdgeId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetEdgeId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.edgeId, other.edgeId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetStatus()).compareTo(other.isSetStatus());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetStatus()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, other.status);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetDescription()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, other.description);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("EdgeModel(");
+ boolean first = true;
+
+ sb.append("edgeId:");
+ if (this.edgeId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.edgeId);
+ }
+ first = false;
+ if (isSetName()) {
+ if (!first) sb.append(", ");
+ sb.append("name:");
+ if (this.name == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.name);
+ }
+ first = false;
+ }
+ if (isSetStatus()) {
+ if (!first) sb.append(", ");
+ sb.append("status:");
+ if (this.status == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.status);
+ }
+ first = false;
+ }
+ if (isSetDescription()) {
+ if (!first) sb.append(", ");
+ sb.append("description:");
+ if (this.description == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.description);
+ }
+ first = false;
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetEdgeId()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'edgeId' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ if (status != null) {
+ status.validate();
+ }
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class EdgeModelStandardSchemeFactory implements SchemeFactory {
+ public EdgeModelStandardScheme getScheme() {
+ return new EdgeModelStandardScheme();
+ }
+ }
+
+ private static class EdgeModelStandardScheme extends StandardScheme<EdgeModel> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, EdgeModel struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // EDGE_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.edgeId = iprot.readString();
+ struct.setEdgeIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.name = iprot.readString();
+ struct.setNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // STATUS
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.status = new ComponentStatus();
+ struct.status.read(iprot);
+ struct.setStatusIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 4: // DESCRIPTION
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.description = iprot.readString();
+ struct.setDescriptionIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, EdgeModel struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.edgeId != null) {
+ oprot.writeFieldBegin(EDGE_ID_FIELD_DESC);
+ oprot.writeString(struct.edgeId);
+ oprot.writeFieldEnd();
+ }
+ if (struct.name != null) {
+ if (struct.isSetName()) {
+ oprot.writeFieldBegin(NAME_FIELD_DESC);
+ oprot.writeString(struct.name);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.status != null) {
+ if (struct.isSetStatus()) {
+ oprot.writeFieldBegin(STATUS_FIELD_DESC);
+ struct.status.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.description != null) {
+ if (struct.isSetDescription()) {
+ oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
+ oprot.writeString(struct.description);
+ oprot.writeFieldEnd();
+ }
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class EdgeModelTupleSchemeFactory implements SchemeFactory {
+ public EdgeModelTupleScheme getScheme() {
+ return new EdgeModelTupleScheme();
+ }
+ }
+
+ private static class EdgeModelTupleScheme extends TupleScheme<EdgeModel> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, EdgeModel struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ oprot.writeString(struct.edgeId);
+ BitSet optionals = new BitSet();
+ if (struct.isSetName()) {
+ optionals.set(0);
+ }
+ if (struct.isSetStatus()) {
+ optionals.set(1);
+ }
+ if (struct.isSetDescription()) {
+ optionals.set(2);
+ }
+ oprot.writeBitSet(optionals, 3);
+ if (struct.isSetName()) {
+ oprot.writeString(struct.name);
+ }
+ if (struct.isSetStatus()) {
+ struct.status.write(oprot);
+ }
+ if (struct.isSetDescription()) {
+ oprot.writeString(struct.description);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, EdgeModel struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.edgeId = iprot.readString();
+ struct.setEdgeIdIsSet(true);
+ BitSet incoming = iprot.readBitSet(3);
+ if (incoming.get(0)) {
+ struct.name = iprot.readString();
+ struct.setNameIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.status = new ComponentStatus();
+ struct.status.read(iprot);
+ struct.setStatusIsSet(true);
+ }
+ if (incoming.get(2)) {
+ struct.description = iprot.readString();
+ struct.setDescriptionIsSet(true);
+ }
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
new file mode 100644
index 0000000..4ff69b1
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
@@ -0,0 +1,736 @@
+/**
+ * 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.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._Fields>, java.io.Serializable, Cloneable, Comparable<NodeModel> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NodeModel");
+
+ private static final org.apache.thrift.protocol.TField NODE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeId", org.apache.thrift.protocol.TType.STRING, (short)1);
+ private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
+ private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+ private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)4);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new NodeModelStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new NodeModelTupleSchemeFactory());
+ }
+
+ private String nodeId; // required
+ private String name; // optional
+ private ComponentStatus status; // optional
+ private String description; // optional
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ NODE_ID((short)1, "nodeId"),
+ NAME((short)2, "name"),
+ STATUS((short)3, "status"),
+ DESCRIPTION((short)4, "description");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // NODE_ID
+ return NODE_ID;
+ case 2: // NAME
+ return NAME;
+ case 3: // STATUS
+ return STATUS;
+ case 4: // DESCRIPTION
+ return DESCRIPTION;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final _Fields optionals[] = {_Fields.NAME,_Fields.STATUS,_Fields.DESCRIPTION};
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.NODE_ID, new org.apache.thrift.meta_data.FieldMetaData("nodeId", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComponentStatus.class)));
+ tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(NodeModel.class, metaDataMap);
+ }
+
+ public NodeModel() {
+ this.nodeId = "DO_NOT_SET_AT_CLIENTS";
+
+ }
+
+ public NodeModel(
+ String nodeId)
+ {
+ this();
+ this.nodeId = nodeId;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public NodeModel(NodeModel other) {
+ if (other.isSetNodeId()) {
+ this.nodeId = other.nodeId;
+ }
+ if (other.isSetName()) {
+ this.name = other.name;
+ }
+ if (other.isSetStatus()) {
+ this.status = new ComponentStatus(other.status);
+ }
+ if (other.isSetDescription()) {
+ this.description = other.description;
+ }
+ }
+
+ public NodeModel deepCopy() {
+ return new NodeModel(this);
+ }
+
+ @Override
+ public void clear() {
+ this.nodeId = "DO_NOT_SET_AT_CLIENTS";
+
+ this.name = null;
+ this.status = null;
+ this.description = null;
+ }
+
+ public String getNodeId() {
+ return this.nodeId;
+ }
+
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
+ }
+
+ public void unsetNodeId() {
+ this.nodeId = null;
+ }
+
+ /** Returns true if field nodeId is set (has been assigned a value) and false otherwise */
+ public boolean isSetNodeId() {
+ return this.nodeId != null;
+ }
+
+ public void setNodeIdIsSet(boolean value) {
+ if (!value) {
+ this.nodeId = null;
+ }
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void unsetName() {
+ this.name = null;
+ }
+
+ /** Returns true if field name is set (has been assigned a value) and false otherwise */
+ public boolean isSetName() {
+ return this.name != null;
+ }
+
+ public void setNameIsSet(boolean value) {
+ if (!value) {
+ this.name = null;
+ }
+ }
+
+ public ComponentStatus getStatus() {
+ return this.status;
+ }
+
+ public void setStatus(ComponentStatus status) {
+ this.status = status;
+ }
+
+ public void unsetStatus() {
+ this.status = null;
+ }
+
+ /** Returns true if field status is set (has been assigned a value) and false otherwise */
+ public boolean isSetStatus() {
+ return this.status != null;
+ }
+
+ public void setStatusIsSet(boolean value) {
+ if (!value) {
+ this.status = null;
+ }
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public void unsetDescription() {
+ this.description = null;
+ }
+
+ /** Returns true if field description is set (has been assigned a value) and false otherwise */
+ public boolean isSetDescription() {
+ return this.description != null;
+ }
+
+ public void setDescriptionIsSet(boolean value) {
+ if (!value) {
+ this.description = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case NODE_ID:
+ if (value == null) {
+ unsetNodeId();
+ } else {
+ setNodeId((String)value);
+ }
+ break;
+
+ case NAME:
+ if (value == null) {
+ unsetName();
+ } else {
+ setName((String)value);
+ }
+ break;
+
+ case STATUS:
+ if (value == null) {
+ unsetStatus();
+ } else {
+ setStatus((ComponentStatus)value);
+ }
+ break;
+
+ case DESCRIPTION:
+ if (value == null) {
+ unsetDescription();
+ } else {
+ setDescription((String)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case NODE_ID:
+ return getNodeId();
+
+ case NAME:
+ return getName();
+
+ case STATUS:
+ return getStatus();
+
+ case DESCRIPTION:
+ return getDescription();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case NODE_ID:
+ return isSetNodeId();
+ case NAME:
+ return isSetName();
+ case STATUS:
+ return isSetStatus();
+ case DESCRIPTION:
+ return isSetDescription();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof NodeModel)
+ return this.equals((NodeModel)that);
+ return false;
+ }
+
+ public boolean equals(NodeModel that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_nodeId = true && this.isSetNodeId();
+ boolean that_present_nodeId = true && that.isSetNodeId();
+ if (this_present_nodeId || that_present_nodeId) {
+ if (!(this_present_nodeId && that_present_nodeId))
+ return false;
+ if (!this.nodeId.equals(that.nodeId))
+ return false;
+ }
+
+ boolean this_present_name = true && this.isSetName();
+ boolean that_present_name = true && that.isSetName();
+ if (this_present_name || that_present_name) {
+ if (!(this_present_name && that_present_name))
+ return false;
+ if (!this.name.equals(that.name))
+ return false;
+ }
+
+ boolean this_present_status = true && this.isSetStatus();
+ boolean that_present_status = true && that.isSetStatus();
+ if (this_present_status || that_present_status) {
+ if (!(this_present_status && that_present_status))
+ return false;
+ if (!this.status.equals(that.status))
+ return false;
+ }
+
+ boolean this_present_description = true && this.isSetDescription();
+ boolean that_present_description = true && that.isSetDescription();
+ if (this_present_description || that_present_description) {
+ if (!(this_present_description && that_present_description))
+ return false;
+ if (!this.description.equals(that.description))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ List<Object> list = new ArrayList<Object>();
+
+ boolean present_nodeId = true && (isSetNodeId());
+ list.add(present_nodeId);
+ if (present_nodeId)
+ list.add(nodeId);
+
+ boolean present_name = true && (isSetName());
+ list.add(present_name);
+ if (present_name)
+ list.add(name);
+
+ boolean present_status = true && (isSetStatus());
+ list.add(present_status);
+ if (present_status)
+ list.add(status);
+
+ boolean present_description = true && (isSetDescription());
+ list.add(present_description);
+ if (present_description)
+ list.add(description);
+
+ return list.hashCode();
+ }
+
+ @Override
+ public int compareTo(NodeModel other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetNodeId()).compareTo(other.isSetNodeId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetNodeId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nodeId, other.nodeId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetStatus()).compareTo(other.isSetStatus());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetStatus()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, other.status);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetDescription()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, other.description);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("NodeModel(");
+ boolean first = true;
+
+ sb.append("nodeId:");
+ if (this.nodeId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.nodeId);
+ }
+ first = false;
+ if (isSetName()) {
+ if (!first) sb.append(", ");
+ sb.append("name:");
+ if (this.name == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.name);
+ }
+ first = false;
+ }
+ if (isSetStatus()) {
+ if (!first) sb.append(", ");
+ sb.append("status:");
+ if (this.status == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.status);
+ }
+ first = false;
+ }
+ if (isSetDescription()) {
+ if (!first) sb.append(", ");
+ sb.append("description:");
+ if (this.description == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.description);
+ }
+ first = false;
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetNodeId()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'nodeId' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ if (status != null) {
+ status.validate();
+ }
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class NodeModelStandardSchemeFactory implements SchemeFactory {
+ public NodeModelStandardScheme getScheme() {
+ return new NodeModelStandardScheme();
+ }
+ }
+
+ private static class NodeModelStandardScheme extends StandardScheme<NodeModel> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, NodeModel struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // NODE_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.nodeId = iprot.readString();
+ struct.setNodeIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.name = iprot.readString();
+ struct.setNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // STATUS
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.status = new ComponentStatus();
+ struct.status.read(iprot);
+ struct.setStatusIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 4: // DESCRIPTION
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.description = iprot.readString();
+ struct.setDescriptionIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, NodeModel struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.nodeId != null) {
+ oprot.writeFieldBegin(NODE_ID_FIELD_DESC);
+ oprot.writeString(struct.nodeId);
+ oprot.writeFieldEnd();
+ }
+ if (struct.name != null) {
+ if (struct.isSetName()) {
+ oprot.writeFieldBegin(NAME_FIELD_DESC);
+ oprot.writeString(struct.name);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.status != null) {
+ if (struct.isSetStatus()) {
+ oprot.writeFieldBegin(STATUS_FIELD_DESC);
+ struct.status.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.description != null) {
+ if (struct.isSetDescription()) {
+ oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
+ oprot.writeString(struct.description);
+ oprot.writeFieldEnd();
+ }
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class NodeModelTupleSchemeFactory implements SchemeFactory {
+ public NodeModelTupleScheme getScheme() {
+ return new NodeModelTupleScheme();
+ }
+ }
+
+ private static class NodeModelTupleScheme extends TupleScheme<NodeModel> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, NodeModel struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ oprot.writeString(struct.nodeId);
+ BitSet optionals = new BitSet();
+ if (struct.isSetName()) {
+ optionals.set(0);
+ }
+ if (struct.isSetStatus()) {
+ optionals.set(1);
+ }
+ if (struct.isSetDescription()) {
+ optionals.set(2);
+ }
+ oprot.writeBitSet(optionals, 3);
+ if (struct.isSetName()) {
+ oprot.writeString(struct.name);
+ }
+ if (struct.isSetStatus()) {
+ struct.status.write(oprot);
+ }
+ if (struct.isSetDescription()) {
+ oprot.writeString(struct.description);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, NodeModel struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.nodeId = iprot.readString();
+ struct.setNodeIdIsSet(true);
+ BitSet incoming = iprot.readBitSet(3);
+ if (incoming.get(0)) {
+ struct.name = iprot.readString();
+ struct.setNameIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.status = new ComponentStatus();
+ struct.status.read(iprot);
+ struct.setStatusIsSet(true);
+ }
+ if (incoming.get(2)) {
+ struct.description = iprot.readString();
+ struct.setDescriptionIsSet(true);
+ }
+ }
+ }
+
+}
+
[24/50] [abbrv] airavata git commit: adding workflow database scripts
Posted by ch...@apache.org.
adding workflow database scripts
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c4517231
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c4517231
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c4517231
Branch: refs/heads/master
Commit: c45172319fa3162bee57d20d028cbb431efd9d00
Parents: 494e0d7
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Feb 1 14:09:05 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Feb 1 14:09:05 2016 -0500
----------------------------------------------------------------------
.../src/main/resources/workflow-derby.sql | 117 +++++++++++++++++++
.../src/main/resources/workflow-mysql.sql | 117 +++++++++++++++++++
2 files changed, 234 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/c4517231/modules/registry/registry-core/src/main/resources/workflow-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflow-derby.sql b/modules/registry/registry-core/src/main/resources/workflow-derby.sql
new file mode 100644
index 0000000..e798824
--- /dev/null
+++ b/modules/registry/registry-core/src/main/resources/workflow-derby.sql
@@ -0,0 +1,117 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+CREATE TABLE WORKFLOW
+(
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ WORKFLOW_NAME VARCHAR (255) NOT NULL,
+ GRAPH CLOB,
+ IMAGE BLOB,
+ PRIMARY KEY (TEMPLATE_ID)
+);
+
+CREATE TABLE WORKFLOW_INPUT
+(
+ TEMPLATE_ID VARCHAR(255),
+ INPUT_KEY VARCHAR(255),
+ INPUT_VALUE VARCHAR(255),
+ DATA_TYPE VARCHAR(255),
+ METADATA VARCHAR(255),
+ APP_ARGUMENT VARCHAR(255),
+ STANDARD_INPUT SMALLINT,
+ USER_FRIENDLY_DESC VARCHAR(255),
+ INPUT_ORDER INTEGER,
+ IS_REQUIRED SMALLINT,
+ REQUIRED_TO_COMMANDLINE SMALLINT,
+ DATA_STAGED SMALLINT,
+ PRIMARY KEY(TEMPLATE_ID,INPUT_KEY),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE WORKFLOW_OUTPUT
+(
+ TEMPLATE_ID VARCHAR(255),
+ OUTPUT_KEY VARCHAR(255),
+ OUTPUT_VALUE VARCHAR(255),
+ DATA_TYPE VARCHAR(255),
+ IS_REQUIRED SMALLINT,
+ REQUIRED_TO_COMMANDLINE SMALLINT,
+ DATA_MOVEMENT SMALLINT,
+ DATA_NAME_LOCATION VARCHAR(255),
+ SEARCH_QUERY VARCHAR(255),
+ APP_ARGUMENT VARCHAR(255),
+ OUTPUT_STREAMING SMALLINT,
+ PRIMARY KEY(TEMPLATE_ID,OUTPUT_KEY),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE COMPONENT_STATUS
+(
+ STATUS_ID VARCHAR (255) NOT NULL,
+ STATE VARCHAR(255),
+ REASON VARCHAR(255),
+ PRIMARY KEY (STATUS_ID)
+);
+
+CREATE TABLE WORKFLOW_STATUS
+(
+ STATUS_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ STATE VARCHAR(255),
+ REASON VARCHAR(255),
+ PRIMARY KEY (STATUS_ID, COMPONENT_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE EDGE
+(
+ EDGE_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE PORT
+(
+ PORT_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ PRIMARY KEY (PORT_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE NODE
+(
+ NODE_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ APPLICATION_ID VARCHAR (255),
+ APPLICATION_NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ PRIMARY KEY (NODE_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/c4517231/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/workflow-mysql.sql b/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
new file mode 100644
index 0000000..945a912
--- /dev/null
+++ b/modules/registry/registry-core/src/main/resources/workflow-mysql.sql
@@ -0,0 +1,117 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+CREATE TABLE WORKFLOW
+(
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ WORKFLOW_NAME VARCHAR (255) NOT NULL,
+ GRAPH LONGTEXT,
+ IMAGE BLOB,
+ PRIMARY KEY (TEMPLATE_ID)
+);
+
+CREATE TABLE WORKFLOW_INPUT
+(
+ TEMPLATE_ID VARCHAR(255),
+ INPUT_KEY VARCHAR(255),
+ INPUT_VALUE VARCHAR(255),
+ DATA_TYPE VARCHAR(255),
+ METADATA VARCHAR(255),
+ APP_ARGUMENT VARCHAR(255),
+ STANDARD_INPUT SMALLINT,
+ USER_FRIENDLY_DESC VARCHAR(255),
+ INPUT_ORDER INTEGER,
+ IS_REQUIRED SMALLINT,
+ REQUIRED_TO_COMMANDLINE SMALLINT,
+ DATA_STAGED SMALLINT,
+ PRIMARY KEY(TEMPLATE_ID,INPUT_KEY),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE WORKFLOW_OUTPUT
+(
+ TEMPLATE_ID VARCHAR(255),
+ OUTPUT_KEY VARCHAR(255),
+ OUTPUT_VALUE VARCHAR(255),
+ DATA_TYPE VARCHAR(255),
+ IS_REQUIRED SMALLINT,
+ REQUIRED_TO_COMMANDLINE SMALLINT,
+ DATA_MOVEMENT SMALLINT,
+ DATA_NAME_LOCATION VARCHAR(255),
+ SEARCH_QUERY VARCHAR(255),
+ APP_ARGUMENT VARCHAR(255),
+ OUTPUT_STREAMING SMALLINT,
+ PRIMARY KEY(TEMPLATE_ID,OUTPUT_KEY),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE COMPONENT_STATUS
+(
+ STATUS_ID VARCHAR (255) NOT NULL,
+ STATE VARCHAR(255),
+ REASON VARCHAR(255),
+ PRIMARY KEY (STATUS_ID)
+);
+
+CREATE TABLE WORKFLOW_STATUS
+(
+ STATUS_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ STATE VARCHAR(255),
+ REASON VARCHAR(255),
+ PRIMARY KEY (STATUS_ID, COMPONENT_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE EDGE
+(
+ EDGE_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE PORT
+(
+ PORT_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ PRIMARY KEY (PORT_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE NODE
+(
+ NODE_ID VARCHAR (255) NOT NULL,
+ TEMPLATE_ID VARCHAR (255) NOT NULL,
+ NAME VARCHAR (255),
+ APPLICATION_ID VARCHAR (255),
+ APPLICATION_NAME VARCHAR (255),
+ COMPONENT_STATUS_ID VARCHAR(255),
+ DESCRIPTION VARCHAR(500),
+ PRIMARY KEY (NODE_ID, TEMPLATE_ID),
+ FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
+);
\ No newline at end of file
[26/50] [abbrv] airavata git commit: Removed old xbaya workflow class
dependency
Posted by ch...@apache.org.
Removed old xbaya workflow class dependency
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/225f462b
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/225f462b
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/225f462b
Branch: refs/heads/master
Commit: 225f462badbc1bf18c8585f9f1eddd36bb0f8e09
Parents: 9859af3
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Feb 1 16:48:00 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Feb 1 16:48:00 2016 -0500
----------------------------------------------------------------------
.../main/resources/airavata-server.properties | 2 +-
modules/workflow/workflow-core/pom.xml | 5 -
.../core/SimpleWorkflowInterpreter.java | 46 +--
.../airavata/workflow/core/WorkflowBuilder.java | 15 +
.../workflow/core/WorkflowEnactmentService.java | 4 +-
.../airavata/workflow/core/WorkflowFactory.java | 34 ++-
.../workflow/core/WorkflowFactoryImpl.java | 74 -----
.../airavata/workflow/core/WorkflowParser.java | 18 +-
.../workflow/core/dag/nodes/InputNode.java | 37 +++
.../workflow/core/dag/nodes/InputNodeImpl.java | 105 +++++++
.../workflow/core/dag/nodes/OutputNode.java | 37 +++
.../workflow/core/dag/nodes/OutputNodeImpl.java | 108 +++++++
.../core/dag/nodes/WorkflowInputNode.java | 37 ---
.../core/dag/nodes/WorkflowInputNodeImpl.java | 105 -------
.../core/dag/nodes/WorkflowOutputNode.java | 37 ---
.../core/dag/nodes/WorkflowOutputNodeImpl.java | 108 -------
.../core/parser/AiravataWorkflowBuilder.java | 117 ++++++++
.../core/parser/AiravataWorkflowParser.java | 287 -------------------
.../core/parser/JsonWorkflowParser.java | 63 +++-
.../workflow/core/parser/PortContainer.java | 53 ----
.../core/parser/AiravataWorkflowParserTest.java | 119 --------
.../core/parser/JsonWorkflowParserTest.java | 130 +++++++++
22 files changed, 682 insertions(+), 859 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index 78997db..445449c 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -154,7 +154,7 @@ 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.workflow.core.parser.AiravataWorkflowParser
+#workflow.parser=org.apache.airavata.workflow.core.parser.AiravataWorkflowBuilder
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/pom.xml b/modules/workflow/workflow-core/pom.xml
index 31e0301..bb1ea79 100644
--- a/modules/workflow/workflow-core/pom.xml
+++ b/modules/workflow/workflow-core/pom.xml
@@ -34,11 +34,6 @@
<!-- Airavata default parser dependency -->
<dependency>
<groupId>org.apache.airavata</groupId>
- <artifactId>airavata-workflow-model-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.airavata</groupId>
<artifactId>airavata-registry-cpi</artifactId>
<version>${project.version}</version>
</dependency>
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
index defbad4..01ad6bb 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
@@ -37,9 +37,9 @@ import org.apache.airavata.registry.cpi.*;
import org.apache.airavata.workflow.core.dag.edge.Edge;
import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
import org.apache.airavata.workflow.core.dag.nodes.NodeState;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowInputNode;
+import org.apache.airavata.workflow.core.dag.nodes.InputNode;
import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowOutputNode;
+import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
import org.apache.airavata.workflow.core.dag.port.InPort;
import org.apache.airavata.workflow.core.dag.port.OutPort;
import org.slf4j.Logger;
@@ -59,7 +59,7 @@ import java.util.concurrent.ConcurrentHashMap;
class SimpleWorkflowInterpreter{
private static final Logger log = LoggerFactory.getLogger(SimpleWorkflowInterpreter.class);
- private List<WorkflowInputNode> workflowInputNodes;
+ private List<InputNode> inputNodes;
private ExperimentModel experiment;
@@ -72,7 +72,7 @@ class SimpleWorkflowInterpreter{
private Map<String, WorkflowContext> processingQueue = new ConcurrentHashMap<String, WorkflowContext>();
private Map<String, WorkflowContext> completeList = new HashMap<String, WorkflowContext>();
private Registry registry;
- private List<WorkflowOutputNode> completeWorkflowOutputs = new ArrayList<WorkflowOutputNode>();
+ private List<OutputNode> completeWorkflowOutputs = new ArrayList<OutputNode>();
private RabbitMQProcessLaunchPublisher publisher;
private RabbitMQStatusConsumer statusConsumer;
private String consumerId;
@@ -97,20 +97,20 @@ class SimpleWorkflowInterpreter{
* @throws Exception
*/
void launchWorkflow() throws Exception {
- WorkflowFactoryImpl wfFactory = WorkflowFactoryImpl.getInstance();
- WorkflowParser workflowParser = wfFactory.getWorkflowParser(experiment.getExperimentId(), credentialToken);
+ WorkflowBuilder workflowBuilder = WorkflowFactory.getWorkflowBuilder(experiment.getExperimentId(), credentialToken, null);
+
log.debug("Initialized workflow parser");
- setWorkflowInputNodes(workflowParser.parse());
+ setInputNodes(workflowBuilder.build());
log.debug("Parsed the workflow and got the workflow input nodes");
// process workflow input nodes
- processWorkflowInputNodes(getWorkflowInputNodes());
+ processWorkflowInputNodes(getInputNodes());
if (readyList.isEmpty()) {
StringBuilder sb = new StringBuilder();
- for (WorkflowInputNode workflowInputNode : workflowInputNodes) {
+ for (InputNode inputNode : inputNodes) {
sb.append(", ");
- sb.append(workflowInputNode.getInputObject().getName());
+ sb.append(inputNode.getInputObject().getName());
sb.append("=");
- sb.append(workflowInputNode.getInputObject().getValue());
+ sb.append(inputNode.getInputObject().getValue());
}
throw new AiravataException("No workflow application node is in ready state to run with experiment inputs" + sb.toString());
}
@@ -128,8 +128,8 @@ class SimpleWorkflowInterpreter{
throw new AiravataException("No workflow application node is in ready state to run");
}
for (WorkflowNode readyNode : readyList.values()) {
- if (readyNode instanceof WorkflowOutputNode) {
- WorkflowOutputNode wfOutputNode = (WorkflowOutputNode) readyNode;
+ if (readyNode instanceof OutputNode) {
+ OutputNode wfOutputNode = (OutputNode) readyNode;
wfOutputNode.getOutputObject().setValue(wfOutputNode.getInPort().getInputObject().getValue());
addToCompleteOutputNodeList(wfOutputNode);
continue;
@@ -151,7 +151,7 @@ class SimpleWorkflowInterpreter{
private void saveWorkflowOutputs() throws AppCatalogException {
List<OutputDataObjectType> outputDataObjects = new ArrayList<OutputDataObjectType>();
- for (WorkflowOutputNode completeWorkflowOutput : completeWorkflowOutputs) {
+ for (OutputNode completeWorkflowOutput : completeWorkflowOutputs) {
outputDataObjects.add(completeWorkflowOutput.getOutputObject());
}
RegistryFactory.getAppCatalog().getWorkflowCatalog()
@@ -183,9 +183,9 @@ class SimpleWorkflowInterpreter{
executionUnit = ExecutionUnit.APPLICATION;
executionData = ((ApplicationNode) readyNode).getApplicationId();
setupNodeDetailsInput(((ApplicationNode) readyNode), wfNodeDetails);
- } else if (readyNode instanceof WorkflowInputNode) {
+ } else if (readyNode instanceof InputNode) {
executionUnit = ExecutionUnit.INPUT;
- } else if (readyNode instanceof WorkflowOutputNode) {
+ } else if (readyNode instanceof OutputNode) {
executionUnit = ExecutionUnit.OUTPUT;
}
wfNodeDetails.setExecutionUnit(executionUnit);
@@ -206,9 +206,9 @@ class SimpleWorkflowInterpreter{
}
- private void processWorkflowInputNodes(List<WorkflowInputNode> wfInputNodes) {
+ private void processWorkflowInputNodes(List<InputNode> wfInputNodes) {
Set<WorkflowNode> tempNodeSet = new HashSet<WorkflowNode>();
- for (WorkflowInputNode wfInputNode : wfInputNodes) {
+ for (InputNode wfInputNode : wfInputNodes) {
if (wfInputNode.isReady()) {
log.debug("Workflow node : " + wfInputNode.getId() + " is ready to execute");
for (Edge edge : wfInputNode.getOutPort().getOutEdges()) {
@@ -227,12 +227,12 @@ class SimpleWorkflowInterpreter{
}
- public List<WorkflowInputNode> getWorkflowInputNodes() throws Exception {
- return workflowInputNodes;
+ public List<InputNode> getInputNodes() throws Exception {
+ return inputNodes;
}
- public void setWorkflowInputNodes(List<WorkflowInputNode> workflowInputNodes) {
- this.workflowInputNodes = workflowInputNodes;
+ public void setInputNodes(List<InputNode> inputNodes) {
+ this.inputNodes = inputNodes;
}
private Registry getRegistry() throws RegistryException {
@@ -282,7 +282,7 @@ class SimpleWorkflowInterpreter{
}
- private void addToCompleteOutputNodeList(WorkflowOutputNode wfOutputNode) {
+ private void addToCompleteOutputNodeList(OutputNode wfOutputNode) {
completeWorkflowOutputs.add(wfOutputNode);
readyList.remove(wfOutputNode.getId());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowBuilder.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowBuilder.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowBuilder.java
new file mode 100644
index 0000000..a794282
--- /dev/null
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowBuilder.java
@@ -0,0 +1,15 @@
+package org.apache.airavata.workflow.core;
+
+import org.apache.airavata.workflow.core.dag.nodes.InputNode;
+
+import java.util.List;
+
+/**
+ * Created by syodage on 2/1/16.
+ */
+public interface WorkflowBuilder {
+
+ public List<InputNode> build() throws Exception;
+
+ public List<InputNode> build(String workflow) throws Exception;
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
index 8ca0706..aaa3073 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
@@ -137,7 +137,7 @@ public class WorkflowEnactmentService {
// output changes it is ok to ignore this.
}
- }else if (msgCtx.getType() == MessageType.TASKOUTPUT) {
+ }else if (msgCtx.getType() == MessageType.PROCESSOUTPUT) {
TaskOutputChangeEvent event = (TaskOutputChangeEvent) msgCtx.getEvent();
TaskIdentifier taskIdentifier = event.getTaskIdentity();
simpleWorkflowInterpreter = getInterpreter(taskIdentifier.getExperimentId());
@@ -150,7 +150,7 @@ public class WorkflowEnactmentService {
throw new IllegalArgumentException("Error while processing TaskOutputChangeEvent, " +
"There is no registered workflow for experiment Id : " + taskIdentifier.getExperimentId());
}
- message = "Received task output change event , expId : " + taskIdentifier.getExperimentId() + ", taskId : " + taskIdentifier.getTaskId() + ", workflow node Id : " + taskIdentifier.getWorkflowNodeId();
+ message = "Received task output change event , expId : " + taskIdentifier.getExperimentId() + ", taskId : " + taskIdentifier.getTaskId();
log.debug(message);
} else {
// not interested, ignores
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
index ee89dd9..f232efa 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
@@ -21,11 +21,41 @@
package org.apache.airavata.workflow.core;
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.workflow.core.parser.AiravataWorkflowBuilder;
+import org.apache.airavata.workflow.core.parser.JsonWorkflowParser;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.lang.reflect.Constructor;
+
/**
* All classes implement this WorkflowFactory interface, should be abstract or singleton.
*/
-public interface WorkflowFactory {
+public class WorkflowFactory {
+
+ private static final Logger log = LoggerFactory.getLogger(WorkflowFactory.class);
+
+
+ public static WorkflowBuilder getWorkflowBuilder(String experimentId, String credentialToken, String workflowString) throws Exception {
+ return new AiravataWorkflowBuilder(experimentId, credentialToken, getWorkflowParser(workflowString));
+ }
- public WorkflowParser getWorkflowParser(String experimentId, String credentialToken) throws Exception;
+ public static WorkflowParser getWorkflowParser(String workflowString) throws Exception {
+ WorkflowParser workflowParser = null;
+ try {
+ String wfParserClassName = ServerSettings.getWorkflowParser();
+ Class<?> aClass = Class.forName(wfParserClassName);
+ Constructor<?> constructor = aClass.getConstructor(String.class);
+ workflowParser = (WorkflowParser) constructor.newInstance(workflowString);
+ } catch (ApplicationSettingsException e) {
+ log.info("A custom workflow parser is not defined, Use default Airavata JSON workflow parser");
+ }
+ if (workflowParser == null) {
+ workflowParser = new JsonWorkflowParser(workflowString);
+ }
+ return workflowParser;
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactoryImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactoryImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactoryImpl.java
deleted file mode 100644
index 1df2084..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactoryImpl.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- *
- * 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.workflow.core;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.workflow.core.parser.AiravataWorkflowParser;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.lang.reflect.Constructor;
-
-/**
- * Singleton class, only one instance can exist in runtime.
- */
-public class WorkflowFactoryImpl implements WorkflowFactory {
-
- private static final Logger log = LoggerFactory.getLogger(WorkflowFactoryImpl.class);
-
- private static WorkflowFactoryImpl workflowFactoryImpl;
-
- private WorkflowFactoryImpl(){
-
- }
-
- public static WorkflowFactoryImpl getInstance() {
- if (workflowFactoryImpl == null) {
- synchronized (WorkflowFactory.class) {
- if (workflowFactoryImpl == null) {
- workflowFactoryImpl = new WorkflowFactoryImpl();
- }
- }
- }
- return workflowFactoryImpl;
- }
-
-
- @Override
- public WorkflowParser getWorkflowParser(String experimentId, String credentialToken) throws Exception {
- WorkflowParser workflowParser = null;
- try {
- String wfParserClassName = ServerSettings.getWorkflowParser();
- Class<?> aClass = Class.forName(wfParserClassName);
- Constructor<?> constructor = aClass.getConstructor(String.class, String.class);
- workflowParser = (WorkflowParser) constructor.newInstance(experimentId, credentialToken);
- } catch (ApplicationSettingsException e) {
- log.info("A custom workflow parser is not defined, Use default Airavata workflow parser");
- }
- if (workflowParser == null) {
- workflowParser = new AiravataWorkflowParser(experimentId, credentialToken);
- }
- return workflowParser;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowParser.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowParser.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowParser.java
index 8d284dd..46bc1d8 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowParser.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowParser.java
@@ -21,12 +21,26 @@
package org.apache.airavata.workflow.core;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowInputNode;
+import org.apache.airavata.workflow.core.dag.edge.Edge;
+import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
+import org.apache.airavata.workflow.core.dag.nodes.InputNode;
+import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
+import org.apache.airavata.workflow.core.dag.port.Port;
import java.util.List;
public interface WorkflowParser {
- public List<WorkflowInputNode> parse() throws Exception;
+ public void parse() throws Exception;
+
+ public List<InputNode> getInputNodes() throws Exception;
+
+ public List<OutputNode> getOutputNodes() throws Exception;
+
+ public List<ApplicationNode> getApplicationNodes() throws Exception;
+
+ public List<Port> getPorts() throws Exception;
+
+ public List<Edge> getEdges() throws Exception;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/InputNode.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/InputNode.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/InputNode.java
new file mode 100644
index 0000000..6dec125
--- /dev/null
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/InputNode.java
@@ -0,0 +1,37 @@
+/*
+ *
+ * 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.workflow.core.dag.nodes;
+
+import org.apache.airavata.model.application.io.InputDataObjectType;
+import org.apache.airavata.workflow.core.dag.port.OutPort;
+
+public interface InputNode extends WorkflowNode {
+
+ public InputDataObjectType getInputObject();
+
+ public void setInputObject(InputDataObjectType inputObject);
+
+ public OutPort getOutPort();
+
+ public void setOutPort(OutPort outPort);
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/InputNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/InputNodeImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/InputNodeImpl.java
new file mode 100644
index 0000000..59984d7
--- /dev/null
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/InputNodeImpl.java
@@ -0,0 +1,105 @@
+/*
+ * 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.workflow.core.dag.nodes;
+
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.NodeModel;
+import org.apache.airavata.model.application.io.InputDataObjectType;
+import org.apache.airavata.workflow.core.dag.port.OutPort;
+
+public class InputNodeImpl implements InputNode {
+
+ private NodeModel nodeModel;
+ private OutPort outPort;
+ private InputDataObjectType inputDataObjectType;
+
+ public InputNodeImpl(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
+
+ @Override
+ public void setNodeModel(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
+
+ @Override
+ public NodeModel getNodeModel() {
+ return nodeModel;
+ }
+
+ @Override
+ public String getId() {
+ return getNodeModel().getNodeId();
+ }
+
+ @Override
+ public String getName() {
+ return getNodeModel().getName();
+ }
+
+ @Override
+ public NodeType getType() {
+ return NodeType.WORKFLOW_INPUT;
+ }
+
+ @Override
+ public ComponentState getState() {
+ return getStatus().getState();
+ }
+
+ @Override
+ public ComponentStatus getStatus() {
+ return getNodeModel().getStatus();
+ }
+
+ @Override
+ public void setStatus(ComponentStatus newStatus) {
+ getNodeModel().setStatus(newStatus);
+ }
+
+ @Override
+ public boolean isReady() {
+ return (inputDataObjectType.getValue() != null && !inputDataObjectType.getValue().equals(""))
+ || !inputDataObjectType.isIsRequired();
+ }
+
+ @Override
+ public InputDataObjectType getInputObject() {
+ return this.inputDataObjectType;
+ }
+
+ @Override
+ public void setInputObject(InputDataObjectType inputObject) {
+ this.inputDataObjectType = inputObject;
+ }
+
+ @Override
+ public OutPort getOutPort() {
+ return this.outPort;
+ }
+
+ @Override
+ public void setOutPort(OutPort outPort) {
+ this.outPort = outPort;
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/OutputNode.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/OutputNode.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/OutputNode.java
new file mode 100644
index 0000000..7378c96
--- /dev/null
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/OutputNode.java
@@ -0,0 +1,37 @@
+/*
+ *
+ * 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.workflow.core.dag.nodes;
+
+import org.apache.airavata.model.application.io.OutputDataObjectType;
+import org.apache.airavata.workflow.core.dag.port.InPort;
+
+public interface OutputNode extends WorkflowNode {
+
+ public OutputDataObjectType getOutputObject();
+
+ public void setOutputObject(OutputDataObjectType outputObject);
+
+ public InPort getInPort();
+
+ public void setInPort(InPort inPort);
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/OutputNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/OutputNodeImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/OutputNodeImpl.java
new file mode 100644
index 0000000..5eada1c
--- /dev/null
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/OutputNodeImpl.java
@@ -0,0 +1,108 @@
+/*
+ *
+ * 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.workflow.core.dag.nodes;
+
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.NodeModel;
+import org.apache.airavata.model.application.io.OutputDataObjectType;
+import org.apache.airavata.workflow.core.dag.port.InPort;
+
+public class OutputNodeImpl implements OutputNode {
+
+ private NodeModel nodeModel;
+ private OutputDataObjectType outputDataObjectType;
+ private InPort inPort;
+
+ public OutputNodeImpl(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
+
+ @Override
+ public void setNodeModel(NodeModel nodeModel) {
+ this.nodeModel = nodeModel;
+ }
+
+ @Override
+ public NodeModel getNodeModel() {
+ return nodeModel;
+ }
+
+ @Override
+ public String getId() {
+ return getNodeModel().getNodeId();
+ }
+
+ @Override
+ public String getName() {
+ return getNodeModel().getName();
+ }
+
+ @Override
+ public NodeType getType() {
+ return NodeType.WORKFLOW_OUTPUT;
+ }
+
+ @Override
+ public ComponentState getState() {
+ return getStatus().getState();
+ }
+
+ @Override
+ public ComponentStatus getStatus() {
+ return getNodeModel().getStatus();
+ }
+
+ @Override
+ public void setStatus(ComponentStatus newStatus) {
+ getNodeModel().setStatus(newStatus);
+ }
+
+
+ @Override
+ public boolean isReady() {
+ return !(inPort.getInputObject() == null || inPort.getInputObject().getValue() == null
+ || inPort.getInputObject().getValue().equals(""));
+ }
+
+ @Override
+ public OutputDataObjectType getOutputObject() {
+ return this.outputDataObjectType;
+ }
+
+ @Override
+ public void setOutputObject(OutputDataObjectType outputObject) {
+ this.outputDataObjectType = outputObject;
+ }
+
+ @Override
+ public InPort getInPort() {
+ return this.inPort;
+ }
+
+ @Override
+ public void setInPort(InPort inPort) {
+ this.inPort = inPort;
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNode.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNode.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNode.java
deleted file mode 100644
index 939ba16..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNode.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *
- * 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.workflow.core.dag.nodes;
-
-import org.apache.airavata.model.application.io.InputDataObjectType;
-import org.apache.airavata.workflow.core.dag.port.OutPort;
-
-public interface WorkflowInputNode extends WorkflowNode {
-
- public InputDataObjectType getInputObject();
-
- public void setInputObject(InputDataObjectType inputObject);
-
- public OutPort getOutPort();
-
- public void setOutPort(OutPort outPort);
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
deleted file mode 100644
index 3ecc865..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowInputNodeImpl.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * 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.workflow.core.dag.nodes;
-
-import org.apache.airavata.model.ComponentState;
-import org.apache.airavata.model.ComponentStatus;
-import org.apache.airavata.model.NodeModel;
-import org.apache.airavata.model.application.io.InputDataObjectType;
-import org.apache.airavata.workflow.core.dag.port.OutPort;
-
-public class WorkflowInputNodeImpl implements WorkflowInputNode {
-
- private NodeModel nodeModel;
- private OutPort outPort;
- private InputDataObjectType inputDataObjectType;
-
- public WorkflowInputNodeImpl(NodeModel nodeModel) {
- this.nodeModel = nodeModel;
- }
-
- @Override
- public void setNodeModel(NodeModel nodeModel) {
- this.nodeModel = nodeModel;
- }
-
- @Override
- public NodeModel getNodeModel() {
- return nodeModel;
- }
-
- @Override
- public String getId() {
- return getNodeModel().getNodeId();
- }
-
- @Override
- public String getName() {
- return getNodeModel().getName();
- }
-
- @Override
- public NodeType getType() {
- return NodeType.WORKFLOW_INPUT;
- }
-
- @Override
- public ComponentState getState() {
- return getStatus().getState();
- }
-
- @Override
- public ComponentStatus getStatus() {
- return getNodeModel().getStatus();
- }
-
- @Override
- public void setStatus(ComponentStatus newStatus) {
- getNodeModel().setStatus(newStatus);
- }
-
- @Override
- public boolean isReady() {
- return (inputDataObjectType.getValue() != null && !inputDataObjectType.getValue().equals(""))
- || !inputDataObjectType.isIsRequired();
- }
-
- @Override
- public InputDataObjectType getInputObject() {
- return this.inputDataObjectType;
- }
-
- @Override
- public void setInputObject(InputDataObjectType inputObject) {
- this.inputDataObjectType = inputObject;
- }
-
- @Override
- public OutPort getOutPort() {
- return this.outPort;
- }
-
- @Override
- public void setOutPort(OutPort outPort) {
- this.outPort = outPort;
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNode.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNode.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNode.java
deleted file mode 100644
index 1b984be..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNode.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *
- * 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.workflow.core.dag.nodes;
-
-import org.apache.airavata.model.application.io.OutputDataObjectType;
-import org.apache.airavata.workflow.core.dag.port.InPort;
-
-public interface WorkflowOutputNode extends WorkflowNode {
-
- public OutputDataObjectType getOutputObject();
-
- public void setOutputObject(OutputDataObjectType outputObject);
-
- public InPort getInPort();
-
- public void setInPort(InPort inPort);
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
deleted file mode 100644
index 5844753..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/WorkflowOutputNodeImpl.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- *
- * 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.workflow.core.dag.nodes;
-
-import org.apache.airavata.model.ComponentState;
-import org.apache.airavata.model.ComponentStatus;
-import org.apache.airavata.model.NodeModel;
-import org.apache.airavata.model.application.io.OutputDataObjectType;
-import org.apache.airavata.workflow.core.dag.port.InPort;
-
-public class WorkflowOutputNodeImpl implements WorkflowOutputNode {
-
- private NodeModel nodeModel;
- private OutputDataObjectType outputDataObjectType;
- private InPort inPort;
-
- public WorkflowOutputNodeImpl(NodeModel nodeModel) {
- this.nodeModel = nodeModel;
- }
-
- @Override
- public void setNodeModel(NodeModel nodeModel) {
- this.nodeModel = nodeModel;
- }
-
- @Override
- public NodeModel getNodeModel() {
- return nodeModel;
- }
-
- @Override
- public String getId() {
- return getNodeModel().getNodeId();
- }
-
- @Override
- public String getName() {
- return getNodeModel().getName();
- }
-
- @Override
- public NodeType getType() {
- return NodeType.WORKFLOW_OUTPUT;
- }
-
- @Override
- public ComponentState getState() {
- return getStatus().getState();
- }
-
- @Override
- public ComponentStatus getStatus() {
- return getNodeModel().getStatus();
- }
-
- @Override
- public void setStatus(ComponentStatus newStatus) {
- getNodeModel().setStatus(newStatus);
- }
-
-
- @Override
- public boolean isReady() {
- return !(inPort.getInputObject() == null || inPort.getInputObject().getValue() == null
- || inPort.getInputObject().getValue().equals(""));
- }
-
- @Override
- public OutputDataObjectType getOutputObject() {
- return this.outputDataObjectType;
- }
-
- @Override
- public void setOutputObject(OutputDataObjectType outputObject) {
- this.outputDataObjectType = outputObject;
- }
-
- @Override
- public InPort getInPort() {
- return this.inPort;
- }
-
- @Override
- public void setInPort(InPort inPort) {
- this.inPort = inPort;
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowBuilder.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowBuilder.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowBuilder.java
new file mode 100644
index 0000000..e50b245
--- /dev/null
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowBuilder.java
@@ -0,0 +1,117 @@
+/*
+ *
+ * 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.workflow.core.parser;
+
+import org.apache.airavata.model.application.io.InputDataObjectType;
+import org.apache.airavata.model.application.io.OutputDataObjectType;
+import org.apache.airavata.model.experiment.ExperimentModel;
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
+import org.apache.airavata.registry.cpi.*;
+import org.apache.airavata.workflow.core.WorkflowBuilder;
+import org.apache.airavata.workflow.core.WorkflowParser;
+import org.apache.airavata.workflow.core.dag.edge.DirectedEdge;
+import org.apache.airavata.workflow.core.dag.edge.Edge;
+import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
+import org.apache.airavata.workflow.core.dag.nodes.ApplicationNodeImpl;
+import org.apache.airavata.workflow.core.dag.nodes.InputNode;
+import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
+import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
+import org.apache.airavata.workflow.core.dag.nodes.OutputNodeImpl;
+import org.apache.airavata.workflow.core.dag.port.*;
+
+import java.util.*;
+
+public class AiravataWorkflowBuilder implements WorkflowBuilder {
+
+ private String credentialToken ;
+ private WorkflowParser workflowParser;
+ private ExperimentModel experiment;
+
+
+ public AiravataWorkflowBuilder(String experimentId, String credentialToken, WorkflowParser workflowParser) throws RegistryException {
+ this.experiment = getExperiment(experimentId);
+ this.credentialToken = credentialToken;
+ this.workflowParser = workflowParser;
+ }
+
+ public AiravataWorkflowBuilder(ExperimentModel experiment, String credentialToken , WorkflowParser workflowParser) {
+ this.credentialToken = credentialToken;
+ this.experiment = experiment;
+ this.workflowParser = workflowParser;
+ }
+
+ @Override
+ public List<InputNode> build() throws Exception {
+ return parseWorkflow(getWorkflowFromExperiment(experiment));
+ }
+
+ @Override
+ public List<InputNode> build(String workflow) throws Exception {
+ return parseWorkflow(workflow);
+ }
+
+ public List<InputNode> parseWorkflow(String workflow) throws Exception {
+
+ List<InputNode> inputNodes = workflowParser.getInputNodes();
+ List<ApplicationNode> applicationNodes = workflowParser.getApplicationNodes();
+ List<Port> ports = workflowParser.getPorts();
+ List<Edge> edges = workflowParser.getEdges();
+ List<OutputNode> outputNodes = workflowParser.getOutputNodes();
+
+ // travel breath first and build relation between each workflow component
+ Queue<WorkflowNode> queue = new LinkedList<>();
+ List<InputDataObjectType> experimentInputs = experiment.getExperimentInputs();
+ Map<String,InputDataObjectType> inputDataMap=new HashMap<String, InputDataObjectType>();
+ for (InputDataObjectType dataObjectType : experimentInputs) {
+ inputDataMap.put(dataObjectType.getName(), dataObjectType);
+ }
+
+ return inputNodes;
+ }
+
+
+ private OutputDataObjectType getOutputDataObject(InputDataObjectType inputObject) {
+ OutputDataObjectType outputDataObjectType = new OutputDataObjectType();
+ outputDataObjectType.setApplicationArgument(inputObject.getApplicationArgument());
+ outputDataObjectType.setName(inputObject.getName());
+ outputDataObjectType.setType(inputObject.getType());
+ outputDataObjectType.setValue(inputObject.getValue());
+ return outputDataObjectType;
+ }
+
+ private ExperimentModel getExperiment(String experimentId) throws RegistryException {
+ Registry registry = RegistryFactory.getRegistry();
+ return (ExperimentModel)registry.getExperimentCatalog().get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
+ }
+
+ private String getWorkflowFromExperiment(ExperimentModel experiment) throws RegistryException, AppCatalogException {
+ WorkflowCatalog workflowCatalog = getWorkflowCatalog();
+
+ // FIXME: return workflow string
+ return null;
+ }
+
+ private WorkflowCatalog getWorkflowCatalog() throws AppCatalogException {
+ return RegistryFactory.getAppCatalog().getWorkflowCatalog();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParser.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParser.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParser.java
deleted file mode 100644
index 0844219..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParser.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- *
- * 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.workflow.core.parser;
-
-import org.apache.airavata.model.application.io.InputDataObjectType;
-import org.apache.airavata.model.application.io.OutputDataObjectType;
-import org.apache.airavata.model.experiment.ExperimentModel;
-import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.*;
-import org.apache.airavata.workflow.core.WorkflowParser;
-import org.apache.airavata.workflow.core.dag.edge.DirectedEdge;
-import org.apache.airavata.workflow.core.dag.edge.Edge;
-import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
-import org.apache.airavata.workflow.core.dag.nodes.ApplicationNodeImpl;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowInputNode;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowInputNodeImpl;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowOutputNode;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowOutputNodeImpl;
-import org.apache.airavata.workflow.core.dag.port.InPort;
-import org.apache.airavata.workflow.core.dag.port.InputPortIml;
-import org.apache.airavata.workflow.core.dag.port.OutPort;
-import org.apache.airavata.workflow.core.dag.port.OutPortImpl;
-import org.apache.airavata.workflow.model.component.ComponentException;
-import org.apache.airavata.workflow.model.component.system.ConstantComponent;
-import org.apache.airavata.workflow.model.component.system.InputComponent;
-import org.apache.airavata.workflow.model.component.system.S3InputComponent;
-import org.apache.airavata.workflow.model.graph.DataEdge;
-import org.apache.airavata.workflow.model.graph.DataPort;
-import org.apache.airavata.workflow.model.graph.GraphException;
-import org.apache.airavata.workflow.model.graph.Node;
-import org.apache.airavata.workflow.model.graph.impl.NodeImpl;
-import org.apache.airavata.workflow.model.graph.system.OutputNode;
-import org.apache.airavata.workflow.model.graph.system.SystemDataPort;
-import org.apache.airavata.workflow.model.graph.ws.WSNode;
-import org.apache.airavata.workflow.model.graph.ws.WSPort;
-import org.apache.airavata.workflow.model.wf.Workflow;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class AiravataWorkflowParser implements WorkflowParser {
-
- private String credentialToken ;
-
- private ExperimentModel experiment;
- private Map<String, WorkflowNode> wfNodes = new HashMap<String, WorkflowNode>();
-
-
- public AiravataWorkflowParser(String experimentId, String credentialToken) throws RegistryException {
- this.experiment = getExperiment(experimentId);
- this.credentialToken = credentialToken;
- }
-
- public AiravataWorkflowParser(ExperimentModel experiment, String credentialToken) {
- this.credentialToken = credentialToken;
- this.experiment = experiment;
- }
-
- @Override
- public List<WorkflowInputNode> parse() throws RegistryException, AppCatalogException,
- ComponentException, GraphException {
- return parseWorkflow(getWorkflowFromExperiment(experiment));
- }
-
- public List<WorkflowInputNode> parseWorkflow(Workflow workflow) {
- List<Node> gNodes = getInputNodes(workflow);
- List<WorkflowInputNode> wfInputNodes = new ArrayList<WorkflowInputNode>();
- List<PortContainer> portContainers = new ArrayList<PortContainer>();
- List<InputDataObjectType> experimentInputs = experiment.getExperimentInputs();
- Map<String,InputDataObjectType> inputDataMap=new HashMap<String, InputDataObjectType>();
- WorkflowInputNode wfInputNode = null;
- for (InputDataObjectType dataObjectType : experimentInputs) {
- inputDataMap.put(dataObjectType.getName(), dataObjectType);
- }
- for (Node gNode : gNodes) {
- wfInputNode = new WorkflowInputNodeImpl(gNode.getID(), gNode.getName());
- wfInputNode.setInputObject(inputDataMap.get(wfInputNode.getId()));
- if (wfInputNode.getInputObject() == null) {
- throw new RuntimeException("Workflow Input object is not set, workflow node id: " + wfInputNode.getId());
- }
- portContainers.addAll(processOutPorts(gNode, wfInputNode));
- wfInputNodes.add(wfInputNode);
- }
-
- // while port container is not empty iterate graph and build the workflow DAG.
- buildModel(portContainers);
-
- return wfInputNodes;
- }
-
- private void buildModel(List<PortContainer> portContainerList) {
- // end condition of recursive call.
- if (portContainerList == null || portContainerList.isEmpty()) {
- return ;
- }
- DataPort dataPort = null;
- InPort inPort = null;
- ApplicationNode wfApplicationNode = null;
- WorkflowOutputNode wfOutputNode = null;
- List<PortContainer> nextPortContainerList = new ArrayList<PortContainer>();
- for (PortContainer portContainer : portContainerList) {
- dataPort = portContainer.getDataPort();
- inPort = portContainer.getInPort();
- Node node = dataPort.getNode();
- if (node instanceof WSNode) {
- WSNode wsNode = (WSNode) node;
- WorkflowNode wfNode = wfNodes.get(wsNode.getID());
- if (wfNode == null) {
- wfApplicationNode = createApplicationNode(wsNode);
- wfNodes.put(wfApplicationNode.getId(), wfApplicationNode);
- nextPortContainerList.addAll(processOutPorts(wsNode, wfApplicationNode));
- } else if (wfNode instanceof ApplicationNode) {
- wfApplicationNode = (ApplicationNode) wfNode;
- } else {
- throw new IllegalArgumentException("Only support for ApplicationNode implementation, but found other type for node implementation");
- }
- inPort.setNode(wfApplicationNode);
- wfApplicationNode.addInPort(inPort);
-
- }else if (node instanceof OutputNode) {
- OutputNode oNode = (OutputNode) node;
- wfOutputNode = createWorkflowOutputNode(oNode);
- wfOutputNode.setInPort(inPort);
- inPort.setNode(wfOutputNode);
- wfNodes.put(wfOutputNode.getId(), wfOutputNode);
- }
- }
- buildModel(nextPortContainerList);
-
- }
-
- private WorkflowOutputNode createWorkflowOutputNode(OutputNode oNode) {
- WorkflowOutputNodeImpl workflowOutputNode = new WorkflowOutputNodeImpl(oNode.getID(), oNode.getName());
- OutputDataObjectType outputDataObjectType = new OutputDataObjectType();
- outputDataObjectType.setType(oNode.getParameterType());
- outputDataObjectType.setName(oNode.getID());
- workflowOutputNode.setOutputObject(outputDataObjectType);
- return workflowOutputNode;
- }
-
- private ApplicationNode createApplicationNode(WSNode wsNode) {
- ApplicationNode applicationNode = new ApplicationNodeImpl(wsNode.getID(),
- wsNode.getComponent().getApplication().getName(),
- wsNode.getComponent().getApplication().getApplicationId());
- return applicationNode;
- }
-
- private List<PortContainer> processOutPorts(Node node, WorkflowNode wfNode) {
- OutPort outPort ;
- Edge edge;
- InPort inPort = null;
- List<PortContainer> portContainers = new ArrayList<PortContainer>();
- for (DataPort dataPort : node.getOutputPorts()) {
- outPort = createOutPort(dataPort);
- for (DataEdge dataEdge : dataPort.getEdges()) {
- edge = new DirectedEdge();
- edge.setFromPort(outPort);
- outPort.addEdge(edge);
- inPort = createInPort(dataEdge.getToPort());
- edge.setToPort(inPort);
- inPort.addEdge(edge);
- portContainers.add(new PortContainer(dataEdge.getToPort(), inPort));
- }
- outPort.setNode(wfNode);
- if (wfNode instanceof WorkflowInputNode) {
- WorkflowInputNode workflowInputNode = (WorkflowInputNode) wfNode;
- workflowInputNode.setOutPort(outPort);
- } else if (wfNode instanceof ApplicationNode) {
- ApplicationNode applicationNode = ((ApplicationNode) wfNode);
- applicationNode.addOutPort(outPort);
- }
- }
- return portContainers;
- }
-
- private OutPort createOutPort(DataPort dataPort) {
- OutPortImpl outPort = new OutPortImpl(dataPort.getID());
- OutputDataObjectType outputDataObjectType = new OutputDataObjectType();
- if (dataPort instanceof WSPort) {
- WSPort wsPort = (WSPort) dataPort;
- outputDataObjectType.setName(wsPort.getComponentPort().getName());
- outputDataObjectType.setType(wsPort.getType());
- }else if (dataPort instanceof SystemDataPort) {
- SystemDataPort sysPort = (SystemDataPort) dataPort;
- outputDataObjectType.setName(sysPort.getFromNode().getName());
- outputDataObjectType.setType(sysPort.getType());
- }
-
- outPort.setOutputObject(outputDataObjectType);
- return outPort;
- }
-
- private InPort createInPort(DataPort toPort) {
- InPort inPort = new InputPortIml(toPort.getID());
- InputDataObjectType inputDataObjectType = new InputDataObjectType();
- if (toPort instanceof WSPort) {
- WSPort wsPort = (WSPort) toPort;
- inputDataObjectType.setName(wsPort.getName());
- inputDataObjectType.setType(wsPort.getType());
- inputDataObjectType.setApplicationArgument(wsPort.getComponentPort().getApplicationArgument());
- inputDataObjectType.setIsRequired(!wsPort.getComponentPort().isOptional());
- inputDataObjectType.setInputOrder(wsPort.getComponentPort().getInputOrder());
-
- inPort.setDefaultValue(wsPort.getComponentPort().getDefaultValue());
- }else if (toPort instanceof SystemDataPort) {
- SystemDataPort sysPort = (SystemDataPort) toPort;
- inputDataObjectType.setName(sysPort.getName());
- inputDataObjectType.setType(sysPort.getType());
- }
- inPort.setInputObject(inputDataObjectType);
- return inPort;
- }
-
- private InputDataObjectType getInputDataObject(DataPort dataPort) {
- InputDataObjectType inputDataObject = new InputDataObjectType();
- inputDataObject.setName(dataPort.getName());
- if (dataPort instanceof WSPort) {
- WSPort port = (WSPort) dataPort;
- inputDataObject.setInputOrder(port.getComponentPort().getInputOrder());
- inputDataObject.setApplicationArgument(port.getComponentPort().getApplicationArgument() == null ?
- "" : port.getComponentPort().getApplicationArgument());
- inputDataObject.setType(dataPort.getType());
- }
- return inputDataObject;
- }
-
- private OutputDataObjectType getOutputDataObject(InputDataObjectType inputObject) {
- OutputDataObjectType outputDataObjectType = new OutputDataObjectType();
- outputDataObjectType.setApplicationArgument(inputObject.getApplicationArgument());
- outputDataObjectType.setName(inputObject.getName());
- outputDataObjectType.setType(inputObject.getType());
- outputDataObjectType.setValue(inputObject.getValue());
- return outputDataObjectType;
- }
-
- private ExperimentModel getExperiment(String experimentId) throws RegistryException {
- Registry registry = RegistryFactory.getRegistry();
- return (ExperimentModel)registry.getExperimentCatalog().get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
- }
-
- private Workflow getWorkflowFromExperiment(ExperimentModel experiment) throws RegistryException, AppCatalogException, GraphException, ComponentException {
- WorkflowCatalog workflowCatalog = getWorkflowCatalog();
- return new Workflow(workflowCatalog.getWorkflow(experiment.getExecutionId()).getGraph());
- }
-
- private WorkflowCatalog getWorkflowCatalog() throws AppCatalogException {
- return RegistryFactory.getAppCatalog().getWorkflowCatalog();
- }
-
- private ArrayList<Node> getInputNodes(Workflow wf) {
- ArrayList<Node> list = new ArrayList<Node>();
- List<NodeImpl> nodes = wf.getGraph().getNodes();
- for (Node node : nodes) {
- String name = node.getComponent().getName();
- if (InputComponent.NAME.equals(name) || ConstantComponent.NAME.equals(name) || S3InputComponent.NAME.equals(name)) {
- list.add(node);
- }
- }
- return list;
- }
-
- public Map<String, WorkflowNode> getWfNodes() {
- return wfNodes;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
index 6c839e7..59576b3 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
@@ -1,21 +1,76 @@
package org.apache.airavata.workflow.core.parser;
+import com.google.gson.JsonObject;
import org.apache.airavata.workflow.core.WorkflowParser;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowInputNode;
+import org.apache.airavata.workflow.core.dag.edge.Edge;
+import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
+import org.apache.airavata.workflow.core.dag.nodes.InputNode;
+import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
+import org.apache.airavata.workflow.core.dag.port.Port;
import java.util.List;
/**
* Created by syodage on 1/27/16.
*/
-public class JsonWorkflowParser implements WorkflowParser {
+public class JsonWorkflowParser implements WorkflowParser{
- public JsonWorkflowParser(String workflowDescription) {
+ private final String workflow;
+ public JsonWorkflowParser(String jsonWorkflowString) {
+ workflow = jsonWorkflowString;
+ }
+
+
+ @Override
+ public void parse() throws Exception {
+ // TODO parse json string and construct components
+ }
+
+ @Override
+ public List<InputNode> getInputNodes() throws Exception {
+ return null;
}
@Override
- public List<WorkflowInputNode> parse() throws Exception {
+ public List<OutputNode> getOutputNodes() throws Exception {
+ return null;
+ }
+
+ @Override
+ public List<ApplicationNode> getApplicationNodes() throws Exception {
+ return null;
+ }
+
+ @Override
+ public List<Port> getPorts() throws Exception {
+ return null;
+ }
+
+ @Override
+ public List<Edge> getEdges() throws Exception {
+ return null;
+ }
+
+
+ private InputNode createInputNode(JsonObject jNode) {
+ return null;
+ }
+
+ private OutputNode createOutputNode(JsonObject jNode) {
+ return null;
+ }
+
+ private ApplicationNode createApplicationNode(JsonObject jNode) {
+ return null;
+ }
+
+ private Port createPort(JsonObject jPort){
+ return null;
+ }
+
+
+ private Edge createEdge(JsonObject jEdge) {
return null;
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/PortContainer.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/PortContainer.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/PortContainer.java
deleted file mode 100644
index 536199c..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/PortContainer.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- *
- * 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.workflow.core.parser;
-
-import org.apache.airavata.workflow.core.dag.port.InPort;
-import org.apache.airavata.workflow.model.graph.DataPort;
-
-
-public class PortContainer {
- private DataPort dataPort;
- private InPort inPort;
-
-
- public PortContainer(DataPort dataPort, InPort inPort) {
- this.dataPort = dataPort;
- this.inPort = inPort;
- }
-
- public DataPort getDataPort() {
- return dataPort;
- }
-
- public void setDataPort(DataPort dataPort) {
- this.dataPort = dataPort;
- }
-
- public InPort getInPort() {
- return inPort;
- }
-
- public void setInPort(InPort inPort) {
- this.inPort = inPort;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParserTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParserTest.java b/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParserTest.java
deleted file mode 100644
index 6f35e30..0000000
--- a/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParserTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- *
- * 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.workflow.core.parser;
-
-import org.apache.airavata.model.application.io.DataType;
-import org.apache.airavata.model.application.io.InputDataObjectType;
-import org.apache.airavata.model.experiment.ExperimentModel;
-import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowInputNode;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowOutputNode;
-import org.apache.airavata.workflow.model.wf.Workflow;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-public class AiravataWorkflowParserTest {
-
- @Before
- public void setUp() throws Exception {
-
- }
-
- @After
- public void tearDown() throws Exception {
-
- }
-
- @Test
- public void testWorkflowParse() throws Exception {
- Assert.assertNotNull("Test file (ComplexMathWorkflow.awf) is missing", getClass().getResource("/ComplexMathWorkflow.awf"));
- InputStreamReader isr = new InputStreamReader(this.getClass().getResourceAsStream("/ComplexMathWorkflow.awf"));
- BufferedReader br = new BufferedReader(isr);
- StringBuffer sb = new StringBuffer();
- String nextLine = br.readLine();
- while (nextLine != null) {
- sb.append(nextLine);
- nextLine = br.readLine();
- }
- Workflow workflow = new Workflow(sb.toString());
- ExperimentModel experiment = new ExperimentModel();
- InputDataObjectType x = new InputDataObjectType();
- x.setValue("6");
- x.setType(DataType.STRING);
- x.setName("x");
-
- InputDataObjectType y = new InputDataObjectType();
- y.setValue("8");
- y.setType(DataType.STRING);
- y.setName("y");
-
- InputDataObjectType z = new InputDataObjectType();
- z.setValue("10");
- z.setType(DataType.STRING);
- z.setName("y_2");
-
- List<InputDataObjectType> inputs = new ArrayList<InputDataObjectType>();
- inputs.add(x);
- inputs.add(y);
- inputs.add(z);
- experiment.setExperimentInputs(inputs);
- // create parser
- AiravataWorkflowParser parser = new AiravataWorkflowParser(experiment, "testCredentialId");
- List<WorkflowInputNode> workflowInputNodes = parser.parseWorkflow(workflow);
- Assert.assertNotNull(workflowInputNodes);
- Assert.assertEquals(3, workflowInputNodes.size());
- for (WorkflowInputNode workflowInputNode : workflowInputNodes) {
- Assert.assertNotNull(workflowInputNode.getOutPort());
- Assert.assertNotNull(workflowInputNode.getInputObject());
- }
-
- Map<String, WorkflowNode> wfNodes = parser.getWfNodes();
- for (String wfId : wfNodes.keySet()) {
- WorkflowNode wfNode = wfNodes.get(wfId);
- if (wfNode instanceof ApplicationNode) {
- ApplicationNode node = (ApplicationNode) wfNode;
- Assert.assertEquals(2, node.getInputPorts().size());
- Assert.assertNotNull(node.getInputPorts().get(0).getInputObject());
- Assert.assertNotNull(node.getInputPorts().get(1).getInputObject());
- Assert.assertNotNull(node.getInputPorts().get(0).getEdge());
- Assert.assertNotNull(node.getInputPorts().get(1).getEdge());
-
- Assert.assertEquals(1, node.getOutputPorts().size());
- Assert.assertEquals(1, node.getOutputPorts().get(0).getOutEdges().size());
- Assert.assertNotNull(node.getOutputPorts().get(0).getOutEdges().get(0));
- } else if (wfNode instanceof WorkflowOutputNode) {
- WorkflowOutputNode workflowOutputNode = (WorkflowOutputNode) wfNode;
- Assert.assertNotNull(workflowOutputNode.getInPort());
- }
- }
-
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/225f462b/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java b/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
new file mode 100644
index 0000000..95a2579
--- /dev/null
+++ b/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
@@ -0,0 +1,130 @@
+/*
+ *
+ * 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.workflow.core.parser;
+
+import org.apache.airavata.model.application.io.DataType;
+import org.apache.airavata.model.application.io.InputDataObjectType;
+import org.apache.airavata.model.experiment.ExperimentModel;
+import org.apache.airavata.workflow.core.WorkflowParser;
+import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
+import org.apache.airavata.workflow.core.dag.nodes.InputNode;
+import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
+import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class JsonWorkflowParserTest {
+
+ @Before
+ public void setUp() throws Exception {
+
+ }
+
+ @After
+ public void tearDown() throws Exception {
+
+ }
+
+ @Test
+ public void testWorkflowParse() throws Exception {
+ Assert.assertNotNull("Test file (ComplexMathWorkflow.awf) is missing", getClass().getResource("/ComplexMathWorkflow.awf"));
+ InputStreamReader isr = new InputStreamReader(this.getClass().getResourceAsStream("/ComplexMathWorkflow.awf"));
+ BufferedReader br = new BufferedReader(isr);
+ StringBuffer sb = new StringBuffer();
+ String nextLine = br.readLine();
+ while (nextLine != null) {
+ sb.append(nextLine);
+ nextLine = br.readLine();
+ }
+// Workflow workflow = new Workflow(sb.toString());
+ ExperimentModel experiment = new ExperimentModel();
+ InputDataObjectType x = new InputDataObjectType();
+ x.setValue("6");
+ x.setType(DataType.STRING);
+ x.setName("x");
+
+ InputDataObjectType y = new InputDataObjectType();
+ y.setValue("8");
+ y.setType(DataType.STRING);
+ y.setName("y");
+
+ InputDataObjectType z = new InputDataObjectType();
+ z.setValue("10");
+ z.setType(DataType.STRING);
+ z.setName("y_2");
+
+ List<InputDataObjectType> inputs = new ArrayList<InputDataObjectType>();
+ inputs.add(x);
+ inputs.add(y);
+ inputs.add(z);
+ experiment.setExperimentInputs(inputs);
+ // create parser
+ WorkflowParser parser = new JsonWorkflowParser("workflow string");
+ parser.parse();
+ List<InputNode> inputNodes = parser.getInputNodes();
+ Assert.assertNotNull(inputNodes);
+ Assert.assertEquals(3, inputNodes.size());
+ for (InputNode inputNode : inputNodes) {
+ Assert.assertNotNull(inputNode.getOutPort());
+ Assert.assertNotNull(inputNode.getInputObject());
+ }
+
+ Map<String, WorkflowNode> wfNodes = getWorkflowNodeMap(parser.getApplicationNodes());
+ for (String wfId : wfNodes.keySet()) {
+ WorkflowNode wfNode = wfNodes.get(wfId);
+ if (wfNode instanceof ApplicationNode) {
+ ApplicationNode node = (ApplicationNode) wfNode;
+ Assert.assertEquals(2, node.getInputPorts().size());
+ Assert.assertNotNull(node.getInputPorts().get(0).getInputObject());
+ Assert.assertNotNull(node.getInputPorts().get(1).getInputObject());
+ Assert.assertNotNull(node.getInputPorts().get(0).getEdge());
+ Assert.assertNotNull(node.getInputPorts().get(1).getEdge());
+
+ Assert.assertEquals(1, node.getOutputPorts().size());
+ Assert.assertEquals(1, node.getOutputPorts().get(0).getOutEdges().size());
+ Assert.assertNotNull(node.getOutputPorts().get(0).getOutEdges().get(0));
+ } else if (wfNode instanceof OutputNode) {
+ OutputNode outputNode = (OutputNode) wfNode;
+ Assert.assertNotNull(outputNode.getInPort());
+ }
+ }
+
+ }
+
+ private Map<String, WorkflowNode> getWorkflowNodeMap(List<ApplicationNode> applicationNodes) {
+ Map<String, WorkflowNode> map = new HashMap<>();
+ for (ApplicationNode applicationNode : applicationNodes) {
+ map.put(applicationNode.getApplicationId(), applicationNode);
+ }
+
+ return map;
+ }
+}
\ No newline at end of file
[39/50] [abbrv] airavata git commit: fixing app-catalog sql script
issue in POSTJOB_COMMAND
Posted by ch...@apache.org.
fixing app-catalog sql script issue in POSTJOB_COMMAND
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/d8df3d00
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/d8df3d00
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/d8df3d00
Branch: refs/heads/master
Commit: d8df3d00c2cb701608866c39d61c02220f135378
Parents: ce79558
Author: scnakandala <su...@gmail.com>
Authored: Mon Feb 8 10:22:41 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Feb 8 10:22:41 2016 -0500
----------------------------------------------------------------------
.../registry-core/src/main/resources/appcatalog-mysql.sql | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/d8df3d00/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
index b0d53de..6695a81 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
@@ -252,10 +252,10 @@ CREATE TABLE PREJOB_COMMAND
CREATE TABLE POSTJOB_COMMAND
(
- APPLICATION_DEPLOYMENT VARCHAR(255),
+ APPDEPLOYMENT_ID VARCHAR(255),
COMMAND VARCHAR(255),
- PRIMARY KEY(APPLICATION_DEPLOYMENT, COMMAND),
- FOREIGN KEY (APPLICATION_DEPLOYMENT) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
+ PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
+ FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
);
CREATE TABLE APPLICATION_INTERFACE
[40/50] [abbrv] airavata git commit: Added Apache License headers and
remove deprecated test methods from json workflow parser test class
Posted by ch...@apache.org.
Added Apache License headers and remove deprecated test methods from json workflow parser test class
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b4ca1eb5
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b4ca1eb5
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b4ca1eb5
Branch: refs/heads/master
Commit: b4ca1eb5a361b3040e4115dae2235cb4816c8ff1
Parents: d8df3d0
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Feb 8 11:10:37 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Feb 8 11:15:58 2016 -0500
----------------------------------------------------------------------
.../core/SimpleWorkflowInterpreter.java | 328 ------------------
.../airavata/workflow/core/WorkflowBuilder.java | 21 ++
.../workflow/core/WorkflowEnactmentService.java | 28 +-
.../airavata/workflow/core/WorkflowFactory.java | 1 +
.../workflow/core/WorkflowInterpreter.java | 336 +++++++++++++++++++
.../airavata/workflow/core/WorkflowParser.java | 46 ---
.../core/parser/JsonWorkflowParser.java | 37 +-
.../workflow/core/parser/WorkflowParser.java | 46 +++
.../core/parser/JsonWorkflowParserTest.java | 120 +------
9 files changed, 461 insertions(+), 502 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/b4ca1eb5/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
deleted file mode 100644
index cdbf2f2..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- *
- * 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.workflow.core;
-
-import org.apache.airavata.common.exception.AiravataException;
-import org.apache.airavata.messaging.core.impl.RabbitMQProcessLaunchPublisher;
-import org.apache.airavata.messaging.core.impl.RabbitMQStatusConsumer;
-import org.apache.airavata.model.ComponentState;
-import org.apache.airavata.model.ComponentStatus;
-import org.apache.airavata.model.application.io.OutputDataObjectType;
-import org.apache.airavata.model.experiment.ExperimentModel;
-import org.apache.airavata.model.messaging.event.ProcessIdentifier;
-import org.apache.airavata.model.messaging.event.ProcessStatusChangeEvent;
-import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent;
-import org.apache.airavata.model.status.ProcessState;
-import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.*;
-import org.apache.airavata.workflow.core.dag.edge.Edge;
-import org.apache.airavata.workflow.core.dag.nodes.*;
-import org.apache.airavata.workflow.core.dag.port.OutPort;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * Package-Private class
- */
-class SimpleWorkflowInterpreter{
-
- private static final Logger log = LoggerFactory.getLogger(SimpleWorkflowInterpreter.class);
- private List<InputNode> inputNodes;
-
- private ExperimentModel experiment;
-
- private String credentialToken;
-
- private String gatewayName;
-
- private String workflowString;
- private Map<String, WorkflowNode> readyList = new ConcurrentHashMap<>();
- private Map<String, WorkflowNode> waitingList = new ConcurrentHashMap<>();
- private Map<String, WorkflowNode> processingQueue = new ConcurrentHashMap<>();
- private Map<String, WorkflowNode> completeList = new HashMap<>();
- private Registry registry;
- private List<OutputNode> completeWorkflowOutputs = new ArrayList<>();
- private RabbitMQProcessLaunchPublisher publisher;
- private RabbitMQStatusConsumer statusConsumer;
- private String consumerId;
- private boolean continueWorkflow = true;
-
- public SimpleWorkflowInterpreter(String experimentId, String credentialToken, String gatewayName, RabbitMQProcessLaunchPublisher publisher) throws RegistryException {
- this.gatewayName = gatewayName;
- setExperiment(experimentId);
- this.credentialToken = credentialToken;
- this.publisher = publisher;
- }
-
- public SimpleWorkflowInterpreter(ExperimentModel experiment, String credentialStoreToken, String gatewayName, RabbitMQProcessLaunchPublisher publisher) {
- this.gatewayName = gatewayName;
- this.experiment = experiment;
- this.credentialToken = credentialStoreToken;
- this.publisher = publisher;
- }
-
- /**
- * Package-Private method.
- * @throws Exception
- */
- void launchWorkflow() throws Exception {
-// WorkflowBuilder workflowBuilder = WorkflowFactory.getWorkflowBuilder(experiment.getExperimentId(), credentialToken, null);
- workflowString = getWorkflow();
- WorkflowParser workflowParser = WorkflowFactory.getWorkflowParser(workflowString);
- log.debug("Initialized workflow parser");
- workflowParser.parse();
- setInputNodes(workflowParser.getInputNodes());
- log.debug("Parsed the workflow and got the workflow input nodes");
- // process workflow input nodes
- processWorkflowInputNodes(getInputNodes());
- if (readyList.isEmpty()) {
- StringBuilder sb = new StringBuilder();
- for (InputNode inputNode : inputNodes) {
- sb.append(", ");
- sb.append(inputNode.getInputObject().getName());
- sb.append("=");
- sb.append(inputNode.getInputObject().getValue());
- }
- throw new AiravataException("No workflow application node is in ready state to run with experiment inputs" + sb.toString());
- }
- processReadyList();
- }
-
- private String getWorkflow() throws AppCatalogException, WorkflowCatalogException {
- WorkflowCatalog workflowCatalog = RegistryFactory.getAppCatalog().getWorkflowCatalog();
- //FIXME: parse workflowTemplateId or experimentId
-// workflowCatalog.getWorkflow("");
- return "";
- }
-
- // try to remove synchronization tag
- /**
- * Package-Private method.
- * @throws RegistryException
- * @throws AiravataException
- */
- void processReadyList() throws RegistryException, AiravataException {
- if (readyList.isEmpty() && processingQueue.isEmpty() && !waitingList.isEmpty()) {
- throw new AiravataException("No workflow application node is in ready state to run");
- }
- for (WorkflowNode readyNode : readyList.values()) {
- if (readyNode instanceof OutputNode) {
- OutputNode outputNode = (OutputNode) readyNode;
- outputNode.getOutputObject().setValue(outputNode.getInPort().getInputObject().getValue());
- addToCompleteOutputNodeList(outputNode);
- } else if (readyNode instanceof InputNode) {
- // set input object of applications and add applications to ready List.
- } else if (readyNode instanceof ApplicationNode) {
- // call orchestrator to create process for the application
- } else {
- throw new RuntimeException("Unsupported workflow node type");
- }
- }
-
- if (processingQueue.isEmpty() && waitingList.isEmpty()) {
- try {
- saveWorkflowOutputs();
- } catch (AppCatalogException e) {
- throw new AiravataException("Error while updating completed workflow outputs to registry", e);
- }
- }
- }
-
- private void saveWorkflowOutputs() throws AppCatalogException {
- List<OutputDataObjectType> outputDataObjects = new ArrayList<>();
- for (OutputNode completeWorkflowOutput : completeWorkflowOutputs) {
- outputDataObjects.add(completeWorkflowOutput.getOutputObject());
- }
-// RegistryFactory.getAppCatalog().getWorkflowCatalog()
-// .updateWorkflowOutputs(experiment.getApplicationId(), outputDataObjects);
- }
-
- private void processWorkflowInputNodes(List<InputNode> inputNodes) {
- Set<WorkflowNode> tempNodeSet = new HashSet<>();
- for (InputNode inputNode : inputNodes) {
- if (inputNode.isReady()) {
- log.debug("Workflow node : " + inputNode.getId() + " is ready to execute");
- for (Edge edge : inputNode.getOutPort().getEdges()) {
- edge.getToPort().getInputObject().setValue(inputNode.getInputObject().getValue());
- if (edge.getToPort().getNode().isReady()) {
- addToReadyQueue(edge.getToPort().getNode());
- log.debug("Added workflow node : " + edge.getToPort().getNode().getId() + " to the readyQueue");
- } else {
- addToWaitingQueue(edge.getToPort().getNode());
- log.debug("Added workflow node " + edge.getToPort().getNode().getId() + " to the waitingQueue");
-
- }
- }
- }
- }
- }
-
-
- public List<InputNode> getInputNodes() throws Exception {
- return inputNodes;
- }
-
- public void setInputNodes(List<InputNode> inputNodes) {
- this.inputNodes = inputNodes;
- }
-
- private Registry getRegistry() throws RegistryException {
- if (registry==null){
- registry = RegistryFactory.getRegistry();
- }
- return registry;
- }
-
- /**
- * Package-Private method.
- * Remove the workflow node from waiting queue and add it to the ready queue.
- * @param workflowNode - Workflow Node
- */
- synchronized void addToReadyQueue(WorkflowNode workflowNode) {
- waitingList.remove(workflowNode.getId());
- readyList.put(workflowNode.getId(), workflowNode);
- }
-
- private void addToWaitingQueue(WorkflowNode workflowNode) {
- waitingList.put(workflowNode.getId(), workflowNode);
- }
-
- /**
- * First remove the node from ready list and then add the WfNodeContainer to the process queue.
- * Note that underline data structure of the process queue is a Map.
- * @param applicationNode - has both workflow and correspond workflowNodeDetails and TaskDetails
- */
- private synchronized void addToProcessingQueue(ApplicationNode applicationNode) {
- readyList.remove(applicationNode.getId());
- processingQueue.put(applicationNode.getId(), applicationNode);
- }
-
- private synchronized void addToCompleteQueue(ApplicationNode applicationNode) {
- processingQueue.remove(applicationNode.getId());
- completeList.put(applicationNode.getId(), applicationNode);
- }
-
-
- private void addToCompleteOutputNodeList(OutputNode wfOutputNode) {
- completeWorkflowOutputs.add(wfOutputNode);
- readyList.remove(wfOutputNode.getId());
- }
-
- boolean isAllDone() {
- return !continueWorkflow || (waitingList.isEmpty() && readyList.isEmpty() && processingQueue.isEmpty());
- }
-
- private void setExperiment(String experimentId) throws RegistryException {
- experiment = (ExperimentModel) getRegistry().getExperimentCatalog().get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
- log.debug("Retrieve Experiment for experiment id : " + experimentId);
- }
-
-/* synchronized void handleTaskOutputChangeEvent(ProcessStatusChangeEvent taskOutputChangeEvent) {
-
- String taskId = taskOutputChangeEvent.getTaskIdentity().getTaskId();
- log.debug("Task Output changed event received for workflow node : " +
- taskOutputChangeEvent.getTaskIdentity().getWorkflowNodeId() + ", task : " + taskId);
- WorkflowNode workflowNode = processingQueue.get(taskId);
- Set<WorkflowNode> tempWfNodeSet = new HashSet<>();
- if (workflowNode != null) {
- if (workflowNode instanceof ApplicationNode) {
- ApplicationNode applicationNode = (ApplicationNode) workflowNode;
- // Workflow node can have one to many output ports and each output port can have one to many links
- for (OutPort outPort : applicationNode.getOutputPorts()) {
- for (OutputDataObjectType outputDataObjectType : taskOutputChangeEvent.getOutput()) {
- if (outPort.getOutputObject().getName().equals(outputDataObjectType.getName())) {
- outPort.getOutputObject().setValue(outputDataObjectType.getValue());
- break;
- }
- }
- for (Edge edge : outPort.getEdges()) {
- edge.getToPort().getInputObject().setValue(outPort.getOutputObject().getValue());
- if (edge.getToPort().getNode().isReady()) {
- addToReadyQueue(edge.getToPort().getNode());
- }
- }
- }
- addToCompleteQueue(applicationNode);
- log.debug("removed task from processing queue : " + taskId);
- }
- try {
- processReadyList();
- } catch (Exception e) {
- log.error("Error while processing ready workflow nodes", e);
- continueWorkflow = false;
- }
- }
- }*/
-
- void handleProcessStatusChangeEvent(ProcessStatusChangeEvent processStatusChangeEvent) {
- ProcessState processState = processStatusChangeEvent.getState();
- ProcessIdentifier processIdentity = processStatusChangeEvent.getProcessIdentity();
- String processId = processIdentity.getProcessId();
- ApplicationNode applicationNode = (ApplicationNode) processingQueue.get(processId);
- if (applicationNode != null) {
- ComponentState state = applicationNode.getState();
- switch (processState) {
- case CREATED:
- case VALIDATED:
- case STARTED:
- break;
- case CONFIGURING_WORKSPACE:
- case PRE_PROCESSING:
- case INPUT_DATA_STAGING:
- case EXECUTING:
- case OUTPUT_DATA_STAGING:
- case POST_PROCESSING:
- state = ComponentState.RUNNING;
- break;
- case COMPLETED:
- state = ComponentState.COMPLETED;
- break;
- case FAILED:
- state = ComponentState.FAILED;
- break;
- case CANCELED:
- case CANCELLING:
- state = ComponentState.CANCELED;
- break;
- default:
- break;
- }
- if (state != applicationNode.getState()) {
- try {
- updateWorkflowNodeStatus(applicationNode, new ComponentStatus(state));
- } catch (RegistryException e) {
- log.error("Error! Couldn't update new application state to registry. nodeInstanceId : {} "
- + applicationNode.getId() + " status to: " + applicationNode.getState().toString() , e);
- }
- }
- }
-
- }
-
- private void updateWorkflowNodeStatus(ApplicationNode applicationNode, ComponentStatus componentStatus) throws RegistryException {
- // FIXME: save new workflow node status to registry.
- }
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b4ca1eb5/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowBuilder.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowBuilder.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowBuilder.java
index a794282..fb97161 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowBuilder.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowBuilder.java
@@ -1,3 +1,24 @@
+/*
+ *
+ * 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.workflow.core;
import org.apache.airavata.workflow.core.dag.nodes.InputNode;
http://git-wip-us.apache.org/repos/asf/airavata/blob/b4ca1eb5/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
index 34ef8a7..8339aea 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
@@ -46,11 +46,11 @@ public class WorkflowEnactmentService {
private final RabbitMQStatusConsumer statusConsumer;
private String consumerId;
private ExecutorService executor;
- private Map<String,SimpleWorkflowInterpreter> workflowMap;
+ private Map<String,WorkflowInterpreter> workflowMap;
private WorkflowEnactmentService () throws AiravataException {
executor = Executors.newFixedThreadPool(getThreadPoolSize());
- workflowMap = new ConcurrentHashMap<String, SimpleWorkflowInterpreter>();
+ workflowMap = new ConcurrentHashMap<String, WorkflowInterpreter>();
statusConsumer = new RabbitMQStatusConsumer();
consumerId = statusConsumer.listen(new TaskMessageHandler());
// register the shutdown hook to un-bind status consumer.
@@ -73,10 +73,10 @@ public class WorkflowEnactmentService {
String gatewayName,
RabbitMQProcessLaunchPublisher publisher) throws Exception {
- SimpleWorkflowInterpreter simpleWorkflowInterpreter = new SimpleWorkflowInterpreter(
+ WorkflowInterpreter workflowInterpreter = new WorkflowInterpreter(
experimentId, credentialToken,gatewayName, publisher);
- workflowMap.put(experimentId, simpleWorkflowInterpreter);
- simpleWorkflowInterpreter.launchWorkflow();
+ workflowMap.put(experimentId, workflowInterpreter);
+ workflowInterpreter.launchWorkflow();
}
@@ -125,13 +125,13 @@ public class WorkflowEnactmentService {
private void process() {
String message;
- SimpleWorkflowInterpreter simpleWorkflowInterpreter;
+ WorkflowInterpreter workflowInterpreter;
if (msgCtx.getType() == MessageType.PROCESS) {
ProcessStatusChangeEvent event = ((ProcessStatusChangeEvent) msgCtx.getEvent());
ProcessIdentifier processIdentity = event.getProcessIdentity();
- simpleWorkflowInterpreter = getInterpreter(processIdentity.getExperimentId());
- if (simpleWorkflowInterpreter != null) {
- simpleWorkflowInterpreter.handleProcessStatusChangeEvent(event);
+ workflowInterpreter = getInterpreter(processIdentity.getExperimentId());
+ if (workflowInterpreter != null) {
+ workflowInterpreter.handleProcessStatusChangeEvent(event);
} else {
// this happens when Task status messages comes after the Taskoutput messages,as we have worked on
// output changes it is ok to ignore this.
@@ -140,10 +140,10 @@ public class WorkflowEnactmentService {
}else if (msgCtx.getType() == MessageType.PROCESSOUTPUT) {
TaskOutputChangeEvent event = (TaskOutputChangeEvent) msgCtx.getEvent();
TaskIdentifier taskIdentifier = event.getTaskIdentity();
- simpleWorkflowInterpreter = getInterpreter(taskIdentifier.getExperimentId());
- if (simpleWorkflowInterpreter != null) {
-// simpleWorkflowInterpreter.handleTaskOutputChangeEvent(event);
- if (simpleWorkflowInterpreter.isAllDone()) {
+ workflowInterpreter = getInterpreter(taskIdentifier.getExperimentId());
+ if (workflowInterpreter != null) {
+// workflowInterpreter.handleTaskOutputChangeEvent(event);
+ if (workflowInterpreter.isAllDone()) {
workflowMap.remove(taskIdentifier.getExperimentId());
}
} else {
@@ -157,7 +157,7 @@ public class WorkflowEnactmentService {
}
}
- private SimpleWorkflowInterpreter getInterpreter(String experimentId){
+ private WorkflowInterpreter getInterpreter(String experimentId){
return workflowMap.get(experimentId);
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b4ca1eb5/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
index 9392461..cb76790 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
@@ -24,6 +24,7 @@ package org.apache.airavata.workflow.core;
import org.apache.airavata.common.exception.ApplicationSettingsException;
import org.apache.airavata.common.utils.ServerSettings;
import org.apache.airavata.workflow.core.parser.JsonWorkflowParser;
+import org.apache.airavata.workflow.core.parser.WorkflowParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/airavata/blob/b4ca1eb5/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowInterpreter.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowInterpreter.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowInterpreter.java
new file mode 100644
index 0000000..b42e7ac
--- /dev/null
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowInterpreter.java
@@ -0,0 +1,336 @@
+/*
+ *
+ * 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.workflow.core;
+
+import org.apache.airavata.common.exception.AiravataException;
+import org.apache.airavata.messaging.core.impl.RabbitMQProcessLaunchPublisher;
+import org.apache.airavata.messaging.core.impl.RabbitMQStatusConsumer;
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
+import org.apache.airavata.model.application.io.OutputDataObjectType;
+import org.apache.airavata.model.experiment.ExperimentModel;
+import org.apache.airavata.model.messaging.event.ProcessIdentifier;
+import org.apache.airavata.model.messaging.event.ProcessStatusChangeEvent;
+import org.apache.airavata.model.status.ProcessState;
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
+import org.apache.airavata.registry.cpi.*;
+import org.apache.airavata.workflow.core.dag.edge.Edge;
+import org.apache.airavata.workflow.core.dag.nodes.*;
+import org.apache.airavata.workflow.core.parser.WorkflowParser;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Package-Private class
+ */
+class WorkflowInterpreter {
+
+ private static final Logger log = LoggerFactory.getLogger(WorkflowInterpreter.class);
+ private List<InputNode> inputNodes;
+
+ private ExperimentModel experiment;
+
+ private String credentialToken;
+
+ private String gatewayName;
+
+ private String workflowString;
+ private Map<String, WorkflowNode> readyList = new ConcurrentHashMap<>();
+ private Map<String, WorkflowNode> waitingList = new ConcurrentHashMap<>();
+ private Map<String, WorkflowNode> processingQueue = new ConcurrentHashMap<>();
+ private Map<String, WorkflowNode> completeList = new HashMap<>();
+ private Registry registry;
+ private List<OutputNode> completeWorkflowOutputs = new ArrayList<>();
+ private RabbitMQProcessLaunchPublisher publisher;
+ private RabbitMQStatusConsumer statusConsumer;
+ private String consumerId;
+ private boolean continueWorkflow = true;
+
+ public WorkflowInterpreter(String experimentId, String credentialToken, String gatewayName, RabbitMQProcessLaunchPublisher publisher) throws RegistryException {
+ this.gatewayName = gatewayName;
+ setExperiment(experimentId);
+ this.credentialToken = credentialToken;
+ this.publisher = publisher;
+ }
+
+ public WorkflowInterpreter(ExperimentModel experiment, String credentialStoreToken, String gatewayName, RabbitMQProcessLaunchPublisher publisher) {
+ this.gatewayName = gatewayName;
+ this.experiment = experiment;
+ this.credentialToken = credentialStoreToken;
+ this.publisher = publisher;
+ }
+
+ /**
+ * Package-Private method.
+ *
+ * @throws Exception
+ */
+ void launchWorkflow() throws Exception {
+// WorkflowBuilder workflowBuilder = WorkflowFactory.getWorkflowBuilder(experiment.getExperimentId(), credentialToken, null);
+ workflowString = getWorkflow();
+ WorkflowParser workflowParser = WorkflowFactory.getWorkflowParser(workflowString);
+ log.debug("Initialized workflow parser");
+ workflowParser.parse();
+ setInputNodes(workflowParser.getInputNodes());
+ log.debug("Parsed the workflow and got the workflow input nodes");
+ // process workflow input nodes
+ processWorkflowInputNodes(getInputNodes());
+ if (readyList.isEmpty()) {
+ StringBuilder sb = new StringBuilder();
+ for (InputNode inputNode : inputNodes) {
+ sb.append(", ");
+ sb.append(inputNode.getInputObject().getName());
+ sb.append("=");
+ sb.append(inputNode.getInputObject().getValue());
+ }
+ throw new AiravataException("No workflow application node is in ready state to run with experiment inputs" + sb.toString());
+ }
+ processReadyList();
+ }
+
+ private String getWorkflow() throws AppCatalogException, WorkflowCatalogException {
+ WorkflowCatalog workflowCatalog = RegistryFactory.getAppCatalog().getWorkflowCatalog();
+ //FIXME: parse workflowTemplateId or experimentId
+// workflowCatalog.getWorkflow("");
+ return "";
+ }
+
+ // try to remove synchronization tag
+
+ /**
+ * Package-Private method.
+ *
+ * @throws RegistryException
+ * @throws AiravataException
+ */
+ void processReadyList() throws RegistryException, AiravataException {
+ if (readyList.isEmpty() && processingQueue.isEmpty() && !waitingList.isEmpty()) {
+ throw new AiravataException("No workflow application node is in ready state to run");
+ }
+ for (WorkflowNode readyNode : readyList.values()) {
+ if (readyNode instanceof OutputNode) {
+ OutputNode outputNode = (OutputNode) readyNode;
+ outputNode.getOutputObject().setValue(outputNode.getInPort().getInputObject().getValue());
+ addToCompleteOutputNodeList(outputNode);
+ } else if (readyNode instanceof InputNode) {
+ // FIXME: set input object of applications and add applications to ready List.
+ } else if (readyNode instanceof ApplicationNode) {
+ // FIXME: call orchestrator to create process for the application
+ } else {
+ throw new RuntimeException("Unsupported workflow node type");
+ }
+ }
+
+ if (processingQueue.isEmpty() && waitingList.isEmpty()) {
+ try {
+ saveWorkflowOutputs();
+ } catch (AppCatalogException e) {
+ throw new AiravataException("Error while updating completed workflow outputs to registry", e);
+ }
+ }
+ }
+
+ private void saveWorkflowOutputs() throws AppCatalogException {
+ List<OutputDataObjectType> outputDataObjects = new ArrayList<>();
+ for (OutputNode completeWorkflowOutput : completeWorkflowOutputs) {
+ outputDataObjects.add(completeWorkflowOutput.getOutputObject());
+ }
+ // FIXME: save workflow output to registry.
+// RegistryFactory.getAppCatalog().getWorkflowCatalog()
+// .updateWorkflowOutputs(experiment.getApplicationId(), outputDataObjects);
+ }
+
+ private void processWorkflowInputNodes(List<InputNode> inputNodes) {
+ Set<WorkflowNode> tempNodeSet = new HashSet<>();
+ for (InputNode inputNode : inputNodes) {
+ if (inputNode.isReady()) {
+ log.debug("Workflow node : " + inputNode.getId() + " is ready to execute");
+ for (Edge edge : inputNode.getOutPort().getEdges()) {
+ edge.getToPort().getInputObject().setValue(inputNode.getInputObject().getValue());
+ if (edge.getToPort().getNode().isReady()) {
+ addToReadyQueue(edge.getToPort().getNode());
+ log.debug("Added workflow node : " + edge.getToPort().getNode().getId() + " to the readyQueue");
+ } else {
+ addToWaitingQueue(edge.getToPort().getNode());
+ log.debug("Added workflow node " + edge.getToPort().getNode().getId() + " to the waitingQueue");
+
+ }
+ }
+ }
+ }
+ }
+
+
+ public List<InputNode> getInputNodes() throws Exception {
+ return inputNodes;
+ }
+
+ public void setInputNodes(List<InputNode> inputNodes) {
+ this.inputNodes = inputNodes;
+ }
+
+ private Registry getRegistry() throws RegistryException {
+ if (registry == null) {
+ registry = RegistryFactory.getRegistry();
+ }
+ return registry;
+ }
+
+ /**
+ * Package-Private method.
+ * Remove the workflow node from waiting queue and add it to the ready queue.
+ *
+ * @param workflowNode - Workflow Node
+ */
+ synchronized void addToReadyQueue(WorkflowNode workflowNode) {
+ waitingList.remove(workflowNode.getId());
+ readyList.put(workflowNode.getId(), workflowNode);
+ }
+
+ private void addToWaitingQueue(WorkflowNode workflowNode) {
+ waitingList.put(workflowNode.getId(), workflowNode);
+ }
+
+ /**
+ * First remove the node from ready list and then add the WfNodeContainer to the process queue.
+ * Note that underline data structure of the process queue is a Map.
+ *
+ * @param applicationNode - has both workflow and correspond workflowNodeDetails and TaskDetails
+ */
+ private synchronized void addToProcessingQueue(ApplicationNode applicationNode) {
+ readyList.remove(applicationNode.getId());
+ processingQueue.put(applicationNode.getId(), applicationNode);
+ }
+
+ private synchronized void addToCompleteQueue(ApplicationNode applicationNode) {
+ processingQueue.remove(applicationNode.getId());
+ completeList.put(applicationNode.getId(), applicationNode);
+ }
+
+
+ private void addToCompleteOutputNodeList(OutputNode wfOutputNode) {
+ completeWorkflowOutputs.add(wfOutputNode);
+ readyList.remove(wfOutputNode.getId());
+ }
+
+ boolean isAllDone() {
+ return !continueWorkflow || (waitingList.isEmpty() && readyList.isEmpty() && processingQueue.isEmpty());
+ }
+
+ private void setExperiment(String experimentId) throws RegistryException {
+ experiment = (ExperimentModel) getRegistry().getExperimentCatalog().get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
+ log.debug("Retrieve Experiment for experiment id : " + experimentId);
+ }
+
+/* synchronized void handleTaskOutputChangeEvent(ProcessStatusChangeEvent taskOutputChangeEvent) {
+
+ String taskId = taskOutputChangeEvent.getTaskIdentity().getTaskId();
+ log.debug("Task Output changed event received for workflow node : " +
+ taskOutputChangeEvent.getTaskIdentity().getWorkflowNodeId() + ", task : " + taskId);
+ WorkflowNode workflowNode = processingQueue.get(taskId);
+ Set<WorkflowNode> tempWfNodeSet = new HashSet<>();
+ if (workflowNode != null) {
+ if (workflowNode instanceof ApplicationNode) {
+ ApplicationNode applicationNode = (ApplicationNode) workflowNode;
+ // Workflow node can have one to many output ports and each output port can have one to many links
+ for (OutPort outPort : applicationNode.getOutputPorts()) {
+ for (OutputDataObjectType outputDataObjectType : taskOutputChangeEvent.getOutput()) {
+ if (outPort.getOutputObject().getName().equals(outputDataObjectType.getName())) {
+ outPort.getOutputObject().setValue(outputDataObjectType.getValue());
+ break;
+ }
+ }
+ for (Edge edge : outPort.getEdges()) {
+ edge.getToPort().getInputObject().setValue(outPort.getOutputObject().getValue());
+ if (edge.getToPort().getNode().isReady()) {
+ addToReadyQueue(edge.getToPort().getNode());
+ }
+ }
+ }
+ addToCompleteQueue(applicationNode);
+ log.debug("removed task from processing queue : " + taskId);
+ }
+ try {
+ processReadyList();
+ } catch (Exception e) {
+ log.error("Error while processing ready workflow nodes", e);
+ continueWorkflow = false;
+ }
+ }
+ }*/
+
+ void handleProcessStatusChangeEvent(ProcessStatusChangeEvent processStatusChangeEvent) {
+ ProcessState processState = processStatusChangeEvent.getState();
+ ProcessIdentifier processIdentity = processStatusChangeEvent.getProcessIdentity();
+ String processId = processIdentity.getProcessId();
+ ApplicationNode applicationNode = (ApplicationNode) processingQueue.get(processId);
+ if (applicationNode != null) {
+ ComponentState state = applicationNode.getState();
+ switch (processState) {
+ case CREATED:
+ case VALIDATED:
+ case STARTED:
+ break;
+ case CONFIGURING_WORKSPACE:
+ case PRE_PROCESSING:
+ case INPUT_DATA_STAGING:
+ case EXECUTING:
+ case OUTPUT_DATA_STAGING:
+ case POST_PROCESSING:
+ state = ComponentState.RUNNING;
+ break;
+ case COMPLETED:
+ state = ComponentState.COMPLETED;
+ // FIXME: read output form registry and set it to node outputport then continue to next application.
+ break;
+ case FAILED:
+ state = ComponentState.FAILED;
+ // FIXME: fail workflow.
+ break;
+ case CANCELED:
+ case CANCELLING:
+ state = ComponentState.CANCELED;
+ // FIXME: cancel workflow.
+ break;
+ default:
+ break;
+ }
+ if (state != applicationNode.getState()) {
+ try {
+ updateWorkflowNodeStatus(applicationNode, new ComponentStatus(state));
+ } catch (RegistryException e) {
+ log.error("Error! Couldn't update new application state to registry. nodeInstanceId : {} "
+ + applicationNode.getId() + " status to: " + applicationNode.getState().toString(), e);
+ }
+ }
+ }
+
+ }
+
+ private void updateWorkflowNodeStatus(ApplicationNode applicationNode, ComponentStatus componentStatus) throws RegistryException {
+ // FIXME: save new workflow node status to registry.
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b4ca1eb5/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowParser.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowParser.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowParser.java
deleted file mode 100644
index 46bc1d8..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowParser.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *
- * 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.workflow.core;
-
-import org.apache.airavata.workflow.core.dag.edge.Edge;
-import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
-import org.apache.airavata.workflow.core.dag.nodes.InputNode;
-import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
-import org.apache.airavata.workflow.core.dag.port.Port;
-
-import java.util.List;
-
-public interface WorkflowParser {
-
- public void parse() throws Exception;
-
- public List<InputNode> getInputNodes() throws Exception;
-
- public List<OutputNode> getOutputNodes() throws Exception;
-
- public List<ApplicationNode> getApplicationNodes() throws Exception;
-
- public List<Port> getPorts() throws Exception;
-
- public List<Edge> getEdges() throws Exception;
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b4ca1eb5/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
index ede69e3..f6bb084 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
@@ -1,19 +1,37 @@
+/*
+ *
+ * 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.workflow.core.parser;
import com.google.gson.JsonObject;
-import org.apache.airavata.workflow.core.WorkflowParser;
import org.apache.airavata.workflow.core.dag.edge.Edge;
import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
import org.apache.airavata.workflow.core.dag.nodes.InputNode;
import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
import org.apache.airavata.workflow.core.dag.port.Port;
+import java.util.ArrayList;
import java.util.List;
-/**
- * Created by syodage on 1/27/16.
- */
-public class JsonWorkflowParser implements WorkflowParser{
+public class JsonWorkflowParser implements WorkflowParser {
private final String workflow;
private List<InputNode> inputs;
@@ -24,8 +42,15 @@ public class JsonWorkflowParser implements WorkflowParser{
public JsonWorkflowParser(String jsonWorkflowString) {
workflow = jsonWorkflowString;
+
+ inputs = new ArrayList<>();
+ outputs = new ArrayList<>();
+ applications = new ArrayList<>();
+ ports = new ArrayList<>();
+ edges = new ArrayList<>();
}
+
@Override
public void parse() throws Exception {
// TODO parse json string and construct components
@@ -69,7 +94,7 @@ public class JsonWorkflowParser implements WorkflowParser{
return null;
}
- private Port createPort(JsonObject jPort){
+ private Port createPort(JsonObject jPort) {
return null;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b4ca1eb5/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/WorkflowParser.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/WorkflowParser.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/WorkflowParser.java
new file mode 100644
index 0000000..dc18c9e
--- /dev/null
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/WorkflowParser.java
@@ -0,0 +1,46 @@
+/*
+ *
+ * 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.workflow.core.parser;
+
+import org.apache.airavata.workflow.core.dag.edge.Edge;
+import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
+import org.apache.airavata.workflow.core.dag.nodes.InputNode;
+import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
+import org.apache.airavata.workflow.core.dag.port.Port;
+
+import java.util.List;
+
+public interface WorkflowParser {
+
+ public void parse() throws Exception;
+
+ public List<InputNode> getInputNodes() throws Exception;
+
+ public List<OutputNode> getOutputNodes() throws Exception;
+
+ public List<ApplicationNode> getApplicationNodes() throws Exception;
+
+ public List<Port> getPorts() throws Exception;
+
+ public List<Edge> getEdges() throws Exception;
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b4ca1eb5/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java b/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
index 712944d..3fedc9c 100644
--- a/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
+++ b/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
@@ -1,51 +1,25 @@
-/*
- *
- * 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.workflow.core.parser;
-import org.apache.airavata.model.application.io.DataType;
-import org.apache.airavata.model.application.io.InputDataObjectType;
-import org.apache.airavata.model.experiment.ExperimentModel;
-import org.apache.airavata.workflow.core.WorkflowParser;
-import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
-import org.apache.airavata.workflow.core.dag.nodes.InputNode;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
-import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
import org.junit.After;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.io.File;
+import java.io.InputStream;
+import static org.junit.Assert.*;
+
+/**
+ * Created by syodage on 2/8/16.
+ */
public class JsonWorkflowParserTest {
+ private String workflowString;
+
+
@Before
public void setUp() throws Exception {
-
+ InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("TestWorkflow.json");
}
@After
@@ -54,77 +28,7 @@ public class JsonWorkflowParserTest {
}
@Test
- public void testWorkflowParse() throws Exception {
- Assert.assertNotNull("Test file (ComplexMathWorkflow.awf) is missing", getClass().getResource("/ComplexMathWorkflow.awf"));
- InputStreamReader isr = new InputStreamReader(this.getClass().getResourceAsStream("/ComplexMathWorkflow.awf"));
- BufferedReader br = new BufferedReader(isr);
- StringBuffer sb = new StringBuffer();
- String nextLine = br.readLine();
- while (nextLine != null) {
- sb.append(nextLine);
- nextLine = br.readLine();
- }
-// Workflow workflow = new Workflow(sb.toString());
- ExperimentModel experiment = new ExperimentModel();
- InputDataObjectType x = new InputDataObjectType();
- x.setValue("6");
- x.setType(DataType.STRING);
- x.setName("x");
-
- InputDataObjectType y = new InputDataObjectType();
- y.setValue("8");
- y.setType(DataType.STRING);
- y.setName("y");
-
- InputDataObjectType z = new InputDataObjectType();
- z.setValue("10");
- z.setType(DataType.STRING);
- z.setName("y_2");
-
- List<InputDataObjectType> inputs = new ArrayList<InputDataObjectType>();
- inputs.add(x);
- inputs.add(y);
- inputs.add(z);
- experiment.setExperimentInputs(inputs);
- // create parser
- WorkflowParser parser = new JsonWorkflowParser("workflow string");
- parser.parse();
- List<InputNode> inputNodes = parser.getInputNodes();
- Assert.assertNotNull(inputNodes);
- Assert.assertEquals(3, inputNodes.size());
- for (InputNode inputNode : inputNodes) {
- Assert.assertNotNull(inputNode.getOutPort());
- Assert.assertNotNull(inputNode.getInputObject());
- }
-
- Map<String, WorkflowNode> wfNodes = getWorkflowNodeMap(parser.getApplicationNodes());
- for (String wfId : wfNodes.keySet()) {
- WorkflowNode wfNode = wfNodes.get(wfId);
- if (wfNode instanceof ApplicationNode) {
- ApplicationNode node = (ApplicationNode) wfNode;
- Assert.assertEquals(2, node.getInputPorts().size());
- Assert.assertNotNull(node.getInputPorts().get(0).getInputObject());
- Assert.assertNotNull(node.getInputPorts().get(1).getInputObject());
- Assert.assertNotNull(node.getInputPorts().get(0).getEdge());
- Assert.assertNotNull(node.getInputPorts().get(1).getEdge());
-
- Assert.assertEquals(1, node.getOutputPorts().size());
- Assert.assertEquals(1, node.getOutputPorts().get(0).getEdges().size());
- Assert.assertNotNull(node.getOutputPorts().get(0).getEdges().get(0));
- } else if (wfNode instanceof OutputNode) {
- OutputNode outputNode = (OutputNode) wfNode;
- Assert.assertNotNull(outputNode.getInPort());
- }
- }
-
- }
-
- private Map<String, WorkflowNode> getWorkflowNodeMap(List<ApplicationNode> applicationNodes) {
- Map<String, WorkflowNode> map = new HashMap<>();
- for (ApplicationNode applicationNode : applicationNodes) {
- map.put(applicationNode.getApplicationId(), applicationNode);
- }
+ public void testParse() throws Exception {
- return map;
}
}
\ No newline at end of file
[18/50] [abbrv] airavata git commit: Added generated thrift files
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
index 29ecb06..83a84d2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* commandOrder:
* Order of the command in the multiple command situation
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class CommandObject implements org.apache.thrift.TBase<CommandObject, CommandObject._Fields>, java.io.Serializable, Cloneable, Comparable<CommandObject> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CommandObject");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
index c3c93ba..bcb07f2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
@@ -63,7 +63,7 @@ import org.slf4j.LoggerFactory;
* envPathOrder:
* The order of the setting of the env variables when there are multiple env variables
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class SetEnvPaths implements org.apache.thrift.TBase<SetEnvPaths, SetEnvPaths._Fields>, java.io.Serializable, Cloneable, Comparable<SetEnvPaths> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SetEnvPaths");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
index 56cbb33..55d01e9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
* Outputs generated from the application
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ApplicationInterfaceDescription implements org.apache.thrift.TBase<ApplicationInterfaceDescription, ApplicationInterfaceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationInterfaceDescription> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationInterfaceDescription");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index 7d039dc..67c7e8c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
* maxRunTime:
* Maximum allowed run time in hours.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueue._Fields>, java.io.Serializable, Cloneable, Comparable<BatchQueue> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchQueue");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
index bd1516b..41dc771 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmission, CloudJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<CloudJobSubmission> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloudJobSubmission");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index dfb0fa1..59e1aa7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -80,7 +80,7 @@ import org.slf4j.LoggerFactory;
* Map of file systems type and the path.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ComputeResourceDescription implements org.apache.thrift.TBase<ComputeResourceDescription, ComputeResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourceDescription> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourceDescription");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
index 53680dd..f2d5373 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class GlobusJobSubmission implements org.apache.thrift.TBase<GlobusJobSubmission, GlobusJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<GlobusJobSubmission> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GlobusJobSubmission");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
index 58b3bd2..8f5223d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
* Lower the numerical number, higher the priority
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class JobSubmissionInterface implements org.apache.thrift.TBase<JobSubmissionInterface, JobSubmissionInterface._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionInterface> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionInterface");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
index 38dd5b7..dc668bf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* sshPort:
* If a non-default port needs to used, specify it.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class LOCALSubmission implements org.apache.thrift.TBase<LOCALSubmission, LOCALSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALSubmission> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALSubmission");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
index 87bd8c9..4c4625c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
* An enumeration of commonly used manager commands.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ResourceJobManager implements org.apache.thrift.TBase<ResourceJobManager, ResourceJobManager._Fields>, java.io.Serializable, Cloneable, Comparable<ResourceJobManager> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ResourceJobManager");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
index e0d926d..9bc872b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
* the same. Example: *@*.example.com or *@example.com
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class SSHJobSubmission implements org.apache.thrift.TBase<SSHJobSubmission, SSHJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<SSHJobSubmission> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHJobSubmission");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
index ae640d4..3f46339 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
@@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory;
* authenticationMode
* The authenticationMode defines the way certificate is fetched.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class UnicoreJobSubmission implements org.apache.thrift.TBase<UnicoreJobSubmission, UnicoreJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreJobSubmission> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreJobSubmission");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
index 7143e1e..ecd7e92 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
@@ -85,7 +85,7 @@ import org.slf4j.LoggerFactory;
* default credential store.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ComputeResourcePreference implements org.apache.thrift.TBase<ComputeResourcePreference, ComputeResourcePreference._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourcePreference> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourcePreference");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
index 94c20d3..30618bf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
* List of resource preferences for each of the registered compute resources.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class GatewayResourceProfile implements org.apache.thrift.TBase<GatewayResourceProfile, GatewayResourceProfile._Fields>, java.io.Serializable, Cloneable, Comparable<GatewayResourceProfile> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GatewayResourceProfile");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
index a2cab01..ecf9a19 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class StoragePreference implements org.apache.thrift.TBase<StoragePreference, StoragePreference._Fields>, java.io.Serializable, Cloneable, Comparable<StoragePreference> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StoragePreference");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
index face16e..a9cff44 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class StorageResourceDescription implements org.apache.thrift.TBase<StorageResourceDescription, StorageResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<StorageResourceDescription> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StorageResourceDescription");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
index 46e65b1..48cdfa9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
* Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObjectType, InputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<InputDataObjectType> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InputDataObjectType");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
index 93ae728..ecf9c81 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
* Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataObjectType, OutputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<OutputDataObjectType> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputDataObjectType");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
index 12b2639..53a1033 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ErrorModel implements org.apache.thrift.TBase<ErrorModel, ErrorModel._Fields>, java.io.Serializable, Cloneable, Comparable<ErrorModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ErrorModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
index 9f13b85..d15c4f6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
index 82401eb..04af60a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
* during the experiment launch operation
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
index 8f9d262..a5bd0e1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
* Lower the numerical number, higher the priority
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class DataMovementInterface implements org.apache.thrift.TBase<DataMovementInterface, DataMovementInterface._Fields>, java.io.Serializable, Cloneable, Comparable<DataMovementInterface> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataMovementInterface");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
index 1363d4f..33db137 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* sshPort:
* If a non-default port needs to used, specify it.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class GridFTPDataMovement implements org.apache.thrift.TBase<GridFTPDataMovement, GridFTPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<GridFTPDataMovement> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GridFTPDataMovement");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
index 193c944..4a17491 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* sshPort:
* If a non-defualt port needs to used, specify it.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class LOCALDataMovement implements org.apache.thrift.TBase<LOCALDataMovement, LOCALDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALDataMovement> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALDataMovement");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
index 8504c7d..c7f19e0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* sshPort:
* If a non-default port needs to used, specify it.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class SCPDataMovement implements org.apache.thrift.TBase<SCPDataMovement, SCPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<SCPDataMovement> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SCPDataMovement");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
index 20d57d0..9df1652 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
* unicoreEndPointURL:
* unicoreGateway End Point. The provider will query this service to fetch required service end points.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class UnicoreDataMovement implements org.apache.thrift.TBase<UnicoreDataMovement, UnicoreDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreDataMovement> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreDataMovement");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
index d793b9d..9b47ccf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataReplicaLocationModel, DataReplicaLocationModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataReplicaLocationModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataReplicaLocationModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
index f0f647e..99f8a4b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class DataResourceModel implements org.apache.thrift.TBase<DataResourceModel, DataResourceModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataResourceModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataResourceModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
index 7275215..6f73429 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
* parameter: If the error applied to a particular input parameter, this will
* indicate which parameter.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class AiravataClientException extends TException implements org.apache.thrift.TBase<AiravataClientException, AiravataClientException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataClientException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataClientException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
index 6cfc1ac..e49da35 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
* message: This may contain additional information about the error
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class AiravataSystemException extends TException implements org.apache.thrift.TBase<AiravataSystemException, AiravataSystemException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataSystemException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataSystemException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
index 19e897f..b21687a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
* message: contains the cause of the authorization failure.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class AuthenticationException extends TException implements org.apache.thrift.TBase<AuthenticationException, AuthenticationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthenticationException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthenticationException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
index 191377a..4f59bbc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
* message: contains the authorization failure message
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class AuthorizationException extends TException implements org.apache.thrift.TBase<AuthorizationException, AuthorizationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthorizationException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthorizationException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
index c49118e..2ac05f6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
*
* key: The value passed from the client in the identifier, which was not found.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ExperimentNotFoundException extends TException implements org.apache.thrift.TBase<ExperimentNotFoundException, ExperimentNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentNotFoundException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentNotFoundException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
index b20b420..b627edc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
*
* message: contains the associated error message.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class InvalidRequestException extends TException implements org.apache.thrift.TBase<InvalidRequestException, InvalidRequestException._Fields>, java.io.Serializable, Cloneable, Comparable<InvalidRequestException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidRequestException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
index 5df60cf..9ae7684 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class LaunchValidationException extends TException implements org.apache.thrift.TBase<LaunchValidationException, LaunchValidationException._Fields>, java.io.Serializable, Cloneable, Comparable<LaunchValidationException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LaunchValidationException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
index c5c90f3..ca66bcf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
* 2: optional string key
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ProjectNotFoundException extends TException implements org.apache.thrift.TBase<ProjectNotFoundException, ProjectNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ProjectNotFoundException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProjectNotFoundException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
index a4fd291..825d84b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
/**
* This exception is thrown when RPC timeout gets exceeded.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class TimedOutException extends TException implements org.apache.thrift.TBase<TimedOutException, TimedOutException._Fields>, java.io.Serializable, Cloneable, Comparable<TimedOutException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TimedOutException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
index b6af1da..87f946c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
index 84f8f8b..2316664 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
index 64f8570..41e3dd0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
* experimentDescription:
* The verbose description of the experiment. This is an optional parameter.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel, ExperimentModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
index 017f924..959863c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ExperimentStatistics implements org.apache.thrift.TBase<ExperimentStatistics, ExperimentStatistics._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatistics> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatistics");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
index d1dd99c..d9ac26b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ExperimentSummaryModel implements org.apache.thrift.TBase<ExperimentSummaryModel, ExperimentSummaryModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentSummaryModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentSummaryModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
index 0616259..5629c80 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserConfigurationDataModel, UserConfigurationDataModel._Fields>, java.io.Serializable, Cloneable, Comparable<UserConfigurationDataModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserConfigurationDataModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
index a309803..8a285a2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class JobModel implements org.apache.thrift.TBase<JobModel, JobModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
index d00d540..19e47e6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ExperimentStatusChangeEvent implements org.apache.thrift.TBase<ExperimentStatusChangeEvent, ExperimentStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatusChangeEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatusChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
index f27dc6f..db6d647 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class JobIdentifier implements org.apache.thrift.TBase<JobIdentifier, JobIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<JobIdentifier> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobIdentifier");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
index 9ca5f26..f8e8ae1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class JobStatusChangeEvent implements org.apache.thrift.TBase<JobStatusChangeEvent, JobStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
index 6a56f1f..5351eb6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class JobStatusChangeRequestEvent implements org.apache.thrift.TBase<JobStatusChangeRequestEvent, JobStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeRequestEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeRequestEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
index 521dcca..1c7cff4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class Message implements org.apache.thrift.TBase<Message, Message._Fields>, java.io.Serializable, Cloneable, Comparable<Message> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Message");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
index 1da8935..54ca8ed 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ProcessIdentifier implements org.apache.thrift.TBase<ProcessIdentifier, ProcessIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessIdentifier> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessIdentifier");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
index ac2fe81..ba08d22 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ProcessStatusChangeEvent implements org.apache.thrift.TBase<ProcessStatusChangeEvent, ProcessStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
index 8d18720..b31a3e8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ProcessStatusChangeRequestEvent implements org.apache.thrift.TBase<ProcessStatusChangeRequestEvent, ProcessStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeRequestEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeRequestEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
index 80d55ad..295eafc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ProcessSubmitEvent implements org.apache.thrift.TBase<ProcessSubmitEvent, ProcessSubmitEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessSubmitEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessSubmitEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
index d62e983..6cb3ce8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ProcessTerminateEvent implements org.apache.thrift.TBase<ProcessTerminateEvent, ProcessTerminateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessTerminateEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessTerminateEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
index c316662..331c487 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class TaskIdentifier implements org.apache.thrift.TBase<TaskIdentifier, TaskIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<TaskIdentifier> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskIdentifier");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
index c8c9c5e..e29f3fd 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class TaskOutputChangeEvent implements org.apache.thrift.TBase<TaskOutputChangeEvent, TaskOutputChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskOutputChangeEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskOutputChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
index c6f69d3..0f1afce 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class TaskStatusChangeEvent implements org.apache.thrift.TBase<TaskStatusChangeEvent, TaskStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
index 8ec5d3b..8abd6fa 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class TaskStatusChangeRequestEvent implements org.apache.thrift.TBase<TaskStatusChangeRequestEvent, TaskStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeRequestEvent> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeRequestEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
index c2ff0f2..9ba0c30 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, ProcessModel._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
index 78f8ac7..f6dfa61 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ComputationalResourceSchedulingModel implements org.apache.thrift.TBase<ComputationalResourceSchedulingModel, ComputationalResourceSchedulingModel._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceSchedulingModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputationalResourceSchedulingModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
index 126e8b7..b58b053 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class AuthzToken implements org.apache.thrift.TBase<AuthzToken, AuthzToken._Fields>, java.io.Serializable, Cloneable, Comparable<AuthzToken> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthzToken");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
index 6b3c2bc..668271a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
* User friendly reason on how the state is inferred.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ExperimentStatus implements org.apache.thrift.TBase<ExperimentStatus, ExperimentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatus> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatus");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
index ab7500e..3d3f1a8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class JobStatus implements org.apache.thrift.TBase<JobStatus, JobStatus._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatus> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatus");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
index ef21569..65648f7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ProcessStatus implements org.apache.thrift.TBase<ProcessStatus, ProcessStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatus> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatus");
[34/50] [abbrv] airavata git commit: Added TestWorkflow and fixed set
of compilatin issues
Posted by ch...@apache.org.
Added TestWorkflow and fixed set of compilatin issues
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/d1bb3827
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/d1bb3827
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/d1bb3827
Branch: refs/heads/master
Commit: d1bb38275f8caa2204ecbe1611b0fbe9c6e322b5
Parents: 14a566a
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Wed Feb 3 16:42:21 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Wed Feb 3 16:42:21 2016 -0500
----------------------------------------------------------------------
.../core/SimpleWorkflowInterpreter.java | 35 +++---
.../airavata/workflow/core/WorkflowFactory.java | 5 -
.../workflow/core/dag/edge/DirectedEdge.java | 5 +
.../airavata/workflow/core/dag/edge/Edge.java | 2 +
.../workflow/core/dag/port/OutPort.java | 2 +-
.../workflow/core/dag/port/OutPortImpl.java | 2 +-
.../core/parser/AiravataWorkflowBuilder.java | 117 -------------------
.../core/parser/JsonWorkflowParser.java | 6 +-
.../core/parser/JsonWorkflowParserTest.java | 4 +-
.../src/test/resources/TestWorkflow.json | 85 ++++++++++++++
10 files changed, 123 insertions(+), 140 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/d1bb3827/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
index 01ad6bb..7f8a8a5 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
@@ -67,6 +67,7 @@ class SimpleWorkflowInterpreter{
private String gatewayName;
+ private String workflowString;
private Map<String, WorkflowNode> readyList = new ConcurrentHashMap<String, WorkflowNode>();
private Map<String, WorkflowNode> waitingList = new ConcurrentHashMap<String, WorkflowNode>();
private Map<String, WorkflowContext> processingQueue = new ConcurrentHashMap<String, WorkflowContext>();
@@ -97,10 +98,12 @@ class SimpleWorkflowInterpreter{
* @throws Exception
*/
void launchWorkflow() throws Exception {
- WorkflowBuilder workflowBuilder = WorkflowFactory.getWorkflowBuilder(experiment.getExperimentId(), credentialToken, null);
-
+// WorkflowBuilder workflowBuilder = WorkflowFactory.getWorkflowBuilder(experiment.getExperimentId(), credentialToken, null);
+ workflowString = getWorkflow();
+ WorkflowParser workflowParser = WorkflowFactory.getWorkflowParser(workflowString);
log.debug("Initialized workflow parser");
- setInputNodes(workflowBuilder.build());
+ workflowParser.parse();
+ setInputNodes(workflowParser.getInputNodes());
log.debug("Parsed the workflow and got the workflow input nodes");
// process workflow input nodes
processWorkflowInputNodes(getInputNodes());
@@ -117,6 +120,12 @@ class SimpleWorkflowInterpreter{
processReadyList();
}
+ private String getWorkflow() throws AppCatalogException {
+ WorkflowCatalog workflowCatalog = RegistryFactory.getAppCatalog().getWorkflowCatalog();
+ //FIXME: parse workflowTemplateId or experimentId
+ workflowCatalog.getWorkflow("");
+ }
+
// try to remove synchronization tag
/**
* Package-Private method.
@@ -129,9 +138,9 @@ class SimpleWorkflowInterpreter{
}
for (WorkflowNode readyNode : readyList.values()) {
if (readyNode instanceof OutputNode) {
- OutputNode wfOutputNode = (OutputNode) readyNode;
- wfOutputNode.getOutputObject().setValue(wfOutputNode.getInPort().getInputObject().getValue());
- addToCompleteOutputNodeList(wfOutputNode);
+ OutputNode outputNode = (OutputNode) readyNode;
+ outputNode.getOutputObject().setValue(outputNode.getInPort().getInputObject().getValue());
+ addToCompleteOutputNodeList(outputNode);
continue;
}
WorkflowNodeDetails workflowNodeDetails = createWorkflowNodeDetails(readyNode);
@@ -206,13 +215,13 @@ class SimpleWorkflowInterpreter{
}
- private void processWorkflowInputNodes(List<InputNode> wfInputNodes) {
+ private void processWorkflowInputNodes(List<InputNode> inputNodes) {
Set<WorkflowNode> tempNodeSet = new HashSet<WorkflowNode>();
- for (InputNode wfInputNode : wfInputNodes) {
- if (wfInputNode.isReady()) {
- log.debug("Workflow node : " + wfInputNode.getId() + " is ready to execute");
- for (Edge edge : wfInputNode.getOutPort().getOutEdges()) {
- edge.getToPort().getInputObject().setValue(wfInputNode.getInputObject().getValue());
+ for (InputNode inputNode : inputNodes) {
+ if (inputNode.isReady()) {
+ log.debug("Workflow node : " + inputNode.getId() + " is ready to execute");
+ for (Edge edge : inputNode.getOutPort().getEdges()) {
+ edge.getToPort().getInputObject().setValue(inputNode.getInputObject().getValue());
if (edge.getToPort().getNode().isReady()) {
addToReadyQueue(edge.getToPort().getNode());
log.debug("Added workflow node : " + edge.getToPort().getNode().getId() + " to the readyQueue");
@@ -315,7 +324,7 @@ class SimpleWorkflowInterpreter{
break;
}
}
- for (Edge edge : outPort.getOutEdges()) {
+ for (Edge edge : outPort.getEdges()) {
edge.getToPort().getInputObject().setValue(outPort.getOutputObject().getValue());
if (edge.getToPort().getNode().isReady()) {
addToReadyQueue(edge.getToPort().getNode());
http://git-wip-us.apache.org/repos/asf/airavata/blob/d1bb3827/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
index f232efa..e06fab5 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
@@ -37,11 +37,6 @@ public class WorkflowFactory {
private static final Logger log = LoggerFactory.getLogger(WorkflowFactory.class);
-
- public static WorkflowBuilder getWorkflowBuilder(String experimentId, String credentialToken, String workflowString) throws Exception {
- return new AiravataWorkflowBuilder(experimentId, credentialToken, getWorkflowParser(workflowString));
- }
-
public static WorkflowParser getWorkflowParser(String workflowString) throws Exception {
WorkflowParser workflowParser = null;
try {
http://git-wip-us.apache.org/repos/asf/airavata/blob/d1bb3827/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
index b1d79b1..3ad7afa 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/DirectedEdge.java
@@ -33,6 +33,11 @@ public class DirectedEdge implements Edge {
private EdgeModel edgeModel;
@Override
+ public String getId() {
+ return getEdgeModel().getEdgeId();
+ }
+
+ @Override
public void setEdgeModel(EdgeModel edgeModel) {
this.edgeModel = edgeModel;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/d1bb3827/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
index d1c340e..2ad098e 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/edge/Edge.java
@@ -32,6 +32,8 @@ import org.apache.airavata.workflow.core.dag.port.OutPort;
public interface Edge {
+ public String getId();
+
public void setEdgeModel(EdgeModel edgeModel);
public EdgeModel getEdgeModel();
http://git-wip-us.apache.org/repos/asf/airavata/blob/d1bb3827/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPort.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPort.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPort.java
index 7ae3220..d12666e 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPort.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPort.java
@@ -32,7 +32,7 @@ public interface OutPort extends Port {
public OutputDataObjectType getOutputObject();
- public List<Edge> getOutEdges();
+ public List<Edge> getEdges();
public void addEdge(Edge edge);
http://git-wip-us.apache.org/repos/asf/airavata/blob/d1bb3827/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
index 4d90308..c261279 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/port/OutPortImpl.java
@@ -52,7 +52,7 @@ public class OutPortImpl implements OutPort {
}
@Override
- public List<Edge> getOutEdges() {
+ public List<Edge> getEdges() {
return this.outEdges;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/d1bb3827/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowBuilder.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowBuilder.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowBuilder.java
deleted file mode 100644
index e50b245..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowBuilder.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- *
- * 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.workflow.core.parser;
-
-import org.apache.airavata.model.application.io.InputDataObjectType;
-import org.apache.airavata.model.application.io.OutputDataObjectType;
-import org.apache.airavata.model.experiment.ExperimentModel;
-import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.*;
-import org.apache.airavata.workflow.core.WorkflowBuilder;
-import org.apache.airavata.workflow.core.WorkflowParser;
-import org.apache.airavata.workflow.core.dag.edge.DirectedEdge;
-import org.apache.airavata.workflow.core.dag.edge.Edge;
-import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
-import org.apache.airavata.workflow.core.dag.nodes.ApplicationNodeImpl;
-import org.apache.airavata.workflow.core.dag.nodes.InputNode;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
-import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
-import org.apache.airavata.workflow.core.dag.nodes.OutputNodeImpl;
-import org.apache.airavata.workflow.core.dag.port.*;
-
-import java.util.*;
-
-public class AiravataWorkflowBuilder implements WorkflowBuilder {
-
- private String credentialToken ;
- private WorkflowParser workflowParser;
- private ExperimentModel experiment;
-
-
- public AiravataWorkflowBuilder(String experimentId, String credentialToken, WorkflowParser workflowParser) throws RegistryException {
- this.experiment = getExperiment(experimentId);
- this.credentialToken = credentialToken;
- this.workflowParser = workflowParser;
- }
-
- public AiravataWorkflowBuilder(ExperimentModel experiment, String credentialToken , WorkflowParser workflowParser) {
- this.credentialToken = credentialToken;
- this.experiment = experiment;
- this.workflowParser = workflowParser;
- }
-
- @Override
- public List<InputNode> build() throws Exception {
- return parseWorkflow(getWorkflowFromExperiment(experiment));
- }
-
- @Override
- public List<InputNode> build(String workflow) throws Exception {
- return parseWorkflow(workflow);
- }
-
- public List<InputNode> parseWorkflow(String workflow) throws Exception {
-
- List<InputNode> inputNodes = workflowParser.getInputNodes();
- List<ApplicationNode> applicationNodes = workflowParser.getApplicationNodes();
- List<Port> ports = workflowParser.getPorts();
- List<Edge> edges = workflowParser.getEdges();
- List<OutputNode> outputNodes = workflowParser.getOutputNodes();
-
- // travel breath first and build relation between each workflow component
- Queue<WorkflowNode> queue = new LinkedList<>();
- List<InputDataObjectType> experimentInputs = experiment.getExperimentInputs();
- Map<String,InputDataObjectType> inputDataMap=new HashMap<String, InputDataObjectType>();
- for (InputDataObjectType dataObjectType : experimentInputs) {
- inputDataMap.put(dataObjectType.getName(), dataObjectType);
- }
-
- return inputNodes;
- }
-
-
- private OutputDataObjectType getOutputDataObject(InputDataObjectType inputObject) {
- OutputDataObjectType outputDataObjectType = new OutputDataObjectType();
- outputDataObjectType.setApplicationArgument(inputObject.getApplicationArgument());
- outputDataObjectType.setName(inputObject.getName());
- outputDataObjectType.setType(inputObject.getType());
- outputDataObjectType.setValue(inputObject.getValue());
- return outputDataObjectType;
- }
-
- private ExperimentModel getExperiment(String experimentId) throws RegistryException {
- Registry registry = RegistryFactory.getRegistry();
- return (ExperimentModel)registry.getExperimentCatalog().get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
- }
-
- private String getWorkflowFromExperiment(ExperimentModel experiment) throws RegistryException, AppCatalogException {
- WorkflowCatalog workflowCatalog = getWorkflowCatalog();
-
- // FIXME: return workflow string
- return null;
- }
-
- private WorkflowCatalog getWorkflowCatalog() throws AppCatalogException {
- return RegistryFactory.getAppCatalog().getWorkflowCatalog();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/d1bb3827/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
index 59576b3..ede69e3 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
@@ -16,12 +16,16 @@ import java.util.List;
public class JsonWorkflowParser implements WorkflowParser{
private final String workflow;
+ private List<InputNode> inputs;
+ private List<OutputNode> outputs;
+ private List<ApplicationNode> applications;
+ private List<Port> ports;
+ private List<Edge> edges;
public JsonWorkflowParser(String jsonWorkflowString) {
workflow = jsonWorkflowString;
}
-
@Override
public void parse() throws Exception {
// TODO parse json string and construct components
http://git-wip-us.apache.org/repos/asf/airavata/blob/d1bb3827/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java b/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
index 95a2579..712944d 100644
--- a/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
+++ b/modules/workflow/workflow-core/src/test/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParserTest.java
@@ -109,8 +109,8 @@ public class JsonWorkflowParserTest {
Assert.assertNotNull(node.getInputPorts().get(1).getEdge());
Assert.assertEquals(1, node.getOutputPorts().size());
- Assert.assertEquals(1, node.getOutputPorts().get(0).getOutEdges().size());
- Assert.assertNotNull(node.getOutputPorts().get(0).getOutEdges().get(0));
+ Assert.assertEquals(1, node.getOutputPorts().get(0).getEdges().size());
+ Assert.assertNotNull(node.getOutputPorts().get(0).getEdges().get(0));
} else if (wfNode instanceof OutputNode) {
OutputNode outputNode = (OutputNode) wfNode;
Assert.assertNotNull(outputNode.getInPort());
http://git-wip-us.apache.org/repos/asf/airavata/blob/d1bb3827/modules/workflow/workflow-core/src/test/resources/TestWorkflow.json
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/test/resources/TestWorkflow.json b/modules/workflow/workflow-core/src/test/resources/TestWorkflow.json
new file mode 100644
index 0000000..5b64172
--- /dev/null
+++ b/modules/workflow/workflow-core/src/test/resources/TestWorkflow.json
@@ -0,0 +1,85 @@
+{
+ "workflow" : {
+ "name" : "name",
+ "id" : "default_id",
+ "description" : "default description",
+ "version" : "version",
+ "applications" : [
+ { "applicationId" : "appId_1",
+ "name" : "App Name",
+ "description" : "My app description",
+ "appType" : "MPI",
+ "inputs" : [
+ { "name" : "appInputName_1",
+ "id" : "appInputNode_Id_1",
+ "dataType" : "STRING",
+ "defaultValue" : "defaultValue",
+ "description" : "App Input Description" },
+ { "name" : "appInputName_2",
+ "id" : "appInputNode_Id_2",
+ "dataType" : "STRING",
+ "defaultValue" : "defaultValue",
+ "description" : "App Input Description" }],
+ "outputs" : [
+ { "name" : "appOutputName_1",
+ "id" : "appOutputNode_Id_1",
+ "dataType" : "STRING",
+ "defaultValue" : "defaultValue",
+ "description" : "App Output Description" },
+ { "name" : "appOutputName_2",
+ "id" : "appOutputNode_Id_2",
+ "dataType" : "STRING",
+ "defaultValue" : "defaultValue" }],
+ "position" : { "x" : 124 , "y" : 643 },
+ "nodeId" : "applicationNodeId",
+ "parallelExecution" : "true",
+ "properties" : null }
+ ],
+ "workflowInputs" : [
+ { "name" : "inputName_1",
+ "id" : "inputNode_Id_1",
+ "dataType" : "STRING",
+ "defaultValue" : "defaultValue",
+ "description" : "Input Description",
+ "position" : { "x" : 23 , "y" : 43 },
+ "nodeId" : "defaultNodeId_1" },
+ { "name" : "inputName_2",
+ "id" : "inputNode_Id_2",
+ "dataType" : "STRING",
+ "defaultValue" : "defaultValue",
+ "description" : "Input Description",
+ "position" : { "x" : 23 , "y" : 103 },
+ "nodeId" : "defaultNodeId_2" }
+ ],
+ "workflowOutputs" : [
+ { "name" : "outputName_1",
+ "id" : "outputNode_Id_1",
+ "dataType" : "STRING",
+ "defaultValue" : "defaultValue",
+ "description" : "Output Description",
+ "position" : { "x" : 423 , "y" : 43 },
+ "nodeId" : "defaultOutputNodeId_1" },
+ { "name" : "outputName_2",
+ "id" : "outputNode_Id_2",
+ "dataType" : "STRING",
+ "defaultValue" : "defaultValue",
+ "description" : "Output Description",
+ "position" : { "x" : 423 , "y" : 103 },
+ "nodeId" : "defaultOutputNodeId_2" }
+ ],
+ "links" : [
+ { "description" : "link desc",
+ "from" : { "nodeId" : "" , "ouputId" : "" },
+ "to" : { "nodeId" : "" , "outputId" : "" }},
+ { "description" : "link desc",
+ "from" : { "nodeId" : "" , "ouputId" : "" },
+ "to" : { "nodeId" : "" , "outputId" : "" }},
+ { "description" : "link desc",
+ "from" : { "nodeId" : "" , "ouputId" : "" },
+ "to" : { "nodeId" : "" , "outputId" : "" }},
+ { "description" : "link desc",
+ "from" : { "nodeId" : "" , "ouputId" : "" },
+ "to" : { "nodeId" : "" , "outputId" : "" }}
+ ]
+ }
+}
[38/50] [abbrv] airavata git commit: Fixed all compilation issues of
workflow-core module
Posted by ch...@apache.org.
Fixed all compilation issues of workflow-core module
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/ce795581
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/ce795581
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/ce795581
Branch: refs/heads/master
Commit: ce7955813f79812a58bc6395914f3a978b0ae1e9
Parents: e21fae7
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Fri Feb 5 16:29:41 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Fri Feb 5 16:29:41 2016 -0500
----------------------------------------------------------------------
.../cpi/impl/SimpleOrchestratorImpl.java | 3 +-
.../server/OrchestratorServerHandler.java | 75 +++----
modules/workflow/workflow-core/pom.xml | 6 +
.../core/SimpleWorkflowInterpreter.java | 197 ++++++-------------
.../airavata/workflow/core/WorkflowContext.java | 60 ------
.../workflow/core/WorkflowEnactmentService.java | 2 +-
.../airavata/workflow/core/WorkflowFactory.java | 1 -
pom.xml | 1 +
8 files changed, 105 insertions(+), 240 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/ce795581/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
index ff515ef..c875180 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
@@ -269,11 +269,10 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
return processModels;
}
- public String createAndSaveTasks(String gatewayId, ExperimentModel experimentModel, ProcessModel processModel) throws OrchestratorException {
+ public String createAndSaveTasks(String gatewayId, ProcessModel processModel, boolean autoSchedule) throws OrchestratorException {
try {
ExperimentCatalog experimentCatalog = orchestratorContext.getRegistry().getExperimentCatalog();
AppCatalog appCatalog = orchestratorContext.getRegistry().getAppCatalog();
- boolean autoSchedule = experimentModel.getUserConfigurationData().isAiravataAutoSchedule();
ComputationalResourceSchedulingModel resourceSchedule = processModel.getResourceSchedule();
String userGivenQueueName = resourceSchedule.getQueueName();
int userGivenWallTime = resourceSchedule.getWallTimeLimit();
http://git-wip-us.apache.org/repos/asf/airavata/blob/ce795581/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index a461ba4..977191e 100644
--- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -136,45 +136,46 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
ExperimentModel experiment = null;
try {
- List<ProcessModel> processes = orchestrator.createProcesses(experimentId, gatewayId);
- experiment = (ExperimentModel) experimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
- for (ProcessModel processModel : processes){
- String taskDag = orchestrator.createAndSaveTasks(gatewayId, experiment, processModel);
- processModel.setTaskDag(taskDag);
- experimentCatalog.update(ExperimentCatalogModelType.PROCESS,processModel, processModel.getProcessId());
- }
- if (experiment == null) {
- log.error(experimentId, "Error retrieving the Experiment by the given experimentID: {} ", experimentId);
- return false;
- }
+ String experimentNodePath = GFacUtils.getExperimentNodePath (experimentId);
+ ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), experimentNodePath);
+ String experimentCancelNode = ZKPaths.makePath(experimentNodePath, ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
+ ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), experimentCancelNode);
- if (!validateProcess(experimentId, processes)) {
- log.error("Validating process fails for given experiment Id : {}", experimentId);
- return false;
- }
- ComputeResourcePreference computeResourcePreference = appCatalog.getGatewayProfile().
+ ComputeResourcePreference computeResourcePreference = appCatalog.getGatewayProfile().
getComputeResourcePreference(gatewayId,
experiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId());
- String token = computeResourcePreference.getResourceSpecificCredentialStoreToken();
- if (token == null || token.isEmpty()){
- // try with gateway profile level token
- GatewayResourceProfile gatewayProfile = appCatalog.getGatewayProfile().getGatewayProfile(gatewayId);
- token = gatewayProfile.getCredentialStoreToken();
- }
- // still the token is empty, then we fail the experiment
- if (token == null || token.isEmpty()){
- log.error("You have not configured credential store token at gateway profile or compute resource preference. Please provide the correct token at gateway profile or compute resource preference.");
- return false;
- }
- String experimentNodePath = GFacUtils.getExperimentNodePath (experimentId);
- ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), experimentNodePath);
- String experimentCancelNode = ZKPaths.makePath(experimentNodePath, ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
- ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), experimentCancelNode);
+ String token = computeResourcePreference.getResourceSpecificCredentialStoreToken();
+ if (token == null || token.isEmpty()){
+ // try with gateway profile level token
+ GatewayResourceProfile gatewayProfile = appCatalog.getGatewayProfile().getGatewayProfile(gatewayId);
+ token = gatewayProfile.getCredentialStoreToken();
+ }
+ // still the token is empty, then we fail the experiment
+ if (token == null || token.isEmpty()){
+ log.error("You have not configured credential store token at gateway profile or compute resource preference. Please provide the correct token at gateway profile or compute resource preference.");
+ return false;
+ }
+ ExperimentType executionType = experiment.getExperimentType();
+ if (executionType == ExperimentType.SINGLE_APPLICATION) {
+ //its an single application execution experiment
+ List<ProcessModel> processes = orchestrator.createProcesses(experimentId, gatewayId);
+ experiment = (ExperimentModel) experimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
+ if (experiment == null) {
+ log.error(experimentId, "Error retrieving the Experiment by the given experimentID: {} ", experimentId);
+ return false;
+ }
+ for (ProcessModel processModel : processes){
+ String taskDag = orchestrator.createAndSaveTasks(gatewayId, processModel, experiment.getUserConfigurationData().isAiravataAutoSchedule());
+ processModel.setTaskDag(taskDag);
+ experimentCatalog.update(ExperimentCatalogModelType.PROCESS,processModel, processModel.getProcessId());
+ }
+
+ if (!validateProcess(experimentId, processes)) {
+ log.error("Validating process fails for given experiment Id : {}", experimentId);
+ return false;
+ }
- ExperimentType executionType = experiment.getExperimentType();
- if (executionType == ExperimentType.SINGLE_APPLICATION) {
- //its an single application execution experiment
- log.debug(experimentId, "Launching single application experiment {}.", experimentId);
+ log.debug(experimentId, "Launching single application experiment {}.", experimentId);
ExperimentStatus status = new ExperimentStatus(ExperimentState.LAUNCHED);
status.setReason("submitted all processes");
status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
@@ -184,7 +185,7 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
} else if (executionType == ExperimentType.WORKFLOW) {
//its a workflow execution experiment
log.debug(experimentId, "Launching workflow experiment {}.", experimentId);
- launchWorkflowExperiment(experimentId, token);
+ launchWorkflowExperiment(experimentId, token, gatewayId);
} else {
log.error(experimentId, "Couldn't identify experiment type, experiment {} is neither single application nor workflow.", experimentId);
throw new TException("Experiment '" + experimentId + "' launch failed. Unable to figureout execution type for application " + experiment.getExecutionId());
@@ -367,7 +368,7 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
}
}
- private void launchWorkflowExperiment(String experimentId, String airavataCredStoreToken) throws TException {
+ private void launchWorkflowExperiment(String experimentId, String airavataCredStoreToken, String gatewayId) throws TException {
// FIXME
// try {
// WorkflowEnactmentService.getInstance().
http://git-wip-us.apache.org/repos/asf/airavata/blob/ce795581/modules/workflow/workflow-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/pom.xml b/modules/workflow/workflow-core/pom.xml
index bb1ea79..72990c8 100644
--- a/modules/workflow/workflow-core/pom.xml
+++ b/modules/workflow/workflow-core/pom.xml
@@ -31,6 +31,12 @@
<version>${project.version}</version>
</dependency>
+ <!--Workflow Interpreter dependency-->
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-gfac-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<!-- Airavata default parser dependency -->
<dependency>
<groupId>org.apache.airavata</groupId>
http://git-wip-us.apache.org/repos/asf/airavata/blob/ce795581/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
index 7f8a8a5..cdbf2f2 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
@@ -22,35 +22,25 @@
package org.apache.airavata.workflow.core;
import org.apache.airavata.common.exception.AiravataException;
-import org.apache.airavata.common.utils.AiravataUtils;
-import org.apache.airavata.messaging.core.MessageContext;
import org.apache.airavata.messaging.core.impl.RabbitMQProcessLaunchPublisher;
import org.apache.airavata.messaging.core.impl.RabbitMQStatusConsumer;
+import org.apache.airavata.model.ComponentState;
+import org.apache.airavata.model.ComponentStatus;
import org.apache.airavata.model.application.io.OutputDataObjectType;
import org.apache.airavata.model.experiment.ExperimentModel;
-import org.apache.airavata.model.messaging.event.*;
+import org.apache.airavata.model.messaging.event.ProcessIdentifier;
+import org.apache.airavata.model.messaging.event.ProcessStatusChangeEvent;
+import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent;
import org.apache.airavata.model.status.ProcessState;
-import org.apache.airavata.model.util.ExperimentModelUtil;
import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.core.experiment.catalog.model.Experiment;
import org.apache.airavata.registry.cpi.*;
import org.apache.airavata.workflow.core.dag.edge.Edge;
-import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
-import org.apache.airavata.workflow.core.dag.nodes.NodeState;
-import org.apache.airavata.workflow.core.dag.nodes.InputNode;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
-import org.apache.airavata.workflow.core.dag.nodes.OutputNode;
-import org.apache.airavata.workflow.core.dag.port.InPort;
+import org.apache.airavata.workflow.core.dag.nodes.*;
import org.apache.airavata.workflow.core.dag.port.OutPort;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
/**
@@ -68,12 +58,12 @@ class SimpleWorkflowInterpreter{
private String gatewayName;
private String workflowString;
- private Map<String, WorkflowNode> readyList = new ConcurrentHashMap<String, WorkflowNode>();
- private Map<String, WorkflowNode> waitingList = new ConcurrentHashMap<String, WorkflowNode>();
- private Map<String, WorkflowContext> processingQueue = new ConcurrentHashMap<String, WorkflowContext>();
- private Map<String, WorkflowContext> completeList = new HashMap<String, WorkflowContext>();
+ private Map<String, WorkflowNode> readyList = new ConcurrentHashMap<>();
+ private Map<String, WorkflowNode> waitingList = new ConcurrentHashMap<>();
+ private Map<String, WorkflowNode> processingQueue = new ConcurrentHashMap<>();
+ private Map<String, WorkflowNode> completeList = new HashMap<>();
private Registry registry;
- private List<OutputNode> completeWorkflowOutputs = new ArrayList<OutputNode>();
+ private List<OutputNode> completeWorkflowOutputs = new ArrayList<>();
private RabbitMQProcessLaunchPublisher publisher;
private RabbitMQStatusConsumer statusConsumer;
private String consumerId;
@@ -120,10 +110,11 @@ class SimpleWorkflowInterpreter{
processReadyList();
}
- private String getWorkflow() throws AppCatalogException {
+ private String getWorkflow() throws AppCatalogException, WorkflowCatalogException {
WorkflowCatalog workflowCatalog = RegistryFactory.getAppCatalog().getWorkflowCatalog();
//FIXME: parse workflowTemplateId or experimentId
- workflowCatalog.getWorkflow("");
+// workflowCatalog.getWorkflow("");
+ return "";
}
// try to remove synchronization tag
@@ -141,15 +132,16 @@ class SimpleWorkflowInterpreter{
OutputNode outputNode = (OutputNode) readyNode;
outputNode.getOutputObject().setValue(outputNode.getInPort().getInputObject().getValue());
addToCompleteOutputNodeList(outputNode);
- continue;
+ } else if (readyNode instanceof InputNode) {
+ // set input object of applications and add applications to ready List.
+ } else if (readyNode instanceof ApplicationNode) {
+ // call orchestrator to create process for the application
+ } else {
+ throw new RuntimeException("Unsupported workflow node type");
}
- WorkflowNodeDetails workflowNodeDetails = createWorkflowNodeDetails(readyNode);
- TaskDetails process = getProcess(workflowNodeDetails);
- WorkflowContext workflowContext = new WorkflowContext(readyNode, workflowNodeDetails, process);
- addToProcessingQueue(workflowContext);
- publishToProcessQueue(process);
}
- if (processingQueue.isEmpty()) {
+
+ if (processingQueue.isEmpty() && waitingList.isEmpty()) {
try {
saveWorkflowOutputs();
} catch (AppCatalogException e) {
@@ -159,64 +151,16 @@ class SimpleWorkflowInterpreter{
}
private void saveWorkflowOutputs() throws AppCatalogException {
- List<OutputDataObjectType> outputDataObjects = new ArrayList<OutputDataObjectType>();
+ List<OutputDataObjectType> outputDataObjects = new ArrayList<>();
for (OutputNode completeWorkflowOutput : completeWorkflowOutputs) {
outputDataObjects.add(completeWorkflowOutput.getOutputObject());
}
- RegistryFactory.getAppCatalog().getWorkflowCatalog()
- .updateWorkflowOutputs(experiment.getApplicationId(), outputDataObjects);
- }
-
-
- private void publishToProcessQueue(TaskDetails process) throws AiravataException {
- ProcessSubmitEvent processSubmitEvent = new ProcessSubmitEvent();
- processSubmitEvent.setCredentialToken(credentialToken);
- processSubmitEvent.setTaskId(process.getTaskID());
- MessageContext messageContext = new MessageContext(processSubmitEvent, MessageType.TASK, process.getTaskID(), null);
- messageContext.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
- publisher.publish(messageContext);
- }
-
- private TaskDetails getProcess(WorkflowNodeDetails wfNodeDetails) throws RegistryException {
- // create workflow taskDetails from workflowNodeDetails
- TaskDetails taskDetails = ExperimentModelUtil.cloneTaskFromWorkflowNodeDetails(getExperiment(), wfNodeDetails);
- taskDetails.setTaskID(getRegistry().getExperimentCatalog().add(ExpCatChildDataType.TASK_DETAIL, taskDetails, wfNodeDetails.getNodeInstanceId()).toString());
- return taskDetails;
- }
-
- private WorkflowNodeDetails createWorkflowNodeDetails(WorkflowNode readyNode) throws RegistryException {
- WorkflowNodeDetails wfNodeDetails = ExperimentModelUtil.createWorkflowNode(readyNode.getId(), null);
- ExecutionUnit executionUnit = ExecutionUnit.APPLICATION;
- String executionData = null;
- if (readyNode instanceof ApplicationNode) {
- executionUnit = ExecutionUnit.APPLICATION;
- executionData = ((ApplicationNode) readyNode).getApplicationId();
- setupNodeDetailsInput(((ApplicationNode) readyNode), wfNodeDetails);
- } else if (readyNode instanceof InputNode) {
- executionUnit = ExecutionUnit.INPUT;
- } else if (readyNode instanceof OutputNode) {
- executionUnit = ExecutionUnit.OUTPUT;
- }
- wfNodeDetails.setExecutionUnit(executionUnit);
- wfNodeDetails.setExecutionUnitData(executionData);
- wfNodeDetails.setNodeInstanceId((String) getRegistry().getExperimentCatalog().add(ExpCatChildDataType.WORKFLOW_NODE_DETAIL, wfNodeDetails, getExperiment().getExperimentID()));
- return wfNodeDetails;
+// RegistryFactory.getAppCatalog().getWorkflowCatalog()
+// .updateWorkflowOutputs(experiment.getApplicationId(), outputDataObjects);
}
- private void setupNodeDetailsInput(ApplicationNode readyAppNode, WorkflowNodeDetails wfNodeDetails) {
- if (readyAppNode.isReady()) {
- for (InPort inPort : readyAppNode.getInputPorts()) {
- wfNodeDetails.addToNodeInputs(inPort.getInputObject());
- }
- } else {
- throw new IllegalArgumentException("Application node should be in ready state to set inputs to the " +
- "workflow node details, nodeId = " + readyAppNode.getId());
- }
- }
-
-
private void processWorkflowInputNodes(List<InputNode> inputNodes) {
- Set<WorkflowNode> tempNodeSet = new HashSet<WorkflowNode>();
+ Set<WorkflowNode> tempNodeSet = new HashSet<>();
for (InputNode inputNode : inputNodes) {
if (inputNode.isReady()) {
log.debug("Workflow node : " + inputNode.getId() + " is ready to execute");
@@ -251,16 +195,6 @@ class SimpleWorkflowInterpreter{
return registry;
}
- public Experiment getExperiment() {
- return experiment;
- }
-
- private void updateWorkflowNodeStatus(WorkflowNodeDetails wfNodeDetails, WorkflowNodeState state) throws RegistryException{
- WorkflowNodeStatus status = ExperimentModelUtil.createWorkflowNodeStatus(state);
- wfNodeDetails.setWorkflowNodeStatus(status);
- getRegistry().getExperimentCatalog().update(ExperimentCatalogModelType.WORKFLOW_NODE_STATUS, status, wfNodeDetails.getNodeInstanceId());
- }
-
/**
* Package-Private method.
* Remove the workflow node from waiting queue and add it to the ready queue.
@@ -278,16 +212,16 @@ class SimpleWorkflowInterpreter{
/**
* First remove the node from ready list and then add the WfNodeContainer to the process queue.
* Note that underline data structure of the process queue is a Map.
- * @param workflowContext - has both workflow and correspond workflowNodeDetails and TaskDetails
+ * @param applicationNode - has both workflow and correspond workflowNodeDetails and TaskDetails
*/
- private synchronized void addToProcessingQueue(WorkflowContext workflowContext) {
- readyList.remove(workflowContext.getWorkflowNode().getId());
- processingQueue.put(workflowContext.getTaskDetails().getTaskID(), workflowContext);
+ private synchronized void addToProcessingQueue(ApplicationNode applicationNode) {
+ readyList.remove(applicationNode.getId());
+ processingQueue.put(applicationNode.getId(), applicationNode);
}
- private synchronized void addToCompleteQueue(WorkflowContext workflowContext) {
- processingQueue.remove(workflowContext.getTaskDetails().getTaskID());
- completeList.put(workflowContext.getTaskDetails().getTaskID(), workflowContext);
+ private synchronized void addToCompleteQueue(ApplicationNode applicationNode) {
+ processingQueue.remove(applicationNode.getId());
+ completeList.put(applicationNode.getId(), applicationNode);
}
@@ -301,19 +235,18 @@ class SimpleWorkflowInterpreter{
}
private void setExperiment(String experimentId) throws RegistryException {
- experiment = (Experiment) getRegistry().getExperimentCatalog().get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
+ experiment = (ExperimentModel) getRegistry().getExperimentCatalog().get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
log.debug("Retrieve Experiment for experiment id : " + experimentId);
}
- synchronized void handleTaskOutputChangeEvent(TaskOutputChangeEvent taskOutputChangeEvent) {
+/* synchronized void handleTaskOutputChangeEvent(ProcessStatusChangeEvent taskOutputChangeEvent) {
String taskId = taskOutputChangeEvent.getTaskIdentity().getTaskId();
log.debug("Task Output changed event received for workflow node : " +
taskOutputChangeEvent.getTaskIdentity().getWorkflowNodeId() + ", task : " + taskId);
- WorkflowContext workflowContext = processingQueue.get(taskId);
- Set<WorkflowNode> tempWfNodeSet = new HashSet<WorkflowNode>();
- if (workflowContext != null) {
- WorkflowNode workflowNode = workflowContext.getWorkflowNode();
+ WorkflowNode workflowNode = processingQueue.get(taskId);
+ Set<WorkflowNode> tempWfNodeSet = new HashSet<>();
+ if (workflowNode != null) {
if (workflowNode instanceof ApplicationNode) {
ApplicationNode applicationNode = (ApplicationNode) workflowNode;
// Workflow node can have one to many output ports and each output port can have one to many links
@@ -331,9 +264,9 @@ class SimpleWorkflowInterpreter{
}
}
}
+ addToCompleteQueue(applicationNode);
+ log.debug("removed task from processing queue : " + taskId);
}
- addToCompleteQueue(workflowContext);
- log.debug("removed task from processing queue : " + taskId);
try {
processReadyList();
} catch (Exception e) {
@@ -341,69 +274,55 @@ class SimpleWorkflowInterpreter{
continueWorkflow = false;
}
}
- }
+ }*/
void handleProcessStatusChangeEvent(ProcessStatusChangeEvent processStatusChangeEvent) {
ProcessState processState = processStatusChangeEvent.getState();
ProcessIdentifier processIdentity = processStatusChangeEvent.getProcessIdentity();
String processId = processIdentity.getProcessId();
- WorkflowContext workflowContext = processingQueue.get(processId);
- if (workflowContext != null) {
- WorkflowNodeState wfNodeState = WorkflowNodeState.INVOKED;
+ ApplicationNode applicationNode = (ApplicationNode) processingQueue.get(processId);
+ if (applicationNode != null) {
+ ComponentState state = applicationNode.getState();
switch (processState) {
case CREATED:
case VALIDATED:
case STARTED:
break;
case CONFIGURING_WORKSPACE:
- wfNodeState = WorkflowNodeState.COMPLETED;
- break;
case PRE_PROCESSING:
- wfNodeState = WorkflowNodeState.INVOKED;
- workflowContext.getWorkflowNode().setState(NodeState.PRE_PROCESSING);
- break;
case INPUT_DATA_STAGING:
- wfNodeState = WorkflowNodeState.INVOKED;
- workflowContext.getWorkflowNode().setState(NodeState.PRE_PROCESSING);
- break;
case EXECUTING:
- wfNodeState = WorkflowNodeState.EXECUTING;
- workflowContext.getWorkflowNode().setState(NodeState.EXECUTING);
- break;
case OUTPUT_DATA_STAGING:
- wfNodeState = WorkflowNodeState.COMPLETED;
- workflowContext.getWorkflowNode().setState(NodeState.POST_PROCESSING);
- break;
case POST_PROCESSING:
- wfNodeState = WorkflowNodeState.COMPLETED;
- workflowContext.getWorkflowNode().setState(NodeState.POST_PROCESSING);
+ state = ComponentState.RUNNING;
break;
case COMPLETED:
- wfNodeState = WorkflowNodeState.COMPLETED;
- workflowContext.getWorkflowNode().setState(NodeState.EXECUTED);
+ state = ComponentState.COMPLETED;
break;
case FAILED:
- wfNodeState = WorkflowNodeState.FAILED;
- workflowContext.getWorkflowNode().setState(NodeState.FAILED);
+ state = ComponentState.FAILED;
break;
case CANCELED:
case CANCELLING:
- wfNodeState = WorkflowNodeState.CANCELED;
- workflowContext.getWorkflowNode().setState(NodeState.FAILED);
+ state = ComponentState.CANCELED;
break;
default:
break;
}
- if (wfNodeState != WorkflowNodeState.UNKNOWN) {
+ if (state != applicationNode.getState()) {
try {
- updateWorkflowNodeStatus(workflowContext.getWfNodeDetails(), wfNodeState);
+ updateWorkflowNodeStatus(applicationNode, new ComponentStatus(state));
} catch (RegistryException e) {
- log.error("Error while updating workflow node status update to the registry. nodeInstanceId :"
- + workflowContext.getWfNodeDetails().getNodeInstanceId() + " status to: "
- + workflowContext.getWfNodeDetails().getWorkflowNodeStatus().toString() , e);
+ log.error("Error! Couldn't update new application state to registry. nodeInstanceId : {} "
+ + applicationNode.getId() + " status to: " + applicationNode.getState().toString() , e);
}
}
}
}
+
+ private void updateWorkflowNodeStatus(ApplicationNode applicationNode, ComponentStatus componentStatus) throws RegistryException {
+ // FIXME: save new workflow node status to registry.
+ }
+
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/ce795581/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowContext.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowContext.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowContext.java
deleted file mode 100644
index 47bd9ca..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowContext.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *
- * 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.workflow.core;
-
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
-
-public class WorkflowContext {
- private WorkflowNode workflowNode;
- private WorkflowNodeDetails wfNodeDetails;
- private TaskDetails taskDetails;
-
- public WorkflowContext(WorkflowNode workflowNode, WorkflowNodeDetails wfNodeDetails, TaskDetails taskDetails) {
- this.workflowNode = workflowNode;
- this.wfNodeDetails = wfNodeDetails;
- this.taskDetails = taskDetails;
- }
-
- public WorkflowNode getWorkflowNode() {
- return workflowNode;
- }
-
- public void setWorkflowNode(WorkflowNode workflowNode) {
- this.workflowNode = workflowNode;
- }
-
- public WorkflowNodeDetails getWfNodeDetails() {
- return wfNodeDetails;
- }
-
- public void setWfNodeDetails(WorkflowNodeDetails wfNodeDetails) {
- this.wfNodeDetails = wfNodeDetails;
- }
-
- public TaskDetails getTaskDetails() {
- return taskDetails;
- }
-
- public void setTaskDetails(TaskDetails taskDetails) {
- this.taskDetails = taskDetails;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/ce795581/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
index aaa3073..34ef8a7 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
@@ -142,7 +142,7 @@ public class WorkflowEnactmentService {
TaskIdentifier taskIdentifier = event.getTaskIdentity();
simpleWorkflowInterpreter = getInterpreter(taskIdentifier.getExperimentId());
if (simpleWorkflowInterpreter != null) {
- simpleWorkflowInterpreter.handleTaskOutputChangeEvent(event);
+// simpleWorkflowInterpreter.handleTaskOutputChangeEvent(event);
if (simpleWorkflowInterpreter.isAllDone()) {
workflowMap.remove(taskIdentifier.getExperimentId());
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/ce795581/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
index e06fab5..9392461 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowFactory.java
@@ -23,7 +23,6 @@ package org.apache.airavata.workflow.core;
import org.apache.airavata.common.exception.ApplicationSettingsException;
import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.workflow.core.parser.AiravataWorkflowBuilder;
import org.apache.airavata.workflow.core.parser.JsonWorkflowParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/airavata/blob/ce795581/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c82cc8d..e41e3f1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -557,6 +557,7 @@
<module>modules/credential-store</module>
<module>modules/orchestrator</module>
<module>modules/server</module>
+ <module>modules/workflow</module>
<module>modules/test-suite</module>
<!-- Deprecated Modules-->
<!--<module>modules/integration-tests</module>-->
[14/50] [abbrv] airavata git commit: set paths from storage resource
before setting the destination path
Posted by ch...@apache.org.
set paths from storage resource before setting the destination path
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b5d568d7
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b5d568d7
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b5d568d7
Branch: refs/heads/master
Commit: b5d568d7dc0ab393d66300610f2c6f9c9ce2ae69
Parents: 819c5e2
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Thu Jan 28 11:59:42 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Thu Jan 28 11:59:42 2016 -0500
----------------------------------------------------------------------
.../gfac/impl/task/SCPDataStageTask.java | 23 ++++++++++----------
1 file changed, 12 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/b5d568d7/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index 71f689a..0df3c4e 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -123,6 +123,18 @@ public class SCPDataStageTask implements Task {
return status;
}
+ StorageResourceDescription storageResource = taskContext.getParentProcessContext().getStorageResource();
+ StoragePreference storagePreference = taskContext.getParentProcessContext().getStoragePreference();
+
+ if (storageResource != null){
+ hostName = storageResource.getHostName();
+ }
+
+ if (storagePreference != null){
+ userName = storagePreference.getLoginUserName();
+ inputPath = storagePreference.getFileSystemRootLocation();
+ }
+
// use rsync instead of scp if source and destination host and user name is same.
URI sourceURI = new URI(subTaskModel.getSource());
String fileName = sourceURI.getPath().substring(sourceURI.getPath().lastIndexOf(File.separator) + 1,
@@ -145,17 +157,6 @@ public class SCPDataStageTask implements Task {
authenticationInfo = Factory.getStorageSSHKeyAuthentication(taskContext.getParentProcessContext());
status = new TaskStatus(TaskState.COMPLETED);
- StorageResourceDescription storageResource = taskContext.getParentProcessContext().getStorageResource();
- StoragePreference storagePreference = taskContext.getParentProcessContext().getStoragePreference();
-
- if (storageResource != null){
- hostName = storageResource.getHostName();
- }
-
- if (storagePreference != null){
- userName = storagePreference.getLoginUserName();
- inputPath = storagePreference.getFileSystemRootLocation();
- }
ServerInfo serverInfo = new ServerInfo(userName, hostName, DEFAULT_SSH_PORT);
Session sshSession = Factory.getSSHSession(authenticationInfo, serverInfo);
[42/50] [abbrv] airavata git commit: update generated code and fixing
compilation issues
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
index 4d25b93..58991af 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
@@ -51,16 +51,19 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, WorkflowModel._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowModel");
private static final org.apache.thrift.protocol.TField TEMPLATE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("templateId", org.apache.thrift.protocol.TType.STRING, (short)1);
private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
private static final org.apache.thrift.protocol.TField GRAPH_FIELD_DESC = new org.apache.thrift.protocol.TField("graph", org.apache.thrift.protocol.TType.STRING, (short)3);
- private static final org.apache.thrift.protocol.TField IMAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("image", org.apache.thrift.protocol.TType.STRING, (short)4);
- private static final org.apache.thrift.protocol.TField WORKFLOW_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowInputs", org.apache.thrift.protocol.TType.LIST, (short)5);
- private static final org.apache.thrift.protocol.TField WORKFLOW_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowOutputs", org.apache.thrift.protocol.TType.LIST, (short)6);
+ private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)4);
+ private static final org.apache.thrift.protocol.TField CREATED_USER_FIELD_DESC = new org.apache.thrift.protocol.TField("createdUser", org.apache.thrift.protocol.TType.STRING, (short)5);
+ private static final org.apache.thrift.protocol.TField IMAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("image", org.apache.thrift.protocol.TType.STRING, (short)6);
+ private static final org.apache.thrift.protocol.TField WORKFLOW_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowInputs", org.apache.thrift.protocol.TType.LIST, (short)7);
+ private static final org.apache.thrift.protocol.TField WORKFLOW_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowOutputs", org.apache.thrift.protocol.TType.LIST, (short)8);
+ private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)9);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -71,18 +74,24 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
private String templateId; // required
private String name; // required
private String graph; // required
+ private String gatewayId; // required
+ private String createdUser; // required
private ByteBuffer image; // optional
private List<org.apache.airavata.model.application.io.InputDataObjectType> workflowInputs; // optional
private List<org.apache.airavata.model.application.io.OutputDataObjectType> workflowOutputs; // optional
+ private long creationTime; // optional
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
TEMPLATE_ID((short)1, "templateId"),
NAME((short)2, "name"),
GRAPH((short)3, "graph"),
- IMAGE((short)4, "image"),
- WORKFLOW_INPUTS((short)5, "workflowInputs"),
- WORKFLOW_OUTPUTS((short)6, "workflowOutputs");
+ GATEWAY_ID((short)4, "gatewayId"),
+ CREATED_USER((short)5, "createdUser"),
+ IMAGE((short)6, "image"),
+ WORKFLOW_INPUTS((short)7, "workflowInputs"),
+ WORKFLOW_OUTPUTS((short)8, "workflowOutputs"),
+ CREATION_TIME((short)9, "creationTime");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -103,12 +112,18 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
return NAME;
case 3: // GRAPH
return GRAPH;
- case 4: // IMAGE
+ case 4: // GATEWAY_ID
+ return GATEWAY_ID;
+ case 5: // CREATED_USER
+ return CREATED_USER;
+ case 6: // IMAGE
return IMAGE;
- case 5: // WORKFLOW_INPUTS
+ case 7: // WORKFLOW_INPUTS
return WORKFLOW_INPUTS;
- case 6: // WORKFLOW_OUTPUTS
+ case 8: // WORKFLOW_OUTPUTS
return WORKFLOW_OUTPUTS;
+ case 9: // CREATION_TIME
+ return CREATION_TIME;
default:
return null;
}
@@ -149,7 +164,9 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
}
// isset id assignments
- private static final _Fields optionals[] = {_Fields.IMAGE,_Fields.WORKFLOW_INPUTS,_Fields.WORKFLOW_OUTPUTS};
+ private static final int __CREATIONTIME_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ private static final _Fields optionals[] = {_Fields.IMAGE,_Fields.WORKFLOW_INPUTS,_Fields.WORKFLOW_OUTPUTS,_Fields.CREATION_TIME};
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -159,6 +176,10 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.GRAPH, new org.apache.thrift.meta_data.FieldMetaData("graph", org.apache.thrift.TFieldRequirementType.REQUIRED,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.CREATED_USER, new org.apache.thrift.meta_data.FieldMetaData("createdUser", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.IMAGE, new org.apache.thrift.meta_data.FieldMetaData("image", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING , true)));
tmpMap.put(_Fields.WORKFLOW_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("workflowInputs", org.apache.thrift.TFieldRequirementType.OPTIONAL,
@@ -167,6 +188,8 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
tmpMap.put(_Fields.WORKFLOW_OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("workflowOutputs", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.OutputDataObjectType.class))));
+ tmpMap.put(_Fields.CREATION_TIME, new org.apache.thrift.meta_data.FieldMetaData("creationTime", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(WorkflowModel.class, metaDataMap);
}
@@ -179,18 +202,23 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
public WorkflowModel(
String templateId,
String name,
- String graph)
+ String graph,
+ String gatewayId,
+ String createdUser)
{
this();
this.templateId = templateId;
this.name = name;
this.graph = graph;
+ this.gatewayId = gatewayId;
+ this.createdUser = createdUser;
}
/**
* Performs a deep copy on <i>other</i>.
*/
public WorkflowModel(WorkflowModel other) {
+ __isset_bitfield = other.__isset_bitfield;
if (other.isSetTemplateId()) {
this.templateId = other.templateId;
}
@@ -200,6 +228,12 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
if (other.isSetGraph()) {
this.graph = other.graph;
}
+ if (other.isSetGatewayId()) {
+ this.gatewayId = other.gatewayId;
+ }
+ if (other.isSetCreatedUser()) {
+ this.createdUser = other.createdUser;
+ }
if (other.isSetImage()) {
this.image = org.apache.thrift.TBaseHelper.copyBinary(other.image);
}
@@ -217,6 +251,7 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
}
this.workflowOutputs = __this__workflowOutputs;
}
+ this.creationTime = other.creationTime;
}
public WorkflowModel deepCopy() {
@@ -229,9 +264,13 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
this.name = null;
this.graph = null;
+ this.gatewayId = null;
+ this.createdUser = null;
this.image = null;
this.workflowInputs = null;
this.workflowOutputs = null;
+ setCreationTimeIsSet(false);
+ this.creationTime = 0;
}
public String getTemplateId() {
@@ -303,6 +342,52 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
}
}
+ public String getGatewayId() {
+ return this.gatewayId;
+ }
+
+ public void setGatewayId(String gatewayId) {
+ this.gatewayId = gatewayId;
+ }
+
+ public void unsetGatewayId() {
+ this.gatewayId = null;
+ }
+
+ /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+ public boolean isSetGatewayId() {
+ return this.gatewayId != null;
+ }
+
+ public void setGatewayIdIsSet(boolean value) {
+ if (!value) {
+ this.gatewayId = null;
+ }
+ }
+
+ public String getCreatedUser() {
+ return this.createdUser;
+ }
+
+ public void setCreatedUser(String createdUser) {
+ this.createdUser = createdUser;
+ }
+
+ public void unsetCreatedUser() {
+ this.createdUser = null;
+ }
+
+ /** Returns true if field createdUser is set (has been assigned a value) and false otherwise */
+ public boolean isSetCreatedUser() {
+ return this.createdUser != null;
+ }
+
+ public void setCreatedUserIsSet(boolean value) {
+ if (!value) {
+ this.createdUser = null;
+ }
+ }
+
public byte[] getImage() {
setImage(org.apache.thrift.TBaseHelper.rightSize(image));
return image == null ? null : image.array();
@@ -411,6 +496,28 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
}
}
+ public long getCreationTime() {
+ return this.creationTime;
+ }
+
+ public void setCreationTime(long creationTime) {
+ this.creationTime = creationTime;
+ setCreationTimeIsSet(true);
+ }
+
+ public void unsetCreationTime() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
+ }
+
+ /** Returns true if field creationTime is set (has been assigned a value) and false otherwise */
+ public boolean isSetCreationTime() {
+ return EncodingUtils.testBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
+ }
+
+ public void setCreationTimeIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
+ }
+
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case TEMPLATE_ID:
@@ -437,6 +544,22 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
}
break;
+ case GATEWAY_ID:
+ if (value == null) {
+ unsetGatewayId();
+ } else {
+ setGatewayId((String)value);
+ }
+ break;
+
+ case CREATED_USER:
+ if (value == null) {
+ unsetCreatedUser();
+ } else {
+ setCreatedUser((String)value);
+ }
+ break;
+
case IMAGE:
if (value == null) {
unsetImage();
@@ -461,6 +584,14 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
}
break;
+ case CREATION_TIME:
+ if (value == null) {
+ unsetCreationTime();
+ } else {
+ setCreationTime((Long)value);
+ }
+ break;
+
}
}
@@ -475,6 +606,12 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
case GRAPH:
return getGraph();
+ case GATEWAY_ID:
+ return getGatewayId();
+
+ case CREATED_USER:
+ return getCreatedUser();
+
case IMAGE:
return getImage();
@@ -484,6 +621,9 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
case WORKFLOW_OUTPUTS:
return getWorkflowOutputs();
+ case CREATION_TIME:
+ return getCreationTime();
+
}
throw new IllegalStateException();
}
@@ -501,12 +641,18 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
return isSetName();
case GRAPH:
return isSetGraph();
+ case GATEWAY_ID:
+ return isSetGatewayId();
+ case CREATED_USER:
+ return isSetCreatedUser();
case IMAGE:
return isSetImage();
case WORKFLOW_INPUTS:
return isSetWorkflowInputs();
case WORKFLOW_OUTPUTS:
return isSetWorkflowOutputs();
+ case CREATION_TIME:
+ return isSetCreationTime();
}
throw new IllegalStateException();
}
@@ -551,6 +697,24 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
return false;
}
+ boolean this_present_gatewayId = true && this.isSetGatewayId();
+ boolean that_present_gatewayId = true && that.isSetGatewayId();
+ if (this_present_gatewayId || that_present_gatewayId) {
+ if (!(this_present_gatewayId && that_present_gatewayId))
+ return false;
+ if (!this.gatewayId.equals(that.gatewayId))
+ return false;
+ }
+
+ boolean this_present_createdUser = true && this.isSetCreatedUser();
+ boolean that_present_createdUser = true && that.isSetCreatedUser();
+ if (this_present_createdUser || that_present_createdUser) {
+ if (!(this_present_createdUser && that_present_createdUser))
+ return false;
+ if (!this.createdUser.equals(that.createdUser))
+ return false;
+ }
+
boolean this_present_image = true && this.isSetImage();
boolean that_present_image = true && that.isSetImage();
if (this_present_image || that_present_image) {
@@ -578,6 +742,15 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
return false;
}
+ boolean this_present_creationTime = true && this.isSetCreationTime();
+ boolean that_present_creationTime = true && that.isSetCreationTime();
+ if (this_present_creationTime || that_present_creationTime) {
+ if (!(this_present_creationTime && that_present_creationTime))
+ return false;
+ if (this.creationTime != that.creationTime)
+ return false;
+ }
+
return true;
}
@@ -600,6 +773,16 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
if (present_graph)
list.add(graph);
+ boolean present_gatewayId = true && (isSetGatewayId());
+ list.add(present_gatewayId);
+ if (present_gatewayId)
+ list.add(gatewayId);
+
+ boolean present_createdUser = true && (isSetCreatedUser());
+ list.add(present_createdUser);
+ if (present_createdUser)
+ list.add(createdUser);
+
boolean present_image = true && (isSetImage());
list.add(present_image);
if (present_image)
@@ -615,6 +798,11 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
if (present_workflowOutputs)
list.add(workflowOutputs);
+ boolean present_creationTime = true && (isSetCreationTime());
+ list.add(present_creationTime);
+ if (present_creationTime)
+ list.add(creationTime);
+
return list.hashCode();
}
@@ -656,6 +844,26 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetGatewayId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetCreatedUser()).compareTo(other.isSetCreatedUser());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetCreatedUser()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.createdUser, other.createdUser);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
lastComparison = Boolean.valueOf(isSetImage()).compareTo(other.isSetImage());
if (lastComparison != 0) {
return lastComparison;
@@ -686,6 +894,16 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetCreationTime()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creationTime, other.creationTime);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
return 0;
}
@@ -729,6 +947,22 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
sb.append(this.graph);
}
first = false;
+ if (!first) sb.append(", ");
+ sb.append("gatewayId:");
+ if (this.gatewayId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.gatewayId);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("createdUser:");
+ if (this.createdUser == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.createdUser);
+ }
+ first = false;
if (isSetImage()) {
if (!first) sb.append(", ");
sb.append("image:");
@@ -759,6 +993,12 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
}
first = false;
}
+ if (isSetCreationTime()) {
+ if (!first) sb.append(", ");
+ sb.append("creationTime:");
+ sb.append(this.creationTime);
+ first = false;
+ }
sb.append(")");
return sb.toString();
}
@@ -777,6 +1017,14 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
throw new org.apache.thrift.protocol.TProtocolException("Required field 'graph' is unset! Struct:" + toString());
}
+ if (!isSetGatewayId()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' is unset! Struct:" + toString());
+ }
+
+ if (!isSetCreatedUser()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'createdUser' is unset! Struct:" + toString());
+ }
+
// check for sub-struct validity
}
@@ -790,6 +1038,8 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
} catch (org.apache.thrift.TException te) {
throw new java.io.IOException(te);
@@ -838,7 +1088,23 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 4: // IMAGE
+ case 4: // GATEWAY_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.gatewayId = iprot.readString();
+ struct.setGatewayIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 5: // CREATED_USER
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.createdUser = iprot.readString();
+ struct.setCreatedUserIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 6: // IMAGE
if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
struct.image = iprot.readBinary();
struct.setImageIsSet(true);
@@ -846,7 +1112,7 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 5: // WORKFLOW_INPUTS
+ case 7: // WORKFLOW_INPUTS
if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
{
org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
@@ -865,7 +1131,7 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 6: // WORKFLOW_OUTPUTS
+ case 8: // WORKFLOW_OUTPUTS
if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
{
org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
@@ -884,6 +1150,14 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 9: // CREATION_TIME
+ if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+ struct.creationTime = iprot.readI64();
+ struct.setCreationTimeIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
@@ -912,6 +1186,16 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
oprot.writeString(struct.graph);
oprot.writeFieldEnd();
}
+ if (struct.gatewayId != null) {
+ oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+ oprot.writeString(struct.gatewayId);
+ oprot.writeFieldEnd();
+ }
+ if (struct.createdUser != null) {
+ oprot.writeFieldBegin(CREATED_USER_FIELD_DESC);
+ oprot.writeString(struct.createdUser);
+ oprot.writeFieldEnd();
+ }
if (struct.image != null) {
if (struct.isSetImage()) {
oprot.writeFieldBegin(IMAGE_FIELD_DESC);
@@ -947,6 +1231,11 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
oprot.writeFieldEnd();
}
}
+ if (struct.isSetCreationTime()) {
+ oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
+ oprot.writeI64(struct.creationTime);
+ oprot.writeFieldEnd();
+ }
oprot.writeFieldStop();
oprot.writeStructEnd();
}
@@ -967,6 +1256,8 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
oprot.writeString(struct.templateId);
oprot.writeString(struct.name);
oprot.writeString(struct.graph);
+ oprot.writeString(struct.gatewayId);
+ oprot.writeString(struct.createdUser);
BitSet optionals = new BitSet();
if (struct.isSetImage()) {
optionals.set(0);
@@ -977,7 +1268,10 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
if (struct.isSetWorkflowOutputs()) {
optionals.set(2);
}
- oprot.writeBitSet(optionals, 3);
+ if (struct.isSetCreationTime()) {
+ optionals.set(3);
+ }
+ oprot.writeBitSet(optionals, 4);
if (struct.isSetImage()) {
oprot.writeBinary(struct.image);
}
@@ -999,6 +1293,9 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
}
}
}
+ if (struct.isSetCreationTime()) {
+ oprot.writeI64(struct.creationTime);
+ }
}
@Override
@@ -1010,7 +1307,11 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
struct.setNameIsSet(true);
struct.graph = iprot.readString();
struct.setGraphIsSet(true);
- BitSet incoming = iprot.readBitSet(3);
+ struct.gatewayId = iprot.readString();
+ struct.setGatewayIdIsSet(true);
+ struct.createdUser = iprot.readString();
+ struct.setCreatedUserIsSet(true);
+ BitSet incoming = iprot.readBitSet(4);
if (incoming.get(0)) {
struct.image = iprot.readBinary();
struct.setImageIsSet(true);
@@ -1043,6 +1344,10 @@ public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, Wor
}
struct.setWorkflowOutputsIsSet(true);
}
+ if (incoming.get(3)) {
+ struct.creationTime = iprot.readI64();
+ struct.setCreationTimeIsSet(true);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
index 73734fb..3bbf0e2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class WorkflowStatus implements org.apache.thrift.TBase<WorkflowStatus, WorkflowStatus._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowStatus> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowStatus");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index afc2676..4f90002 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
* assigns to the environment variable "NAME" the value
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ApplicationDeploymentDescription implements org.apache.thrift.TBase<ApplicationDeploymentDescription, ApplicationDeploymentDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationDeploymentDescription> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationDeploymentDescription");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
index ee692aa..225d9f6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
* Descriprion of the Module
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ApplicationModule implements org.apache.thrift.TBase<ApplicationModule, ApplicationModule._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationModule> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationModule");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
index 83a84d2..f084438 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* commandOrder:
* Order of the command in the multiple command situation
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class CommandObject implements org.apache.thrift.TBase<CommandObject, CommandObject._Fields>, java.io.Serializable, Cloneable, Comparable<CommandObject> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CommandObject");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
index bcb07f2..54df732 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
@@ -63,7 +63,7 @@ import org.slf4j.LoggerFactory;
* envPathOrder:
* The order of the setting of the env variables when there are multiple env variables
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class SetEnvPaths implements org.apache.thrift.TBase<SetEnvPaths, SetEnvPaths._Fields>, java.io.Serializable, Cloneable, Comparable<SetEnvPaths> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SetEnvPaths");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
index 55d01e9..d04730d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
* Outputs generated from the application
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ApplicationInterfaceDescription implements org.apache.thrift.TBase<ApplicationInterfaceDescription, ApplicationInterfaceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationInterfaceDescription> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationInterfaceDescription");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index 67c7e8c..25a4b80 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
* maxRunTime:
* Maximum allowed run time in hours.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueue._Fields>, java.io.Serializable, Cloneable, Comparable<BatchQueue> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchQueue");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
index 41dc771..f5882f0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmission, CloudJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<CloudJobSubmission> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloudJobSubmission");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index 59e1aa7..646a3b0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -80,7 +80,7 @@ import org.slf4j.LoggerFactory;
* Map of file systems type and the path.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ComputeResourceDescription implements org.apache.thrift.TBase<ComputeResourceDescription, ComputeResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourceDescription> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourceDescription");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
index f2d5373..2770672 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class GlobusJobSubmission implements org.apache.thrift.TBase<GlobusJobSubmission, GlobusJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<GlobusJobSubmission> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GlobusJobSubmission");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
index 8f5223d..10b3e39 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
* Lower the numerical number, higher the priority
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class JobSubmissionInterface implements org.apache.thrift.TBase<JobSubmissionInterface, JobSubmissionInterface._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionInterface> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionInterface");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
index dc668bf..59a0772 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* sshPort:
* If a non-default port needs to used, specify it.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class LOCALSubmission implements org.apache.thrift.TBase<LOCALSubmission, LOCALSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALSubmission> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALSubmission");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
index 4c4625c..6308423 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
* An enumeration of commonly used manager commands.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ResourceJobManager implements org.apache.thrift.TBase<ResourceJobManager, ResourceJobManager._Fields>, java.io.Serializable, Cloneable, Comparable<ResourceJobManager> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ResourceJobManager");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
index 9bc872b..ebb50b1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
* the same. Example: *@*.example.com or *@example.com
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class SSHJobSubmission implements org.apache.thrift.TBase<SSHJobSubmission, SSHJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<SSHJobSubmission> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHJobSubmission");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
index 3f46339..845d5bd 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
@@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory;
* authenticationMode
* The authenticationMode defines the way certificate is fetched.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class UnicoreJobSubmission implements org.apache.thrift.TBase<UnicoreJobSubmission, UnicoreJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreJobSubmission> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreJobSubmission");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
index ecd7e92..8f491e5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
@@ -85,7 +85,7 @@ import org.slf4j.LoggerFactory;
* default credential store.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ComputeResourcePreference implements org.apache.thrift.TBase<ComputeResourcePreference, ComputeResourcePreference._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourcePreference> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourcePreference");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
index 30618bf..50afe23 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
* List of resource preferences for each of the registered compute resources.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class GatewayResourceProfile implements org.apache.thrift.TBase<GatewayResourceProfile, GatewayResourceProfile._Fields>, java.io.Serializable, Cloneable, Comparable<GatewayResourceProfile> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GatewayResourceProfile");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
index ecf9a19..a45eade 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class StoragePreference implements org.apache.thrift.TBase<StoragePreference, StoragePreference._Fields>, java.io.Serializable, Cloneable, Comparable<StoragePreference> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StoragePreference");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
index a9cff44..c35418e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class StorageResourceDescription implements org.apache.thrift.TBase<StorageResourceDescription, StorageResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<StorageResourceDescription> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StorageResourceDescription");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
index 48cdfa9..aa6c336 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
* Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObjectType, InputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<InputDataObjectType> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InputDataObjectType");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
index ecf9c81..b8aadc9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
* Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataObjectType, OutputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<OutputDataObjectType> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputDataObjectType");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
index 53a1033..5256129 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ErrorModel implements org.apache.thrift.TBase<ErrorModel, ErrorModel._Fields>, java.io.Serializable, Cloneable, Comparable<ErrorModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ErrorModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
index d15c4f6..bcc5409 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
index 04af60a..70a9300 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
* during the experiment launch operation
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
index a5bd0e1..7c292ff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
* Lower the numerical number, higher the priority
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class DataMovementInterface implements org.apache.thrift.TBase<DataMovementInterface, DataMovementInterface._Fields>, java.io.Serializable, Cloneable, Comparable<DataMovementInterface> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataMovementInterface");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
index 33db137..8186dd4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* sshPort:
* If a non-default port needs to used, specify it.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class GridFTPDataMovement implements org.apache.thrift.TBase<GridFTPDataMovement, GridFTPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<GridFTPDataMovement> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GridFTPDataMovement");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
index 4a17491..996adcd 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* sshPort:
* If a non-defualt port needs to used, specify it.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class LOCALDataMovement implements org.apache.thrift.TBase<LOCALDataMovement, LOCALDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALDataMovement> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALDataMovement");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
index c7f19e0..f26fc17 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
* sshPort:
* If a non-default port needs to used, specify it.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class SCPDataMovement implements org.apache.thrift.TBase<SCPDataMovement, SCPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<SCPDataMovement> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SCPDataMovement");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
index 9df1652..72a90ff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
* unicoreEndPointURL:
* unicoreGateway End Point. The provider will query this service to fetch required service end points.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class UnicoreDataMovement implements org.apache.thrift.TBase<UnicoreDataMovement, UnicoreDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreDataMovement> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreDataMovement");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
index 9b47ccf..133e785 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataReplicaLocationModel, DataReplicaLocationModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataReplicaLocationModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataReplicaLocationModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
index 99f8a4b..072c6b8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class DataResourceModel implements org.apache.thrift.TBase<DataResourceModel, DataResourceModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataResourceModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataResourceModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
index 6f73429..78a77fe 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
* parameter: If the error applied to a particular input parameter, this will
* indicate which parameter.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class AiravataClientException extends TException implements org.apache.thrift.TBase<AiravataClientException, AiravataClientException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataClientException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataClientException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
index e49da35..234fed7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
* message: This may contain additional information about the error
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class AiravataSystemException extends TException implements org.apache.thrift.TBase<AiravataSystemException, AiravataSystemException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataSystemException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataSystemException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
index b21687a..60aa2eb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
* message: contains the cause of the authorization failure.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class AuthenticationException extends TException implements org.apache.thrift.TBase<AuthenticationException, AuthenticationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthenticationException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthenticationException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
index 4f59bbc..0171222 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
* message: contains the authorization failure message
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class AuthorizationException extends TException implements org.apache.thrift.TBase<AuthorizationException, AuthorizationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthorizationException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthorizationException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
index 2ac05f6..fe4a7db 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
*
* key: The value passed from the client in the identifier, which was not found.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ExperimentNotFoundException extends TException implements org.apache.thrift.TBase<ExperimentNotFoundException, ExperimentNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentNotFoundException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentNotFoundException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
index b627edc..93e1ddb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
*
* message: contains the associated error message.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class InvalidRequestException extends TException implements org.apache.thrift.TBase<InvalidRequestException, InvalidRequestException._Fields>, java.io.Serializable, Cloneable, Comparable<InvalidRequestException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidRequestException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
index 9ae7684..261b25e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class LaunchValidationException extends TException implements org.apache.thrift.TBase<LaunchValidationException, LaunchValidationException._Fields>, java.io.Serializable, Cloneable, Comparable<LaunchValidationException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LaunchValidationException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
index ca66bcf..6f20575 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
* 2: optional string key
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ProjectNotFoundException extends TException implements org.apache.thrift.TBase<ProjectNotFoundException, ProjectNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ProjectNotFoundException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProjectNotFoundException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
index 825d84b..4fe78c7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
/**
* This exception is thrown when RPC timeout gets exceeded.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class TimedOutException extends TException implements org.apache.thrift.TBase<TimedOutException, TimedOutException._Fields>, java.io.Serializable, Cloneable, Comparable<TimedOutException> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TimedOutException");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
index 87f946c..52c26e9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
index 2316664..be375ff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
index 41e3dd0..4de630b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
* experimentDescription:
* The verbose description of the experiment. This is an optional parameter.
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel, ExperimentModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentModel> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentModel");
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
index 959863c..ffca7a4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class ExperimentStatistics implements org.apache.thrift.TBase<ExperimentStatistics, ExperimentStatistics._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatistics> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatistics");
[22/50] [abbrv] airavata git commit: Added generated thrift file
Posted by ch...@apache.org.
Added generated thrift file
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/494e0d73
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/494e0d73
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/494e0d73
Branch: refs/heads/master
Commit: 494e0d735a7531894f04f9d01b3602357a05c7c6
Parents: 09be4d9
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Feb 1 12:49:30 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Feb 1 12:49:30 2016 -0500
----------------------------------------------------------------------
.../org/apache/airavata/model/NodeModel.java | 240 +++++++++++++++++--
1 file changed, 226 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/494e0d73/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
index 4ff69b1..e01c8d2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
@@ -57,8 +57,10 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
private static final org.apache.thrift.protocol.TField NODE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeId", org.apache.thrift.protocol.TType.STRING, (short)1);
private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
- private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRUCT, (short)3);
- private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)4);
+ private static final org.apache.thrift.protocol.TField APPLICATION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationId", org.apache.thrift.protocol.TType.STRING, (short)3);
+ private static final org.apache.thrift.protocol.TField APPLICATION_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationName", org.apache.thrift.protocol.TType.STRING, (short)4);
+ private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRUCT, (short)5);
+ private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)6);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -68,6 +70,8 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
private String nodeId; // required
private String name; // optional
+ private String applicationId; // optional
+ private String applicationName; // optional
private ComponentStatus status; // optional
private String description; // optional
@@ -75,8 +79,10 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
NODE_ID((short)1, "nodeId"),
NAME((short)2, "name"),
- STATUS((short)3, "status"),
- DESCRIPTION((short)4, "description");
+ APPLICATION_ID((short)3, "applicationId"),
+ APPLICATION_NAME((short)4, "applicationName"),
+ STATUS((short)5, "status"),
+ DESCRIPTION((short)6, "description");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -95,9 +101,13 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
return NODE_ID;
case 2: // NAME
return NAME;
- case 3: // STATUS
+ case 3: // APPLICATION_ID
+ return APPLICATION_ID;
+ case 4: // APPLICATION_NAME
+ return APPLICATION_NAME;
+ case 5: // STATUS
return STATUS;
- case 4: // DESCRIPTION
+ case 6: // DESCRIPTION
return DESCRIPTION;
default:
return null;
@@ -139,7 +149,7 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
}
// isset id assignments
- private static final _Fields optionals[] = {_Fields.NAME,_Fields.STATUS,_Fields.DESCRIPTION};
+ private static final _Fields optionals[] = {_Fields.NAME,_Fields.APPLICATION_ID,_Fields.APPLICATION_NAME,_Fields.STATUS,_Fields.DESCRIPTION};
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -147,6 +157,10 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.APPLICATION_ID, new org.apache.thrift.meta_data.FieldMetaData("applicationId", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.APPLICATION_NAME, new org.apache.thrift.meta_data.FieldMetaData("applicationName", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComponentStatus.class)));
tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL,
@@ -177,6 +191,12 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
if (other.isSetName()) {
this.name = other.name;
}
+ if (other.isSetApplicationId()) {
+ this.applicationId = other.applicationId;
+ }
+ if (other.isSetApplicationName()) {
+ this.applicationName = other.applicationName;
+ }
if (other.isSetStatus()) {
this.status = new ComponentStatus(other.status);
}
@@ -194,6 +214,8 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
this.nodeId = "DO_NOT_SET_AT_CLIENTS";
this.name = null;
+ this.applicationId = null;
+ this.applicationName = null;
this.status = null;
this.description = null;
}
@@ -244,6 +266,52 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
}
}
+ public String getApplicationId() {
+ return this.applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
+ public void unsetApplicationId() {
+ this.applicationId = null;
+ }
+
+ /** Returns true if field applicationId is set (has been assigned a value) and false otherwise */
+ public boolean isSetApplicationId() {
+ return this.applicationId != null;
+ }
+
+ public void setApplicationIdIsSet(boolean value) {
+ if (!value) {
+ this.applicationId = null;
+ }
+ }
+
+ public String getApplicationName() {
+ return this.applicationName;
+ }
+
+ public void setApplicationName(String applicationName) {
+ this.applicationName = applicationName;
+ }
+
+ public void unsetApplicationName() {
+ this.applicationName = null;
+ }
+
+ /** Returns true if field applicationName is set (has been assigned a value) and false otherwise */
+ public boolean isSetApplicationName() {
+ return this.applicationName != null;
+ }
+
+ public void setApplicationNameIsSet(boolean value) {
+ if (!value) {
+ this.applicationName = null;
+ }
+ }
+
public ComponentStatus getStatus() {
return this.status;
}
@@ -308,6 +376,22 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
}
break;
+ case APPLICATION_ID:
+ if (value == null) {
+ unsetApplicationId();
+ } else {
+ setApplicationId((String)value);
+ }
+ break;
+
+ case APPLICATION_NAME:
+ if (value == null) {
+ unsetApplicationName();
+ } else {
+ setApplicationName((String)value);
+ }
+ break;
+
case STATUS:
if (value == null) {
unsetStatus();
@@ -335,6 +419,12 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
case NAME:
return getName();
+ case APPLICATION_ID:
+ return getApplicationId();
+
+ case APPLICATION_NAME:
+ return getApplicationName();
+
case STATUS:
return getStatus();
@@ -356,6 +446,10 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
return isSetNodeId();
case NAME:
return isSetName();
+ case APPLICATION_ID:
+ return isSetApplicationId();
+ case APPLICATION_NAME:
+ return isSetApplicationName();
case STATUS:
return isSetStatus();
case DESCRIPTION:
@@ -395,6 +489,24 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
return false;
}
+ boolean this_present_applicationId = true && this.isSetApplicationId();
+ boolean that_present_applicationId = true && that.isSetApplicationId();
+ if (this_present_applicationId || that_present_applicationId) {
+ if (!(this_present_applicationId && that_present_applicationId))
+ return false;
+ if (!this.applicationId.equals(that.applicationId))
+ return false;
+ }
+
+ boolean this_present_applicationName = true && this.isSetApplicationName();
+ boolean that_present_applicationName = true && that.isSetApplicationName();
+ if (this_present_applicationName || that_present_applicationName) {
+ if (!(this_present_applicationName && that_present_applicationName))
+ return false;
+ if (!this.applicationName.equals(that.applicationName))
+ return false;
+ }
+
boolean this_present_status = true && this.isSetStatus();
boolean that_present_status = true && that.isSetStatus();
if (this_present_status || that_present_status) {
@@ -430,6 +542,16 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
if (present_name)
list.add(name);
+ boolean present_applicationId = true && (isSetApplicationId());
+ list.add(present_applicationId);
+ if (present_applicationId)
+ list.add(applicationId);
+
+ boolean present_applicationName = true && (isSetApplicationName());
+ list.add(present_applicationName);
+ if (present_applicationName)
+ list.add(applicationName);
+
boolean present_status = true && (isSetStatus());
list.add(present_status);
if (present_status)
@@ -471,6 +593,26 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetApplicationId()).compareTo(other.isSetApplicationId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetApplicationId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationId, other.applicationId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetApplicationName()).compareTo(other.isSetApplicationName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetApplicationName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationName, other.applicationName);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
lastComparison = Boolean.valueOf(isSetStatus()).compareTo(other.isSetStatus());
if (lastComparison != 0) {
return lastComparison;
@@ -528,6 +670,26 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
}
first = false;
}
+ if (isSetApplicationId()) {
+ if (!first) sb.append(", ");
+ sb.append("applicationId:");
+ if (this.applicationId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.applicationId);
+ }
+ first = false;
+ }
+ if (isSetApplicationName()) {
+ if (!first) sb.append(", ");
+ sb.append("applicationName:");
+ if (this.applicationName == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.applicationName);
+ }
+ first = false;
+ }
if (isSetStatus()) {
if (!first) sb.append(", ");
sb.append("status:");
@@ -614,7 +776,23 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 3: // STATUS
+ case 3: // APPLICATION_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.applicationId = iprot.readString();
+ struct.setApplicationIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 4: // APPLICATION_NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.applicationName = iprot.readString();
+ struct.setApplicationNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 5: // STATUS
if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
struct.status = new ComponentStatus();
struct.status.read(iprot);
@@ -623,7 +801,7 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 4: // DESCRIPTION
+ case 6: // DESCRIPTION
if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
struct.description = iprot.readString();
struct.setDescriptionIsSet(true);
@@ -656,6 +834,20 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
oprot.writeFieldEnd();
}
}
+ if (struct.applicationId != null) {
+ if (struct.isSetApplicationId()) {
+ oprot.writeFieldBegin(APPLICATION_ID_FIELD_DESC);
+ oprot.writeString(struct.applicationId);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.applicationName != null) {
+ if (struct.isSetApplicationName()) {
+ oprot.writeFieldBegin(APPLICATION_NAME_FIELD_DESC);
+ oprot.writeString(struct.applicationName);
+ oprot.writeFieldEnd();
+ }
+ }
if (struct.status != null) {
if (struct.isSetStatus()) {
oprot.writeFieldBegin(STATUS_FIELD_DESC);
@@ -692,16 +884,28 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
if (struct.isSetName()) {
optionals.set(0);
}
- if (struct.isSetStatus()) {
+ if (struct.isSetApplicationId()) {
optionals.set(1);
}
- if (struct.isSetDescription()) {
+ if (struct.isSetApplicationName()) {
optionals.set(2);
}
- oprot.writeBitSet(optionals, 3);
+ if (struct.isSetStatus()) {
+ optionals.set(3);
+ }
+ if (struct.isSetDescription()) {
+ optionals.set(4);
+ }
+ oprot.writeBitSet(optionals, 5);
if (struct.isSetName()) {
oprot.writeString(struct.name);
}
+ if (struct.isSetApplicationId()) {
+ oprot.writeString(struct.applicationId);
+ }
+ if (struct.isSetApplicationName()) {
+ oprot.writeString(struct.applicationName);
+ }
if (struct.isSetStatus()) {
struct.status.write(oprot);
}
@@ -715,17 +919,25 @@ public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._
TTupleProtocol iprot = (TTupleProtocol) prot;
struct.nodeId = iprot.readString();
struct.setNodeIdIsSet(true);
- BitSet incoming = iprot.readBitSet(3);
+ BitSet incoming = iprot.readBitSet(5);
if (incoming.get(0)) {
struct.name = iprot.readString();
struct.setNameIsSet(true);
}
if (incoming.get(1)) {
+ struct.applicationId = iprot.readString();
+ struct.setApplicationIdIsSet(true);
+ }
+ if (incoming.get(2)) {
+ struct.applicationName = iprot.readString();
+ struct.setApplicationNameIsSet(true);
+ }
+ if (incoming.get(3)) {
struct.status = new ComponentStatus();
struct.status.read(iprot);
struct.setStatusIsSet(true);
}
- if (incoming.get(2)) {
+ if (incoming.get(4)) {
struct.description = iprot.readString();
struct.setDescriptionIsSet(true);
}
[21/50] [abbrv] airavata git commit: Added application name and
applicatoin id to NodeModel struct
Posted by ch...@apache.org.
Added application name and applicatoin id to NodeModel struct
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/09be4d92
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/09be4d92
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/09be4d92
Branch: refs/heads/master
Commit: 09be4d92b579830e8f14d96b11c53b3acd8ae928
Parents: 97f4ba9
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Feb 1 12:48:04 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Feb 1 12:48:04 2016 -0500
----------------------------------------------------------------------
.../workflow/core/dag/nodes/NodeState.java | 44 --------------------
.../workflow-models/workflow_data_model.thrift | 6 ++-
2 files changed, 4 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/09be4d92/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/NodeState.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/NodeState.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/NodeState.java
deleted file mode 100644
index df2c87a..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/dag/nodes/NodeState.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *
- * 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.workflow.core.dag.nodes;
-
-public enum NodeState {
- WAITING(0), // waiting on inputs
- READY(1), // all inputs are available and ready to execute
- QUEUED(2), //
- PRE_PROCESSING(3), //
- EXECUTING(4), // task has been submitted , not yet finish
- EXECUTED(5), // task executed
- POST_PROCESSING(6), //
- FAILED(7),
- COMPLETE(8); // all works done
-
- private int level;
-
- NodeState(int level) {
- this.level = level;
- }
-
- public int getLevel() {
- return level;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/09be4d92/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift b/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
index 7b7922a..62ed885 100644
--- a/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
+++ b/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift
@@ -92,6 +92,8 @@ struct PortModel {
struct NodeModel {
1: required string nodeId= airavata_commons.DEFAULT_ID,
2: optional string name,
- 3: optional ComponentStatus status,
- 4: optional string description
+ 3: optional string applicationId,
+ 4: optional string applicationName,
+ 5: optional ComponentStatus status,
+ 6: optional string description
}
[44/50] [abbrv] airavata git commit: update generated code and fixing
compilation issues
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index de97d8f..cb51ff6 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -182,6 +182,7 @@ class Iface:
def getAllUserSSHPubKeys(self, authzToken, userName):
"""
+
Get a Public Key by Providing the Token
@param CredStoreToken
@@ -202,6 +203,7 @@ class Iface:
def getAllGatewaySSHPubKeys(self, authzToken, gatewayId):
"""
+
Get all Public Keys of the Gateway
@param CredStoreToken
@@ -222,6 +224,7 @@ class Iface:
def deleteSSHPubKey(self, authzToken, airavataCredStoreToken, gatewayId):
"""
+
Delete a Gateway
@param gatewayId
@@ -241,6 +244,7 @@ class Iface:
def createProject(self, authzToken, gatewayId, project):
"""
+
Creates a Project with basic metadata.
A Project is a container of experiments.
@@ -248,7 +252,7 @@ class Iface:
The identifier for the requested gateway.
@param Project
- The Project Object described in the workspace_model
+ The Project Object described in the workspace_model.
@@ -261,6 +265,7 @@ class Iface:
def updateProject(self, authzToken, projectId, updatedProject):
"""
+
Update an Existing Project
@param projectId
@@ -280,14 +285,15 @@ class Iface:
def getProject(self, authzToken, projectId):
"""
+
Get a Project by ID
- This method is to obtain a project by providing a projectId
+ This method is to obtain a project by providing a projectId.
@param projectId
- projectId of the project you require
+ projectId of the project you require.
@return project
- project data model will be returned
+ project data model will be returned.
@@ -299,15 +305,18 @@ class Iface:
def deleteProject(self, authzToken, projectId):
"""
+
Delete a Project
- This method is used to delete an existing Project
+ This method is used to delete an existing Project.
@param projectId
- projectId of the project you want to delete
+ projectId of the project you want to delete.
@return boolean
Boolean identifier for the success or failure of the deletion operation.
+ NOTE: This method is not used within gateways connected with Airavata.
+
Parameters:
@@ -318,20 +327,21 @@ class Iface:
def getUserProjects(self, authzToken, gatewayId, userName, limit, offset):
"""
- Get all Project by user with pagination. Results will be ordered based
- on creation time DESC
+
+ Get All User Projects
+ Get all Project for the user with pagination. Results will be ordered based on creation time DESC.
@param gatewayId
The identifier for the requested gateway.
@param userName
- The identifier of the user
+ The identifier of the user.
@param limit
- The amount results to be fetched
+ The amount results to be fetched.
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
@@ -346,19 +356,25 @@ class Iface:
def searchProjectsByProjectName(self, authzToken, gatewayId, userName, projectName, limit, offset):
"""
- Get all Project for user by project name with pagination.Results will be ordered based
- on creation time DESC
+
+ Search User Projects by Project Name
+ Get all Project for user by project name with pagination.Results will be ordered based on creation time DESC.
@param gatewayId
- The identifier for the requested gateway.
+ The unique identifier for the requested gateway.
+
@param userName
- The identifier of the user
+ The identifier of the user.
+
@param projectName
- The name of the project on which the results to be fetched
+ The name of the project on which the results to be fetched.
+
@param limit
- The amount results to be fetched
+ The amount results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -373,19 +389,25 @@ class Iface:
def searchProjectsByProjectDesc(self, authzToken, gatewayId, userName, description, limit, offset):
"""
- Search and get all Projects for user by project description with pagination. Results
- will be ordered based on creation time DESC
+
+ Search User Projects by Project Description
+ Search and get all Projects for user by project description with pagination. Results will be ordered based on creation time DESC.
@param gatewayId
- The identifier for the requested gateway.
+ The unique identifier of the gateway making the request.
+
@param userName
- The identifier of the user
+ The identifier of the user.
+
@param description
- The description to be matched
+ The description to be matched.
+
@param limit
- The amount results to be fetched
+ The amount results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -400,19 +422,25 @@ class Iface:
def searchExperimentsByName(self, authzToken, gatewayId, userName, expName, limit, offset):
"""
- Search Experiments by experiment name with pagination. Results will be sorted
- based on creation time DESC
+
+ Search User Experiments by Name
+ Search user Experiments using experiment name with pagination. Results will be sorted based on creation time DESC.
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the user who created the experiments.
+
@param expName
- Experiment name to be matched
+ Experiment name to be matched.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -427,19 +455,25 @@ class Iface:
def searchExperimentsByDesc(self, authzToken, gatewayId, userName, description, limit, offset):
"""
- Search Experiments by experiment name with pagination. Results will be sorted
- based on creation time DESC
+
+ Search By Experiment Description
+ Search Experiments by experiment description with pagination. Results will be sorted based on creation time DESC.
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the requested user.
+
@param description
- Experiment description to be matched
+ Experiment description to be matched.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -454,19 +488,25 @@ class Iface:
def searchExperimentsByApplication(self, authzToken, gatewayId, userName, applicationId, limit, offset):
"""
- Search Experiments by application id with pagination. Results will be sorted
- based on creation time DESC
+
+ Search Experiment By the Application
+ Search Experiments of a particular application id with pagination. Results will be sorted based on creation time DESC
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the requested user.
+
@param applicationId
- Application id to be matched
+ Application id to be matched.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -481,19 +521,25 @@ class Iface:
def searchExperimentsByStatus(self, authzToken, gatewayId, userName, experimentState, limit, offset):
"""
- Search Experiments by experiment status with pagination. Results will be sorted
- based on creation time DESC
+
+ Search User Experiments by Status
+ Search all the Experiments of the given user by experiment status with pagination. Results will be sorted based on creation time DESC
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the user making the request.
+
@param experimentState
- Experiement state to be matched
+ Experiement state to be matched.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -508,21 +554,31 @@ class Iface:
def searchExperimentsByCreationTime(self, authzToken, gatewayId, userName, fromTime, toTime, limit, offset):
"""
- Search Experiments by experiment creation time with pagination. Results will be sorted
- based on creation time DESC
+
+ Search User Experiments by the Creation Time
+ This will search all the experiments of the given user by experiment creation time with pagination. Results will be sorted based on creation time DESC.
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the requested user.
+
@param fromTime
- Start time of the experiments creation time
+ Start time of the experiments creation time.
+
@param toTime
- End time of the experiement creation time
+ End time of the experiement creation time.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
+ @return ExperimentSummaryModel
+ List of experiments for the given search filter. Here only the Experiment summary will be returned.
+
Parameters:
@@ -538,19 +594,27 @@ class Iface:
def searchExperiments(self, authzToken, gatewayId, userName, filters, limit, offset):
"""
- Search Experiments by using multiple filter criteria with pagination. Results will be sorted
- based on creation time DESC
+ Search Experiments.
+ Search Experiments by using multiple filter criteria with pagination. Results will be sorted based on creation time DESC.
@param gatewayId
- Identifier of the requested gateway
+ Identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the user requesting the search function.
+
@param filters
- map of multiple filter criteria.
+ Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
+ @return ExperimentSummaryModel
+ List of experiments for the given search filter. Here only the Experiment summary will be returned.
+
Parameters:
@@ -565,13 +629,19 @@ class Iface:
def getExperimentStatistics(self, authzToken, gatewayId, fromTime, toTime):
"""
- Get Experiment Statisitics for the given gateway for a specific time period
+
+ Get Experiment Statistics
+ Get Experiment Statisitics for a given gateway for a specific time period. This feature is available only for admins of a particular gateway. Gateway admin access is managed by the user roles.
+
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the gateway making the request to fetch statistics.
+
@param fromTime
- Starting date time
+ Starting date time.
+
@param toTime
- Ending data time
+ Ending data time.
+
Parameters:
@@ -584,15 +654,19 @@ class Iface:
def getExperimentsInProject(self, authzToken, projectId, limit, offset):
"""
- Get Experiments within project with pagination. Results will be sorted
- based on creation time DESC
+
+ Get All Experiments of the Project
+ Get Experiments within project with pagination. Results will be sorted based on creation time DESC.
@param projectId
- Identifier of the project
+ Uniqie identifier of the project.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -605,17 +679,22 @@ class Iface:
def getUserExperiments(self, authzToken, gatewayId, userName, limit, offset):
"""
- Get experiments by user with pagination. Results will be sorted
- based on creation time DESC
+
+ Get All Experiments of the User
+ Get experiments by user with pagination. Results will be sorted based on creation time DESC.
@param gatewayId
- Identifier of the requesting gateway
+ Identifier of the requesting gateway.
+
@param userName
- Username of the requested user
+ Username of the requested end user.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -629,12 +708,17 @@ class Iface:
def createExperiment(self, authzToken, gatewayId, experiment):
"""
+ *
+ * Create New Experiment
* Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
* but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client
* has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
* registering the experiment in a persistent store.
*
- * @param basicExperimentMetadata
+ * @param gatewayId
+ * The unique ID of the gateway where the experiment is been created.
+ *
+ * @param ExperimentModel
* The create experiment will require the basic experiment metadata like the name and description, intended user,
* the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
* the ExperimentMetadata is a required field.
@@ -673,8 +757,8 @@ class Iface:
def deleteExperiment(self, authzToken, experimentId):
"""
- Delete an Experiment
+ Delete an Experiment
If the experiment is not already launched experiment can be deleted.
@param authzToken
@@ -683,7 +767,7 @@ class Iface:
Experiment ID of the experimnet you want to delete.
@return boolean
- Identifier for the success or failure of the deletion operation
+ Identifier for the success or failure of the deletion operation.
@@ -695,12 +779,14 @@ class Iface:
def getExperiment(self, authzToken, airavataExperimentId):
"""
+ *
+ * Get Experiment
* Fetch previously created experiment metadata.
*
* @param airavataExperimentId
- * The identifier for the requested experiment. This is returned during the create experiment step.
+ * The unique identifier of the requested experiment. This ID is returned during the create experiment step.
*
- * @return experimentMetada
+ * @return ExperimentModel
* This method will return the previously stored experiment metadata.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
@@ -736,14 +822,17 @@ class Iface:
def getDetailedExperimentTree(self, authzToken, airavataExperimentId):
"""
+
+ Get Complete Experiment Details
Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
tasks -> jobs information.
@param airavataExperimentId
The identifier for the requested experiment. This is returned during the create experiment step.
- @return experimentMetada
- This method will return the previously stored experiment metadata.
+ @return ExperimentModel
+ This method will return the previously stored experiment metadata including application input parameters, computational resource scheduling
+ information, special input output handling and additional quality of service parameters.
@throws org.apache.airavata.model.error.InvalidRequestException
For any incorrect forming of the request itself.
@@ -777,14 +866,15 @@ class Iface:
def updateExperiment(self, authzToken, airavataExperimentId, experiment):
"""
- Configure a previously created experiment with required inputs, scheduling and other quality of service
- parameters. This method only updates the experiment object within the registry. The experiment has to be launched
- to make it actionable by the server.
+
+ Update a Previously Created Experiment
+ Configure the CREATED experiment with required inputs, scheduling and other quality of service parameters. This method only updates the experiment object within the registry.
+ The experiment has to be launched to make it actionable by the server.
@param airavataExperimentId
The identifier for the requested experiment. This is returned during the create experiment step.
- @param experimentConfigurationData
+ @param ExperimentModel
The configuration information of the experiment with application input parameters, computational resource scheduling
information, special input output handling and additional quality of service parameters.
@@ -843,13 +933,14 @@ class Iface:
def validateExperiment(self, authzToken, airavataExperimentId):
"""
*
- * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
- *
- * @param experimentId
+ * Validate experiment configuration.
+ * A true in general indicates, the experiment is ready to be launched.
*
+ * @param airavataExperimentId
+ * Unique identifier of the experiment (Experimnent ID) of the experiment which need to be validated.
*
* @return boolean
- * Identifier for the success or failure of the validation operation
+ * Identifier for the success or failure of the validation operation.
*
*
@@ -861,8 +952,12 @@ class Iface:
def launchExperiment(self, authzToken, airavataExperimentId, gatewayId):
"""
- Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
- notifications and intermediate and output data will be subsequently available for this experiment.
+
+ Launch a Previously Created & Configured Experiment.
+ Airavata Server will then start processing the request and appropriate notifications and intermediate and output data will be subsequently available for this experiment.
+
+ @gatewayId
+ ID of the gateway which will launch the experiment.
@param airavataExperimentId
The identifier for the requested experiment. This is returned during the create experiment step.
@@ -903,17 +998,18 @@ class Iface:
def getExperimentStatus(self, authzToken, airavataExperimentId):
"""
+
Get Experiment Status
- Obtain the status os an experiment by providing the Experiment Id
+ Obtain the status of an experiment by providing the Experiment Id
@param authzToken
- @param experiementId
- Experiment ID of the experimnet you require the status
+ @param airavataExperimentId
+ Experiment ID of the experimnet you require the status.
@return ExperimentStatus
- ExperimentStatus model with current status will be returned.
+ ExperimentStatus model with the current status will be returned.
@@ -925,16 +1021,17 @@ class Iface:
def getExperimentOutputs(self, authzToken, airavataExperimentId):
"""
+
Get Experiment Outputs
- This method to be used when need to obtain outputs of a certain Experiment
+ This method to be used when need to obtain final outputs of a certain Experiment
@param authzToken
- @param experiementId
- Experiment ID of the experimnet you need the outputs
+ @param airavataExperimentId
+ Experiment ID of the experimnet you need the outputs.
@return list
- List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
@@ -946,16 +1043,17 @@ class Iface:
def getIntermediateOutputs(self, authzToken, airavataExperimentId):
"""
+
Get Intermediate Experiment Outputs
This method to be used when need to obtain intermediate outputs of a certain Experiment
@param authzToken
- @param experiementId
- Experiment ID of the experimnet you need the intermediate outputs
+ @param airavataExperimentId
+ Experiment ID of the experimnet you need intermediate outputs.
@return list
- List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
@@ -967,13 +1065,14 @@ class Iface:
def getJobStatuses(self, authzToken, airavataExperimentId):
"""
- Get Job Status for an Experiment
+
+ Get Job Statuses for an Experiment
This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
@param authzToken
@param experiementId
- Experiment ID of the experimnet you need the intermediate outputs
+ Experiment ID of the experimnet you need the job statuses.
@return JobStatus
Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map
@@ -988,16 +1087,17 @@ class Iface:
def getJobDetails(self, authzToken, airavataExperimentId):
"""
- Get Job Details for all the jobs within an Experiment
+
+ Get Job Details for all the jobs within an Experiment.
This method to be used when need to get the job details for one or many jobs of an Experiment.
@param authzToken
@param experiementId
- Experiment ID of the experimnet you need job details
+ Experiment ID of the experimnet you need job details.
@return list of JobDetails
- Job details
+ Job details.
@@ -1009,7 +1109,9 @@ class Iface:
def cloneExperiment(self, authzToken, existingExperimentID, newExperimentName):
"""
- Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+
+ Clone an Existing Experiment
+ Existing specified experiment is cloned and a new name is provided. A copy of the experiment configuration is made and is persisted with new metadata.
The client has to subsequently update this configuration if needed and launch the cloned experiment.
@param newExperimentName
@@ -1021,7 +1123,7 @@ class Iface:
should be shared public by default.
@return
- The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+ The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
@throws org.apache.airavata.model.error.InvalidRequestException
For any incorrect forming of the request itself.
@@ -1056,12 +1158,16 @@ class Iface:
def terminateExperiment(self, authzToken, airavataExperimentId, gatewayId):
"""
- Terminate a running experiment.
+
+ Terminate a running Experiment.
+
+ @gatewayId
+ ID of the gateway which will terminate the running Experiment.
@param airavataExperimentId
- The identifier for the requested experiment. This is returned during the create experiment step.
+ The identifier of the experiment required termination. This ID is returned during the create experiment step.
- @return
+ @return status
This method call does not have a return value.
@throws org.apache.airavata.model.error.InvalidRequestException
@@ -1097,13 +1203,17 @@ class Iface:
def registerApplicationModule(self, authzToken, gatewayId, applicationModule):
"""
+
Register a Application Module.
+ @gatewayId
+ ID of the gateway which is registering the new Application Module.
+
@param applicationModule
Application Module Object created from the datamodel.
@return appModuleId
- Returns a server-side generated airavata appModule globally unique identifier.
+ Returns the server-side generated airavata appModule globally unique identifier.
Parameters:
@@ -1115,13 +1225,14 @@ class Iface:
def getApplicationModule(self, authzToken, appModuleId):
"""
+
Fetch a Application Module.
@param appModuleId
- The identifier for the requested application module
+ The unique identifier of the application module required
@return applicationModule
- Returns a application Module Object.
+ Returns an Application Module Object.
Parameters:
@@ -1132,6 +1243,7 @@ class Iface:
def updateApplicationModule(self, authzToken, appModuleId, applicationModule):
"""
+
Update a Application Module.
@param appModuleId
@@ -1153,6 +1265,16 @@ class Iface:
def getAllAppModules(self, authzToken, gatewayId):
"""
+
+ Fetch all Application Module Descriptions.
+
+ @param gatewayId
+ ID of the gateway which need to list all available application deployment documentation.
+
+ @return list
+ Returns the list of all Application Module Objects.
+
+
Parameters:
- authzToken
- gatewayId
@@ -1161,10 +1283,11 @@ class Iface:
def deleteApplicationModule(self, authzToken, appModuleId):
"""
- Delete a Application Module.
+
+ Delete an Application Module.
@param appModuleId
- The identifier for the requested application module to be deleted.
+ The identifier of the Application Module to be deleted.
@return status
Returns a success/failure of the deletion.
@@ -1178,9 +1301,13 @@ class Iface:
def registerApplicationDeployment(self, authzToken, gatewayId, applicationDeployment):
"""
- Register a Application Deployment.
- @param applicationModule
+ Register an Application Deployment.
+
+ @param gatewayId
+ ID of the gateway which is registering the new Application Deployment.
+
+ @param applicationDeployment
Application Module Object created from the datamodel.
@return appDeploymentId
@@ -1196,6 +1323,7 @@ class Iface:
def getApplicationDeployment(self, authzToken, appDeploymentId):
"""
+
Fetch a Application Deployment.
@param appDeploymentId
@@ -1213,10 +1341,11 @@ class Iface:
def updateApplicationDeployment(self, authzToken, appDeploymentId, applicationDeployment):
"""
- Update a Application Deployment.
+
+ Update an Application Deployment.
@param appDeploymentId
- The identifier for the requested application deployment to be updated.
+ The identifier of the requested application deployment to be updated.
@param appDeployment
Application Deployment Object created from the datamodel.
@@ -1234,10 +1363,11 @@ class Iface:
def deleteApplicationDeployment(self, authzToken, appDeploymentId):
"""
- Delete a Application deployment.
+
+ Delete an Application Deployment.
@param appDeploymentId
- The identifier for the requested application deployment to be deleted.
+ The unique identifier of application deployment to be deleted.
@return status
Returns a success/failure of the deletion.
@@ -1251,10 +1381,14 @@ class Iface:
def getAllApplicationDeployments(self, authzToken, gatewayId):
"""
+
Fetch all Application Deployment Descriptions.
+ @param gatewayId
+ ID of the gateway which need to list all available application deployment documentation.
+
@return list<applicationDeployment.
- Returns the list of all application Deployment Objects.
+ Returns the list of all application Deployment Objects.
Parameters:
@@ -1282,9 +1416,10 @@ class Iface:
def registerApplicationInterface(self, authzToken, gatewayId, applicationInterface):
"""
+
Register a Application Interface.
- @param applicationModule
+ @param applicationInterface
Application Module Object created from the datamodel.
@return appInterfaceId
@@ -1300,6 +1435,22 @@ class Iface:
def cloneApplicationInterface(self, authzToken, existingAppInterfaceID, newApplicationName, gatewayId):
"""
+
+ Clone an Application Interface.
+
+ @gatewayId
+ The identifier for the gateway profile to be requested
+
+ @param existingAppInterfaceID
+ Identifier of the existing Application interface you wich to clone.
+
+ @param newApplicationName
+ Name for the new application interface.
+
+ @return appInterfaceId
+ Returns a server-side generated globally unique identifier for the newly cloned application interface.
+
+
Parameters:
- authzToken
- existingAppInterfaceID
@@ -1310,14 +1461,14 @@ class Iface:
def getApplicationInterface(self, authzToken, appInterfaceId):
"""
- Fetch a Application Interface.
+
+ Fetch an Application Interface.
@param appInterfaceId
- The identifier for the requested application module
+ The identifier for the requested application interface.
@return applicationInterface
- Returns a application Interface Object.
-
+ Returns an application Interface Object.
Parameters:
@@ -1328,10 +1479,11 @@ class Iface:
def updateApplicationInterface(self, authzToken, appInterfaceId, applicationInterface):
"""
+
Update a Application Interface.
@param appInterfaceId
- The identifier for the requested application deployment to be updated.
+ The identifier of the requested application deployment to be updated.
@param appInterface
Application Interface Object created from the datamodel.
@@ -1340,7 +1492,6 @@ class Iface:
Returns a success/failure of the update.
-
Parameters:
- authzToken
- appInterfaceId
@@ -1350,7 +1501,8 @@ class Iface:
def deleteApplicationInterface(self, authzToken, appInterfaceId):
"""
- Delete a Application Interface.
+
+ Delete an Application Interface.
@param appInterfaceId
The identifier for the requested application interface to be deleted.
@@ -1359,7 +1511,6 @@ class Iface:
Returns a success/failure of the deletion.
-
Parameters:
- authzToken
- appInterfaceId
@@ -1368,11 +1519,12 @@ class Iface:
def getAllApplicationInterfaceNames(self, authzToken, gatewayId):
"""
- Fetch name and id of Application Interface documents.
+
+ Fetch name and ID of Application Interface documents.
@return map<applicationId, applicationInterfaceNames>
- Returns a list of application interfaces with corresponsing id's
+ Returns a list of application interfaces with corresponsing ID's
Parameters:
@@ -1383,11 +1535,12 @@ class Iface:
def getAllApplicationInterfaces(self, authzToken, gatewayId):
"""
+
Fetch all Application Interface documents.
@return map<applicationId, applicationInterfaceNames>
- Returns a list of application interfaces documents
+ Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).
Parameters:
@@ -1398,10 +1551,11 @@ class Iface:
def getApplicationInputs(self, authzToken, appInterfaceId):
"""
+
Fetch the list of Application Inputs.
@param appInterfaceId
- The identifier for the requested application interface
+ The identifier of the application interface which need inputs to be fetched.
@return list<application_interface_model.InputDataObjectType>
Returns a list of application inputs.
@@ -1415,10 +1569,11 @@ class Iface:
def getApplicationOutputs(self, authzToken, appInterfaceId):
"""
- Fetch the list of Application Outputs.
+
+ Fetch list of Application Outputs.
@param appInterfaceId
- The identifier for the requested application interface
+ The identifier of the application interface which need outputs to be fetched.
@return list<application_interface_model.OutputDataObjectType>
Returns a list of application outputs.
@@ -1432,14 +1587,15 @@ class Iface:
def getAvailableAppInterfaceComputeResources(self, authzToken, appInterfaceId):
"""
+
Fetch a list of all deployed Compute Hosts for a given application interfaces.
@param appInterfaceId
- The identifier for the requested application interface
+ The identifier for the requested application interface.
@return map<computeResourceId, computeResourceName>
A map of registered compute resource id's and their corresponding hostnames.
- Deployments of each modules listed within the interfaces will be listed.
+ Deployments of each modules listed within the interfaces will be listed.
Parameters:
@@ -1484,6 +1640,7 @@ class Iface:
def getAllComputeResourceNames(self, authzToken):
"""
+
Fetch all registered Compute Resources.
@return A map of registered compute resource id's and thier corresponding hostnames.
@@ -1582,7 +1739,7 @@ class Iface:
def updateStorageResource(self, authzToken, storageResourceId, storageResourceDescription):
"""
- Update a Compute Resource.
+ Update a Storage Resource.
@param storageResourceId
The identifier for the requested compute resource to be updated.
@@ -1606,7 +1763,7 @@ class Iface:
Delete a Storage Resource.
@param storageResourceId
- The identifier for the requested compute resource to be deleted.
+ The identifier of the requested compute resource to be deleted.
@return status
Returns a success/failure of the deletion.
@@ -1747,6 +1904,7 @@ class Iface:
def addUNICOREJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, unicoreJobSubmission):
"""
+
Add a UNICORE Job Submission details to a compute resource
App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
@@ -1773,10 +1931,13 @@ class Iface:
def getUnicoreJobSubmission(self, authzToken, jobSubmissionId):
"""
+ *
* This method returns UnicoreJobSubmission object
+ *
* @param jobSubmissionInterfaceId
* The identifier of the JobSubmission Interface to be retrieved.
* @return UnicoreJobSubmission instance
+ *
*
Parameters:
@@ -1787,6 +1948,7 @@ class Iface:
def addCloudJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, cloudSubmission):
"""
+ *
* Add a Cloud Job Submission details to a compute resource
* App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
*
@@ -1801,6 +1963,7 @@ class Iface:
*
* @return status
* Returns the unique job submission id.
+ *
*
Parameters:
@@ -1813,6 +1976,7 @@ class Iface:
def getCloudJobSubmission(self, authzToken, jobSubmissionId):
"""
+ *
* This method returns cloudJobSubmission object
* @param jobSubmissionInterfaceI
* The identifier of the JobSubmission Interface to be retrieved.
@@ -1827,6 +1991,7 @@ class Iface:
def updateSSHJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, sshJobSubmission):
"""
+
Update the given SSH Job Submission details
@param jobSubmissionInterfaceId
@@ -1848,6 +2013,7 @@ class Iface:
def updateCloudJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, sshJobSubmission):
"""
+
Update the cloud Job Submission details
@param jobSubmissionInterfaceId
@@ -1869,6 +2035,7 @@ class Iface:
def updateUnicoreJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, unicoreJobSubmission):
"""
+
Update the UNIOCRE Job Submission details
@param jobSubmissionInterfaceId
@@ -1891,6 +2058,7 @@ class Iface:
def addLocalDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement):
"""
+
Add a Local data movement details to a compute resource
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1922,6 +2090,7 @@ class Iface:
def updateLocalDataMovementDetails(self, authzToken, dataMovementInterfaceId, localDataMovement):
"""
+
Update the given Local data movement details
@param dataMovementInterfaceId
@@ -1944,7 +2113,8 @@ class Iface:
def getLocalDataMovement(self, authzToken, dataMovementId):
"""
- This method returns local datamovement object
+
+ This method returns local datamovement object.
@param dataMovementId
The identifier of the datamovement Interface to be retrieved.
@@ -1961,6 +2131,7 @@ class Iface:
def addSCPDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement):
"""
+
Add a SCP data movement details to a compute resource
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1988,6 +2159,7 @@ class Iface:
def updateSCPDataMovementDetails(self, authzToken, dataMovementInterfaceId, scpDataMovement):
"""
+
Update the given scp data movement details
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -2027,6 +2199,7 @@ class Iface:
def addUnicoreDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement):
"""
+
Add a UNICORE data movement details to a compute resource
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -2054,6 +2227,7 @@ class Iface:
def updateUnicoreDataMovementDetails(self, authzToken, dataMovementInterfaceId, unicoreDataMovement):
"""
+
Update a selected UNICORE data movement details
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -2077,6 +2251,7 @@ class Iface:
def getUnicoreDataMovement(self, authzToken, dataMovementId):
"""
+
This method returns UNICORE datamovement object
@param dataMovementId
@@ -2094,6 +2269,7 @@ class Iface:
def addGridFTPDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement):
"""
+
Add a GridFTP data movement details to a compute resource
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -2359,7 +2535,7 @@ class Iface:
Fetch the given Gateway Resource Profile.
@param gatewayID
- The identifier for the requested gateway resource
+ The identifier for the requested gateway resource.
@return gatewayResourceProfile
Gateway Resource Profile Object.
@@ -2437,6 +2613,22 @@ class Iface:
def addGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId, storagePreference):
"""
+ Add a Storage Resource Preference to a registered gateway profile.
+
+ @param gatewayID
+ The identifier of the gateway profile to be added.
+
+ @param storageResourceId
+ Preferences related to a particular compute resource
+
+ @param computeResourcePreference
+ The ComputeResourcePreference object to be added to the resource profile.
+
+ @return status
+ Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+ Instead an update should be used.
+
+
Parameters:
- authzToken
- gatewayID
@@ -2447,6 +2639,7 @@ class Iface:
def getGatewayComputeResourcePreference(self, authzToken, gatewayID, computeResourceId):
"""
+
Fetch a Compute Resource Preference of a registered gateway profile.
@param gatewayID
@@ -2468,6 +2661,19 @@ class Iface:
def getGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId):
"""
+
+ Fetch a Storage Resource Preference of a registered gateway profile.
+
+ @param gatewayID
+ The identifier of the gateway profile to request to fetch the particular storage resource preference.
+
+ @param storageResourceId
+ Identifier of the Stprage Preference required to be fetched.
+
+ @return StoragePreference
+ Returns the StoragePreference object.
+
+
Parameters:
- authzToken
- gatewayID
@@ -2477,6 +2683,7 @@ class Iface:
def getAllGatewayComputeResourcePreferences(self, authzToken, gatewayID):
"""
+
Fetch all Compute Resource Preferences of a registered gateway profile.
@param gatewayID
@@ -2494,6 +2701,15 @@ class Iface:
def getAllGatewayStoragePreferences(self, authzToken, gatewayID):
"""
+ Fetch all Storage Resource Preferences of a registered gateway profile.
+
+ @param gatewayID
+ The identifier for the gateway profile to be requested
+
+ @return StoragePreference
+ Returns the StoragePreference object.
+
+
Parameters:
- authzToken
- gatewayID
@@ -2502,7 +2718,12 @@ class Iface:
def getAllGatewayResourceProfiles(self, authzToken):
"""
- Fetch all gateway profiles registered
+
+ Fetch all Gateway Profiles registered
+
+ @return GatewayResourceProfile
+ Returns all the GatewayResourcePrifle list object.
+
Parameters:
@@ -2537,6 +2758,21 @@ class Iface:
def updateGatewayStoragePreference(self, authzToken, gatewayID, storageId, storagePreference):
"""
+ Update a Storage Resource Preference of a registered gateway profile.
+
+ @param gatewayID
+ The identifier of the gateway profile to be updated.
+
+ @param storageId
+ The Storage resource identifier of the one that you want to update
+
+ @param storagePreference
+ The storagePreference object to be updated to the resource profile.
+
+ @return status
+ Returns a success/failure of the updation.
+
+
Parameters:
- authzToken
- gatewayID
@@ -2568,6 +2804,18 @@ class Iface:
def deleteGatewayStoragePreference(self, authzToken, gatewayID, storageId):
"""
+ Delete the Storage Resource Preference of a registered gateway profile.
+
+ @param gatewayID
+ The identifier of the gateway profile to be deleted.
+
+ @param storageId
+ ID of the storage preference you want to delete.
+
+ @return status
+ Returns a success/failure of the deletion.
+
+
Parameters:
- authzToken
- gatewayID
@@ -2577,6 +2825,18 @@ class Iface:
def getAllWorkflows(self, authzToken, gatewayId):
"""
+ Delete the Storage Resource Preference of a registered gateway profile.
+
+ @param gatewayID
+ The identifier of the gateway profile to be deleted.
+
+ @param storageId
+ ID of the storage preference you want to delete.
+
+ @return status
+ Returns a success/failure of the deletion.
+
+
Parameters:
- authzToken
- gatewayId
@@ -2585,6 +2845,10 @@ class Iface:
def getWorkflow(self, authzToken, workflowTemplateId):
"""
+
+ API Methods Related for Work-Flow Submission Features.
+
+
Parameters:
- authzToken
- workflowTemplateId
@@ -2635,7 +2899,9 @@ class Iface:
def registerDataResource(self, authzToken, dataResourceModel):
"""
- * Data Manager Related API Methods
+ *
+ * Data Manager Related API Methods.
+ *
*
Parameters:
@@ -3152,6 +3418,7 @@ class Client(Iface):
def getAllUserSSHPubKeys(self, authzToken, userName):
"""
+
Get a Public Key by Providing the Token
@param CredStoreToken
@@ -3203,6 +3470,7 @@ class Client(Iface):
def getAllGatewaySSHPubKeys(self, authzToken, gatewayId):
"""
+
Get all Public Keys of the Gateway
@param CredStoreToken
@@ -3254,6 +3522,7 @@ class Client(Iface):
def deleteSSHPubKey(self, authzToken, airavataCredStoreToken, gatewayId):
"""
+
Delete a Gateway
@param gatewayId
@@ -3305,6 +3574,7 @@ class Client(Iface):
def createProject(self, authzToken, gatewayId, project):
"""
+
Creates a Project with basic metadata.
A Project is a container of experiments.
@@ -3312,7 +3582,7 @@ class Client(Iface):
The identifier for the requested gateway.
@param Project
- The Project Object described in the workspace_model
+ The Project Object described in the workspace_model.
@@ -3359,6 +3629,7 @@ class Client(Iface):
def updateProject(self, authzToken, projectId, updatedProject):
"""
+
Update an Existing Project
@param projectId
@@ -3412,14 +3683,15 @@ class Client(Iface):
def getProject(self, authzToken, projectId):
"""
+
Get a Project by ID
- This method is to obtain a project by providing a projectId
+ This method is to obtain a project by providing a projectId.
@param projectId
- projectId of the project you require
+ projectId of the project you require.
@return project
- project data model will be returned
+ project data model will be returned.
@@ -3466,15 +3738,18 @@ class Client(Iface):
def deleteProject(self, authzToken, projectId):
"""
+
Delete a Project
- This method is used to delete an existing Project
+ This method is used to delete an existing Project.
@param projectId
- projectId of the project you want to delete
+ projectId of the project you want to delete.
@return boolean
Boolean identifier for the success or failure of the deletion operation.
+ NOTE: This method is not used within gateways connected with Airavata.
+
Parameters:
@@ -3520,20 +3795,21 @@ class Client(Iface):
def getUserProjects(self, authzToken, gatewayId, userName, limit, offset):
"""
- Get all Project by user with pagination. Results will be ordered based
- on creation time DESC
+
+ Get All User Projects
+ Get all Project for the user with pagination. Results will be ordered based on creation time DESC.
@param gatewayId
The identifier for the requested gateway.
@param userName
- The identifier of the user
+ The identifier of the user.
@param limit
- The amount results to be fetched
+ The amount results to be fetched.
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
@@ -3584,19 +3860,25 @@ class Client(Iface):
def searchProjectsByProjectName(self, authzToken, gatewayId, userName, projectName, limit, offset):
"""
- Get all Project for user by project name with pagination.Results will be ordered based
- on creation time DESC
+
+ Search User Projects by Project Name
+ Get all Project for user by project name with pagination.Results will be ordered based on creation time DESC.
@param gatewayId
- The identifier for the requested gateway.
+ The unique identifier for the requested gateway.
+
@param userName
- The identifier of the user
+ The identifier of the user.
+
@param projectName
- The name of the project on which the results to be fetched
+ The name of the project on which the results to be fetched.
+
@param limit
- The amount results to be fetched
+ The amount results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -3648,19 +3930,25 @@ class Client(Iface):
def searchProjectsByProjectDesc(self, authzToken, gatewayId, userName, description, limit, offset):
"""
- Search and get all Projects for user by project description with pagination. Results
- will be ordered based on creation time DESC
+
+ Search User Projects by Project Description
+ Search and get all Projects for user by project description with pagination. Results will be ordered based on creation time DESC.
@param gatewayId
- The identifier for the requested gateway.
+ The unique identifier of the gateway making the request.
+
@param userName
- The identifier of the user
+ The identifier of the user.
+
@param description
- The description to be matched
+ The description to be matched.
+
@param limit
- The amount results to be fetched
+ The amount results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -3712,19 +4000,25 @@ class Client(Iface):
def searchExperimentsByName(self, authzToken, gatewayId, userName, expName, limit, offset):
"""
- Search Experiments by experiment name with pagination. Results will be sorted
- based on creation time DESC
+
+ Search User Experiments by Name
+ Search user Experiments using experiment name with pagination. Results will be sorted based on creation time DESC.
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the user who created the experiments.
+
@param expName
- Experiment name to be matched
+ Experiment name to be matched.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -3776,19 +4070,25 @@ class Client(Iface):
def searchExperimentsByDesc(self, authzToken, gatewayId, userName, description, limit, offset):
"""
- Search Experiments by experiment name with pagination. Results will be sorted
- based on creation time DESC
+
+ Search By Experiment Description
+ Search Experiments by experiment description with pagination. Results will be sorted based on creation time DESC.
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the requested user.
+
@param description
- Experiment description to be matched
+ Experiment description to be matched.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -3840,19 +4140,25 @@ class Client(Iface):
def searchExperimentsByApplication(self, authzToken, gatewayId, userName, applicationId, limit, offset):
"""
- Search Experiments by application id with pagination. Results will be sorted
- based on creation time DESC
+
+ Search Experiment By the Application
+ Search Experiments of a particular application id with pagination. Results will be sorted based on creation time DESC
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the requested user.
+
@param applicationId
- Application id to be matched
+ Application id to be matched.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -3904,19 +4210,25 @@ class Client(Iface):
def searchExperimentsByStatus(self, authzToken, gatewayId, userName, experimentState, limit, offset):
"""
- Search Experiments by experiment status with pagination. Results will be sorted
- based on creation time DESC
+
+ Search User Experiments by Status
+ Search all the Experiments of the given user by experiment status with pagination. Results will be sorted based on creation time DESC
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the user making the request.
+
@param experimentState
- Experiement state to be matched
+ Experiement state to be matched.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -3968,21 +4280,31 @@ class Client(Iface):
def searchExperimentsByCreationTime(self, authzToken, gatewayId, userName, fromTime, toTime, limit, offset):
"""
- Search Experiments by experiment creation time with pagination. Results will be sorted
- based on creation time DESC
+
+ Search User Experiments by the Creation Time
+ This will search all the experiments of the given user by experiment creation time with pagination. Results will be sorted based on creation time DESC.
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the requested user.
+
@param fromTime
- Start time of the experiments creation time
+ Start time of the experiments creation time.
+
@param toTime
- End time of the experiement creation time
+ End time of the experiement creation time.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
+ @return ExperimentSummaryModel
+ List of experiments for the given search filter. Here only the Experiment summary will be returned.
+
Parameters:
@@ -4036,19 +4358,27 @@ class Client(Iface):
def searchExperiments(self, authzToken, gatewayId, userName, filters, limit, offset):
"""
- Search Experiments by using multiple filter criteria with pagination. Results will be sorted
- based on creation time DESC
+ Search Experiments.
+ Search Experiments by using multiple filter criteria with pagination. Results will be sorted based on creation time DESC.
@param gatewayId
- Identifier of the requested gateway
+ Identifier of the requested gateway.
+
@param userName
- Username of the requested user
+ Username of the user requesting the search function.
+
@param filters
- map of multiple filter criteria.
+ Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
+ @return ExperimentSummaryModel
+ List of experiments for the given search filter. Here only the Experiment summary will be returned.
+
Parameters:
@@ -4100,13 +4430,19 @@ class Client(Iface):
def getExperimentStatistics(self, authzToken, gatewayId, fromTime, toTime):
"""
- Get Experiment Statisitics for the given gateway for a specific time period
+
+ Get Experiment Statistics
+ Get Experiment Statisitics for a given gateway for a specific time period. This feature is available only for admins of a particular gateway. Gateway admin access is managed by the user roles.
+
@param gatewayId
- Identifier of the requested gateway
+ Unique identifier of the gateway making the request to fetch statistics.
+
@param fromTime
- Starting date time
+ Starting date time.
+
@param toTime
- Ending data time
+ Ending data time.
+
Parameters:
@@ -4154,15 +4490,19 @@ class Client(Iface):
def getExperimentsInProject(self, authzToken, projectId, limit, offset):
"""
- Get Experiments within project with pagination. Results will be sorted
- based on creation time DESC
+
+ Get All Experiments of the Project
+ Get Experiments within project with pagination. Results will be sorted based on creation time DESC.
@param projectId
- Identifier of the project
+ Uniqie identifier of the project.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -4212,17 +4552,22 @@ class Client(Iface):
def getUserExperiments(self, authzToken, gatewayId, userName, limit, offset):
"""
- Get experiments by user with pagination. Results will be sorted
- based on creation time DESC
+
+ Get All Experiments of the User
+ Get experiments by user with pagination. Results will be sorted based on creation time DESC.
@param gatewayId
- Identifier of the requesting gateway
+ Identifier of the requesting gateway.
+
@param userName
- Username of the requested user
+ Username of the requested end user.
+
@param limit
- Amount of results to be fetched
+ Amount of results to be fetched.
+
@param offset
- The starting point of the results to be fetched
+ The starting point of the results to be fetched.
+
Parameters:
@@ -4272,12 +4617,17 @@ class Client(Iface):
def createExperiment(self, authzToken, gatewayId, experiment):
"""
+ *
+ * Create New Experiment
* Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
* but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client
* has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
* registering the experiment in a persistent store.
*
- * @param basicExperimentMetadata
+ * @param gatewayId
+ * The unique ID of the gateway where the experiment is been created.
+ *
+ * @param ExperimentModel
* The create experiment will require the basic experiment metadata like the name and description, intended user,
* the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
* the ExperimentMetadata is a required field.
@@ -4350,8 +4700,8 @@ class Client(Iface):
def deleteExperiment(self, authzToken, experimentId):
"""
- Delete an Experiment
+ Delete an Experiment
If the experiment is not already launched experiment can be deleted.
@param authzToken
@@ -4360,7 +4710,7 @@ class Client(Iface):
Experiment ID of the experimnet you want to delete.
@return boolean
- Identifier for the success or failure of the deletion operation
+ Identifier for the success or failure of the deletion operation.
@@ -4405,12 +4755,14 @@ class Client(Iface):
def getExperiment(self, authzToken, airavataExperimentId):
"""
+ *
+ * Get Experiment
* Fetch previously created experiment metadata.
*
* @param airavataExperimentId
- * The identifier for the requested experiment. This is returned during the create experiment step.
+ * The unique identifier of the requested experiment. This ID is returned during the create experiment step.
*
- * @return experimentMetada
+ * @return ExperimentModel
* This method will return the previously stored experiment metadata.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
@@ -4481,14 +4833,17 @@ class Client(Iface):
def getDetailedExperimentTree(self, authzToken, airavataExperimentId):
"""
+
+ Get Complete Experiment Details
Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
tasks -> jobs information.
@param airavataExperimentId
The identifier for the requested experiment. This is returned during the create experiment step.
- @return experimentMetada
- This method will return the previously stored experiment metadata.
+ @return ExperimentModel
+ This method will return the previously stored experiment metadata including application input parameters, computational resource scheduling
+ information, special input output handling and additional quality of service parameters.
@throws org.apache.airavata.model.error.InvalidRequestException
For any incorrect forming of the request itself.
@@ -4557,14 +4912,15 @@ class Client(Iface):
def updateExperiment(self, authzToken, airavataExperimentId, experiment):
"""
- Configure a previously created experiment with required inputs, scheduling and other quality of service
- parameters. This method only updates the experiment object within the registry. The experiment has to be launched
- to make it actionable by the server.
+
+ Update a Previously Created Experiment
+ Configure the CREATED experiment with required inputs, scheduling and other quality of service parameters. This method only updates the experiment object within the registry.
+ The experiment has to be launched to make it actionable by the server.
@param airavataExperimentId
The identifier for the requested experiment. This is returned during the create experiment step.
- @param experimentConfigurationData
+ @param ExperimentModel
The configuration information of the experiment with application input parameters, computational resource scheduling
information, special input output handling and additional quality of service parameters.
@@ -4709,13 +5065,14 @@ class Client(Iface):
def validateExperiment(self, authzToken, airavataExperimentId):
"""
*
- * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
- *
- * @param experimentId
+ * Validate experiment configuration.
+ * A true in general indicates, the experiment is ready to be launched.
*
+ * @param airavataExperimentId
+ * Unique identifier of the experiment (Experimnent ID) of the experiment which need to be validated.
*
* @return boolean
- * Identifier for the success or failure of the validation operation
+ * Identifier for the success or failure of the validation operation.
*
*
@@ -4762,8 +5119,12 @@ class Client(Iface):
def launchExperiment(self, authzToken, airavataExperimentId, gatewayId):
"""
- Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
- notifications and intermediate and output data will be subsequently available for this experiment.
+
+ Launch a Previously Created & Configured Experiment.
+ Airavata Server will then start processing the request and appropriate notifications and intermediate and output data will be subsequently available for this experiment.
+
+ @gatewayId
+ ID of the gateway which will launch the experiment.
@param airavataExperimentId
The identifier for the requested experiment. This is returned during the create experiment step.
@@ -4838,17 +5199,18 @@ class Client(Iface):
def getExperimentStatus(self, authzToken, airavataExperimentId):
"""
+
Get Experiment Status
- Obtain the status os an experiment by providing the Experiment Id
+ Obtain the status of an experiment by providing the Experiment Id
@param authzToken
- @param experiementId
- Experiment ID of the experimnet you require the status
+ @param airavataExperimentId
+ Experiment ID of the experimnet you require the status.
@return ExperimentStatus
- ExperimentStatus model with current status will be returned.
+ ExperimentStatus model with the current status will be returned.
@@ -4895,16 +5257,17 @@ class Client(Iface):
def getExperimentOutputs(self, authzToken, airavataExperimentId):
"""
+
Get Experiment Outputs
- This method to be used when need to obtain outputs of a certain Experiment
+ This method to be used when need to obtain final outputs of a certain Experiment
@param authzToken
- @param experiementId
- Experiment ID of the experimnet you need the outputs
+ @param airavataExperimentId
+ Experiment ID of the experimnet you need the outputs.
@return list
- List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
@@ -4951,16 +5314,17 @@ class Client(Iface):
def getIntermediateOutputs(self, authzToken, airavataExperimentId):
"""
+
Get Intermediate Experiment Outputs
This method to be used when need to obtain intermediate outputs of a certain Experiment
@param authzToken
- @param experiementId
- Experiment ID of the experimnet you need the intermediate outputs
+ @param airavataExperimentId
+ Experiment ID of the experimnet you need intermediate outputs.
@return list
- List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
@@ -5007,13 +5371,14 @@ class Client(Iface):
def getJobStatuses(self, authzToken, airavataExperimentId):
"""
- Get Job Status for an Experiment
+
+ Get Job Statuses for an Experiment
This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
@param authzToken
@param experiementId
- Experiment ID of the experimnet you need the intermediate outputs
+ Experiment ID of the experimnet you need the job statuses.
@return JobStatus
Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map
@@ -5063,16 +5428,17 @@ class Client(Iface):
def getJobDetails(self, authzToken, airavataExperimentId):
"""
- Get Job Details for all the jobs within an Experiment
+
+ Get Job Details for all the jobs within an Experiment.
This method to be used when need to get the job details for one or many jobs of an Experiment.
@param authzToken
@param experiementId
- Experiment ID of the experimnet you need job details
+ Experiment ID of the experimnet you need job details.
@return list of JobDetails
- Job details
+ Job details.
@@ -5119,7 +5485,9 @@ class Client(Iface):
def cloneExperiment(self, authzToken, existingExperimentID, newExperimentName):
"""
- Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+
+ Clone an Existing Experiment
+ Existing specified experiment is cloned and a new name is provided. A copy of the experiment configuration is made and is persisted with new metadata.
The client has to subsequently update this configuration if needed and launch the cloned experiment.
@param newExperimentName
@@ -5131,7 +5499,7 @@ class Client(Iface):
should be shared public by default.
@return
- The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+ The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
@throws org.apache.airavata.model.error.InvalidRequestException
For any incorrect forming of the request itself.
@@ -5202,12 +5570,16 @@ class Client(Iface):
def terminateExperiment(self, authzToken, airavataExperimentId, gatewayId):
"""
- Terminate a running experiment.
+
+ Terminate a running Experiment.
+
+ @gatewayId
+ ID of the gateway which will terminate the running Experiment.
@param airavataExperimentId
- The identifier for the requested experiment. This is returned during the create experiment step.
+ The identifier of the experiment required termination. This ID is returned during the create experiment step.
- @return
+ @return status
This method call does not have a return value.
@throws org.apache.airavata.model.error.InvalidRequestException
@@ -5277,13 +5649,17 @@ class Client(Iface):
def registerApplicationModule(self, authzToken, gatewayId, applicationModule):
"""
+
Register a Application Module.
+ @gatewayId
+ ID of the gateway which is registering the new Application Module.
+
@param applicationModule
Application Module Object created from the datamodel.
@return appModuleId
- Returns a server-side generated airavata appModule globally unique identifier.
+ Returns the server-side generated airavata appModule globally unique identifier.
Parameters:
@@ -5329,13 +5705,14 @@ class Client(Iface):
def getApplicationModule(self, authzToken, appModuleId):
"""
+
Fetch a Application Module.
@param appModuleId
- The identifier for the requested application module
+ The unique identifier of the application module required
@return applicationModule
- Returns a application Module Object.
+ Returns an Application Module Object.
Parameters:
@@ -5379,6 +5756,7 @@ class Client(Iface):
def updateApplicationModule(self, authzToken, appModuleId, applicationModule):
"""
+
Update a Application Module.
@param appModuleId
@@ -5434,6 +5812,16 @@ class Client(Iface):
def getAllAppModules(self, authzToken, gatewayId):
"""
+
+ Fetch all Application Module Descriptions.
+
+ @param gatewayId
+ ID of the gateway which need to list all available application deployment documentation.
+
+ @return list
+ Returns the list of all Application Module Objects.
+
+
Parameters:
- authzToken
- gatewayId
@@ -5475,10 +5863,11 @@ class Client(Iface):
def deleteApplicationModule(self, authzToken, appModuleId):
"""
- Delete a Application Module.
+
+ Delete an Application Module.
@param appModuleId
- The identifier for the requested application module to be deleted.
+ The identifier of the Application Module to be deleted.
@return status
Returns a success/failure of the deletion.
@@ -5525,9 +5914,13 @@ class Client(Iface):
def registerApplicationDeployment(self, authzToken, gatewayId, applicationDeployment):
"""
- Register a Application Deployment.
- @param applicationModule
+ Register an Application Deployment.
+
+ @param gatewayId
+ ID of the gateway which is registering the new Application Deployment.
+
+ @param applicationDeployment
Application Module Object created from the datamodel.
@return appDeploymentId
@@ -5577,6 +5970,7 @@ class Client(Iface):
def getApplicationDeployment(self, authzToken, appDeploymentId):
"""
+
Fetch a Application Deployment.
@param appDeploymentId
@@ -5627,10 +6021,11 @@ class Client(Iface):
def updateApplicationDeployment(self, authzToken, appDeploymentId, applicationDeployment):
"""
- Update a Application Deployment.
+
+ Update an Application Deployment.
@param appDeploymentId
- The identifier for the requested application deployment to be updated.
+ The identifier of the requested application deployment to be updated.
@param appDeployment
Application Deployment Object created from the datamodel.
@@ -5682,10 +6077,11 @@ class Client(Iface):
def deleteApplicationDeployment(self, authzToken, appDeploymentId):
"""
- Delete a Application deployment.
+
+ Delete an Application Deployment.
@param appDeploymentId
- The identifier for the requested application deployment to be deleted.
+ The unique identifier of application deployment to be deleted.
@return status
Returns a success/failure of the deletion.
@@ -5732,10 +6128,14 @@ class Client(Iface):
def getAllApplicationDeployments(self, authzToken, gatewayId):
"""
+
Fetch all Application Deployment Descriptions.
+ @param gatewayId
+ ID of the gateway which need to list all available application deployment documentation.
+
@return list<applicationDeployment.
- Returns the list of all application Deployment Objects.
+ Returns the list of all application Deployment Objects.
Parameters:
@@ -5829,9 +6229,10 @@ class Client(Iface):
def registerApplicationInterface(self, authzToken, gatewayId, applicationInterface):
"""
+
Register a Application Interface.
- @param applicationModule
+ @param applicationInterface
Application Module Object created from the datamodel.
@return appInterfaceId
@@ -5881,6 +6282,22 @@ class Client(Iface):
def cloneApplicationInterface(self, authzToken, existingAppInterfaceID, newApplicationName, gatewayId):
"""
+
+ Clone an Application Interface.
+
+ @gatewayId
+ The identifier for the gateway profile to be requested
+
+ @param existingAppInterfaceID
+ Identifier of the existing Application interface you wich to clone.
+
+ @param newApplicationName
+ Name for the new application interface.
+
+ @return appInterfaceId
+ Returns a server-side generated globally unique identifier for the newly cloned application interface.
+
+
Parameters:
- authzToken
- existingAppInterfaceID
@@ -5926,14 +6343,14 @@ class Client(Iface):
def getApplicationInterface(self, authzToken, appInterfaceId):
"""
- Fetch a Application Interface.
+
+ Fetch an Application Interface.
@param appInterfaceId
- The identifier for the requested application module
+ The identifier for the requested application interface.
@return applicationInterface
- Returns a application Interface Object.
-
+ Returns an application Interface Object.
Parameters:
@@ -5977,10 +6394,11 @@ class Client(Iface):
def updateApplicationInterface(self, authzToken, appInterfaceId, applicationInterface):
"""
+
Update a Application Interface.
@param appInterfaceId
- The identifier for the requested application deployment to be updated.
+ The identifier of the requested application deployment to be updated.
@param appInterface
Application Interface Object created from the datamodel.
@@ -5989,7 +6407,6 @@ class Client(Iface):
Returns a success/failure of the update.
-
Parameters:
- authzToken
- appInterfaceId
@@ -6033,7 +6450,8 @@ class Client(Iface):
def deleteApplicationInterface(self, authzToken, appInterfaceId):
"""
- Delete a Application Interface.
+
+ Delete an Application Interface.
@param appInterfaceId
The identifier for the requested application interface to be deleted.
@@ -6042,7 +6460,6 @@ class Client(Iface):
Returns a success/failure of the deletion.
-
Parameters:
- authzToken
- appInterfaceId
@@ -6084,11 +6501,12 @@ class Client(Iface):
def getAllApplicationInterfaceNames(self, authzToken, gatewayId):
"""
- Fetch name and id of Application Interface documents.
+
+ Fetch name and ID of Application Interface documents.
@return map<applicationId, applicationInterfaceNames>
- Returns a list of application interfaces with corresponsing id's
+ Returns a list of application interfaces with corresponsing ID's
Parameters:
@@ -6132,11 +6550,12 @@ class Client(Iface):
def getAllApplicationInterfaces(self, authzToken, gatewayId):
"""
+
Fetch all Application Interface documents.
@return map<applicationId, applicationInterfaceNames>
- Returns a list of application interfaces documents
+ Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).
Parameters:
@@ -6180,10 +6599,11 @@ class Client(Iface):
def getApplicationInputs(self, authzToken, appInterfaceId):
"""
+
Fetch the list of Application Inputs.
@param appInterfaceId
- The identifier for the requested application interface
+ The identifier of the application interface which need inputs to be fetched.
@return list<application_interface_model.InputDataObjectType>
Returns a list of application inputs.
@@ -6230,10 +6650,11 @@ class Client(Iface):
def getApplicationOutputs(self, authzToken, appInterfaceId):
"""
- Fetch the list of Application Outputs.
+
+ Fetch list of Application Outputs.
@param appInterfaceId
- The identifier for the requested application interface
+ The identifier of the application interface which need outputs to be fetched.
@return list<application_interface_model.OutputDataObjectType>
Returns a list of application outputs.
@@ -6280,14 +6701,15 @@ class Client(Iface):
def getAvailableAppInterfaceComputeResources(self, authzToken, appInterfaceId):
"""
+
Fetch a list of all deployed Compute Hosts for a given application interfaces.
@param appInterfaceId
- The identifier for the requested application interface
+ The identifier for the requested application interface.
@return map<computeResourceId, computeResourceName>
A map of registered compute resource id's and their corresponding hostnames.
- Deployments of each modules listed within the interfaces will be listed.
+ Deployments of each modules listed within the interfaces will be listed.
Parameters:
@@ -6431,6 +6853,7 @@ class Client(Iface):
def getAllComputeResourceNames(self, authzToken):
"""
+
Fetch all registered Compute Resources.
@return A map of registered compute resource id's and thier corresponding hostnames.
@@ -6726,7 +7149,7 @@ class Client(Iface):
def updateStorageResource(self, authzToken, storageResourceId, storageResourceDescription):
"""
- Update a Compute Resource.
+ Update a Storage Resource.
@param storageResourceId
The identifier for the requested compute resource to be updated.
@@ -6784,7 +7207,7 @@ class Client(Iface):
Delete a Storage Resource.
@param storageResourceId
- The identifier for the requested compute resource to be deleted.
+ The identifier of the requested compute resource to be deleted.
@return status
Returns a success/failure of the deletion.
@@ -7163,6 +7586,7 @@ class Client(Iface):
def addUNICOREJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, unicoreJobSubmission):
"""
+
Add a UNICORE Job Submission details to a compute resource
App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
@@ -7224,10 +7648,13 @@ class Client(Iface):
def getUnicoreJobSubmission(self, authzToken, jobSubmissionId):
"""
+ *
* This method returns UnicoreJobSubmission object
+ *
* @param jobSubmissionInterfaceId
* The identifier of the JobSubmission Interface to be retrieved.
* @return UnicoreJobSubmission instance
+ *
*
Parameters:
@@ -7271,6 +7698,7 @@ class Client(Iface):
def addCloudJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, cloudSubmission):
"""
+ *
* Add a Cloud Job Submission details to a compute resource
* App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
*
@@ -7285,6 +7713,7 @@ class Client(Iface):
*
* @return status
* Returns the unique job submission id.
+ *
*
Parameters:
@@ -7332,6 +7761,7 @@ class Client(Iface):
def getCloudJobSubmission(self, authzToken, jobSubmissionId):
"""
+ *
* This method returns cloudJobSubmission object
* @param jobSubmissionInterfaceI
* The identifier of the JobSubmission Interface to be retrieved.
@@ -7379,6 +7809,7 @@ class Client(Iface):
def updateSSHJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, sshJobSubmission):
"""
+
Update the given SSH Job Submission details
@param jobSubmissionInterfaceId
@@ -7434,6 +7865,7 @@ class Client(Iface):
def updateCloudJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, sshJobSubmission):
"""
+
Update the cloud Job Submission details
@param jobSubmissionInterfaceId
@@ -7489,6 +7921,7 @@ class Client(Iface):
def updateUnicoreJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, unicoreJobSubmission):
"""
+
Update the UNIOCRE Job Submission details
@param jobSubmissionInterfaceId
@@ -7545,6 +7978,7 @@ class Client(Iface):
def addLocalDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement):
"""
+
Add a Local data movement details to a compute resource
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -7612,6 +8046,7 @@ class Client(Iface):
def updateLocalDataMovementDetails(self, authzToken, dataMovementInterfaceId, localDataMovement):
"""
+
Update the given Local data movement details
@param dataMovementInterfaceId
@@ -7668,7 +8103,8 @@ class Client(Iface):
def getLocalDataMovement(self, authzToken, dataMovementId):
"""
- This method returns local datamovement object
+
+ This method returns local datamovement object.
@param dataMovementId
The identifier of the datamovement Interface to be retrieved.
@@ -7718,6 +8154,7 @@ class Client(Iface):
def addSCPDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement):
"""
+
Add a SCP data movement details to a compute resource
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -7781,6 +8218,7 @@ class Client(Iface):
def updateSCPDataMovementDetails(self, authzToken, dataMovementInterfaceId, scpDataMovement):
"""
+
Update the given scp data movement details
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -7887,6 +8325,7 @@ class Client(Iface):
def addUnicoreDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement):
"""
+
Add a UNICORE data movement details to a compute resource
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -7950,6 +8389,7 @@ class Client(Iface):
def updateUnicoreDataMovementDetails(self, authzToken, dataMovementInterfaceId, unicoreDataMovement):
"""
+
Update a selected UNICORE data movement details
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -8007,6 +8447,7 @@ class Client(Iface):
def getUnicoreDataMovement(self, authzToken, dataMovementId):
"""
+
This method returns UNICORE datamovement object
@param dataMovementId
@@ -8057,6 +8498,7 @@ class Client(Iface):
def addGridFTPDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement):
"""
+
Add a GridFTP data movement details to a compute resource
App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -8827,7 +9269,7 @@ class Client(Iface):
Fetch the given Gateway Resource Profile.
@param gatewayID
- The identifier for the requested gateway resource
+ The identifier for the requested gateway resource.
@return gatewayResourceProfile
Gateway Resource Profile Object.
@@ -9040,6 +9482,22 @@ class Client(Iface):
def addGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId, storagePreference):
"""
+ Add a Storage Resource Preference to a registered gateway profile.
+
+ @param gatewayID
+ The identifier of the gateway profile to be added.
+
+ @param storageResourceId
+ Preferences related to a particular compute resource
+
+ @param computeResourcePreference
+ The ComputeResourcePreference object to be added to the resource profile.
+
+ @return status
+ Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+ Instead an update should be used.
+
+
Parameters:
- authzToken
- gatewayID
@@ -9085,6 +9543,7 @@ class Client(Iface):
def getGatewayComputeResourcePreference(self, authzToken, gatewayID, computeResourceId):
"""
+
Fetch a Compute Resource Preference of a registered gateway profile.
@param gatewayID
@@ -9140,6 +9599,19 @@ class Client(Iface):
def getGatewayStoragePreference(self, authzToken, gatewayID, storageResourceId):
"""
+
+ Fetch a Storage Resource Preference of a registered gateway profile.
+
+ @param gatewayID
+ The identifier of the gateway profile to request to fetch the particular storage resource preference.
+
+ @pa
<TRUNCATED>
[19/50] [abbrv] airavata git commit: Added generated thrift files
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
new file mode 100644
index 0000000..5b5c9fd
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
@@ -0,0 +1,736 @@
+/**
+ * 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.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._Fields>, java.io.Serializable, Cloneable, Comparable<PortModel> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PortModel");
+
+ private static final org.apache.thrift.protocol.TField PORT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("portId", org.apache.thrift.protocol.TType.STRING, (short)1);
+ private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
+ private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+ private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)4);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new PortModelStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new PortModelTupleSchemeFactory());
+ }
+
+ private String portId; // required
+ private String name; // optional
+ private ComponentStatus status; // optional
+ private String description; // optional
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ PORT_ID((short)1, "portId"),
+ NAME((short)2, "name"),
+ STATUS((short)3, "status"),
+ DESCRIPTION((short)4, "description");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // PORT_ID
+ return PORT_ID;
+ case 2: // NAME
+ return NAME;
+ case 3: // STATUS
+ return STATUS;
+ case 4: // DESCRIPTION
+ return DESCRIPTION;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final _Fields optionals[] = {_Fields.NAME,_Fields.STATUS,_Fields.DESCRIPTION};
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.PORT_ID, new org.apache.thrift.meta_data.FieldMetaData("portId", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComponentStatus.class)));
+ tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(PortModel.class, metaDataMap);
+ }
+
+ public PortModel() {
+ this.portId = "DO_NOT_SET_AT_CLIENTS";
+
+ }
+
+ public PortModel(
+ String portId)
+ {
+ this();
+ this.portId = portId;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public PortModel(PortModel other) {
+ if (other.isSetPortId()) {
+ this.portId = other.portId;
+ }
+ if (other.isSetName()) {
+ this.name = other.name;
+ }
+ if (other.isSetStatus()) {
+ this.status = new ComponentStatus(other.status);
+ }
+ if (other.isSetDescription()) {
+ this.description = other.description;
+ }
+ }
+
+ public PortModel deepCopy() {
+ return new PortModel(this);
+ }
+
+ @Override
+ public void clear() {
+ this.portId = "DO_NOT_SET_AT_CLIENTS";
+
+ this.name = null;
+ this.status = null;
+ this.description = null;
+ }
+
+ public String getPortId() {
+ return this.portId;
+ }
+
+ public void setPortId(String portId) {
+ this.portId = portId;
+ }
+
+ public void unsetPortId() {
+ this.portId = null;
+ }
+
+ /** Returns true if field portId is set (has been assigned a value) and false otherwise */
+ public boolean isSetPortId() {
+ return this.portId != null;
+ }
+
+ public void setPortIdIsSet(boolean value) {
+ if (!value) {
+ this.portId = null;
+ }
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void unsetName() {
+ this.name = null;
+ }
+
+ /** Returns true if field name is set (has been assigned a value) and false otherwise */
+ public boolean isSetName() {
+ return this.name != null;
+ }
+
+ public void setNameIsSet(boolean value) {
+ if (!value) {
+ this.name = null;
+ }
+ }
+
+ public ComponentStatus getStatus() {
+ return this.status;
+ }
+
+ public void setStatus(ComponentStatus status) {
+ this.status = status;
+ }
+
+ public void unsetStatus() {
+ this.status = null;
+ }
+
+ /** Returns true if field status is set (has been assigned a value) and false otherwise */
+ public boolean isSetStatus() {
+ return this.status != null;
+ }
+
+ public void setStatusIsSet(boolean value) {
+ if (!value) {
+ this.status = null;
+ }
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public void unsetDescription() {
+ this.description = null;
+ }
+
+ /** Returns true if field description is set (has been assigned a value) and false otherwise */
+ public boolean isSetDescription() {
+ return this.description != null;
+ }
+
+ public void setDescriptionIsSet(boolean value) {
+ if (!value) {
+ this.description = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case PORT_ID:
+ if (value == null) {
+ unsetPortId();
+ } else {
+ setPortId((String)value);
+ }
+ break;
+
+ case NAME:
+ if (value == null) {
+ unsetName();
+ } else {
+ setName((String)value);
+ }
+ break;
+
+ case STATUS:
+ if (value == null) {
+ unsetStatus();
+ } else {
+ setStatus((ComponentStatus)value);
+ }
+ break;
+
+ case DESCRIPTION:
+ if (value == null) {
+ unsetDescription();
+ } else {
+ setDescription((String)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case PORT_ID:
+ return getPortId();
+
+ case NAME:
+ return getName();
+
+ case STATUS:
+ return getStatus();
+
+ case DESCRIPTION:
+ return getDescription();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case PORT_ID:
+ return isSetPortId();
+ case NAME:
+ return isSetName();
+ case STATUS:
+ return isSetStatus();
+ case DESCRIPTION:
+ return isSetDescription();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof PortModel)
+ return this.equals((PortModel)that);
+ return false;
+ }
+
+ public boolean equals(PortModel that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_portId = true && this.isSetPortId();
+ boolean that_present_portId = true && that.isSetPortId();
+ if (this_present_portId || that_present_portId) {
+ if (!(this_present_portId && that_present_portId))
+ return false;
+ if (!this.portId.equals(that.portId))
+ return false;
+ }
+
+ boolean this_present_name = true && this.isSetName();
+ boolean that_present_name = true && that.isSetName();
+ if (this_present_name || that_present_name) {
+ if (!(this_present_name && that_present_name))
+ return false;
+ if (!this.name.equals(that.name))
+ return false;
+ }
+
+ boolean this_present_status = true && this.isSetStatus();
+ boolean that_present_status = true && that.isSetStatus();
+ if (this_present_status || that_present_status) {
+ if (!(this_present_status && that_present_status))
+ return false;
+ if (!this.status.equals(that.status))
+ return false;
+ }
+
+ boolean this_present_description = true && this.isSetDescription();
+ boolean that_present_description = true && that.isSetDescription();
+ if (this_present_description || that_present_description) {
+ if (!(this_present_description && that_present_description))
+ return false;
+ if (!this.description.equals(that.description))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ List<Object> list = new ArrayList<Object>();
+
+ boolean present_portId = true && (isSetPortId());
+ list.add(present_portId);
+ if (present_portId)
+ list.add(portId);
+
+ boolean present_name = true && (isSetName());
+ list.add(present_name);
+ if (present_name)
+ list.add(name);
+
+ boolean present_status = true && (isSetStatus());
+ list.add(present_status);
+ if (present_status)
+ list.add(status);
+
+ boolean present_description = true && (isSetDescription());
+ list.add(present_description);
+ if (present_description)
+ list.add(description);
+
+ return list.hashCode();
+ }
+
+ @Override
+ public int compareTo(PortModel other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetPortId()).compareTo(other.isSetPortId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetPortId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.portId, other.portId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetStatus()).compareTo(other.isSetStatus());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetStatus()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, other.status);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetDescription()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, other.description);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("PortModel(");
+ boolean first = true;
+
+ sb.append("portId:");
+ if (this.portId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.portId);
+ }
+ first = false;
+ if (isSetName()) {
+ if (!first) sb.append(", ");
+ sb.append("name:");
+ if (this.name == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.name);
+ }
+ first = false;
+ }
+ if (isSetStatus()) {
+ if (!first) sb.append(", ");
+ sb.append("status:");
+ if (this.status == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.status);
+ }
+ first = false;
+ }
+ if (isSetDescription()) {
+ if (!first) sb.append(", ");
+ sb.append("description:");
+ if (this.description == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.description);
+ }
+ first = false;
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetPortId()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'portId' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ if (status != null) {
+ status.validate();
+ }
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class PortModelStandardSchemeFactory implements SchemeFactory {
+ public PortModelStandardScheme getScheme() {
+ return new PortModelStandardScheme();
+ }
+ }
+
+ private static class PortModelStandardScheme extends StandardScheme<PortModel> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, PortModel struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // PORT_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.portId = iprot.readString();
+ struct.setPortIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.name = iprot.readString();
+ struct.setNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // STATUS
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.status = new ComponentStatus();
+ struct.status.read(iprot);
+ struct.setStatusIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 4: // DESCRIPTION
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.description = iprot.readString();
+ struct.setDescriptionIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, PortModel struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.portId != null) {
+ oprot.writeFieldBegin(PORT_ID_FIELD_DESC);
+ oprot.writeString(struct.portId);
+ oprot.writeFieldEnd();
+ }
+ if (struct.name != null) {
+ if (struct.isSetName()) {
+ oprot.writeFieldBegin(NAME_FIELD_DESC);
+ oprot.writeString(struct.name);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.status != null) {
+ if (struct.isSetStatus()) {
+ oprot.writeFieldBegin(STATUS_FIELD_DESC);
+ struct.status.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.description != null) {
+ if (struct.isSetDescription()) {
+ oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
+ oprot.writeString(struct.description);
+ oprot.writeFieldEnd();
+ }
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class PortModelTupleSchemeFactory implements SchemeFactory {
+ public PortModelTupleScheme getScheme() {
+ return new PortModelTupleScheme();
+ }
+ }
+
+ private static class PortModelTupleScheme extends TupleScheme<PortModel> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, PortModel struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ oprot.writeString(struct.portId);
+ BitSet optionals = new BitSet();
+ if (struct.isSetName()) {
+ optionals.set(0);
+ }
+ if (struct.isSetStatus()) {
+ optionals.set(1);
+ }
+ if (struct.isSetDescription()) {
+ optionals.set(2);
+ }
+ oprot.writeBitSet(optionals, 3);
+ if (struct.isSetName()) {
+ oprot.writeString(struct.name);
+ }
+ if (struct.isSetStatus()) {
+ struct.status.write(oprot);
+ }
+ if (struct.isSetDescription()) {
+ oprot.writeString(struct.description);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, PortModel struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.portId = iprot.readString();
+ struct.setPortIdIsSet(true);
+ BitSet incoming = iprot.readBitSet(3);
+ if (incoming.get(0)) {
+ struct.name = iprot.readString();
+ struct.setNameIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.status = new ComponentStatus();
+ struct.status.read(iprot);
+ struct.setStatusIsSet(true);
+ }
+ if (incoming.get(2)) {
+ struct.description = iprot.readString();
+ struct.setDescriptionIsSet(true);
+ }
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
new file mode 100644
index 0000000..4d25b93
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
@@ -0,0 +1,1050 @@
+/**
+ * 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.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, WorkflowModel._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowModel> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowModel");
+
+ private static final org.apache.thrift.protocol.TField TEMPLATE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("templateId", org.apache.thrift.protocol.TType.STRING, (short)1);
+ private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
+ private static final org.apache.thrift.protocol.TField GRAPH_FIELD_DESC = new org.apache.thrift.protocol.TField("graph", org.apache.thrift.protocol.TType.STRING, (short)3);
+ private static final org.apache.thrift.protocol.TField IMAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("image", org.apache.thrift.protocol.TType.STRING, (short)4);
+ private static final org.apache.thrift.protocol.TField WORKFLOW_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowInputs", org.apache.thrift.protocol.TType.LIST, (short)5);
+ private static final org.apache.thrift.protocol.TField WORKFLOW_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("workflowOutputs", org.apache.thrift.protocol.TType.LIST, (short)6);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new WorkflowModelStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new WorkflowModelTupleSchemeFactory());
+ }
+
+ private String templateId; // required
+ private String name; // required
+ private String graph; // required
+ private ByteBuffer image; // optional
+ private List<org.apache.airavata.model.application.io.InputDataObjectType> workflowInputs; // optional
+ private List<org.apache.airavata.model.application.io.OutputDataObjectType> workflowOutputs; // optional
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ TEMPLATE_ID((short)1, "templateId"),
+ NAME((short)2, "name"),
+ GRAPH((short)3, "graph"),
+ IMAGE((short)4, "image"),
+ WORKFLOW_INPUTS((short)5, "workflowInputs"),
+ WORKFLOW_OUTPUTS((short)6, "workflowOutputs");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // TEMPLATE_ID
+ return TEMPLATE_ID;
+ case 2: // NAME
+ return NAME;
+ case 3: // GRAPH
+ return GRAPH;
+ case 4: // IMAGE
+ return IMAGE;
+ case 5: // WORKFLOW_INPUTS
+ return WORKFLOW_INPUTS;
+ case 6: // WORKFLOW_OUTPUTS
+ return WORKFLOW_OUTPUTS;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final _Fields optionals[] = {_Fields.IMAGE,_Fields.WORKFLOW_INPUTS,_Fields.WORKFLOW_OUTPUTS};
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.TEMPLATE_ID, new org.apache.thrift.meta_data.FieldMetaData("templateId", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.GRAPH, new org.apache.thrift.meta_data.FieldMetaData("graph", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.IMAGE, new org.apache.thrift.meta_data.FieldMetaData("image", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING , true)));
+ tmpMap.put(_Fields.WORKFLOW_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("workflowInputs", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.InputDataObjectType.class))));
+ tmpMap.put(_Fields.WORKFLOW_OUTPUTS, new org.apache.thrift.meta_data.FieldMetaData("workflowOutputs", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.application.io.OutputDataObjectType.class))));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(WorkflowModel.class, metaDataMap);
+ }
+
+ public WorkflowModel() {
+ this.templateId = "DO_NOT_SET_AT_CLIENTS";
+
+ }
+
+ public WorkflowModel(
+ String templateId,
+ String name,
+ String graph)
+ {
+ this();
+ this.templateId = templateId;
+ this.name = name;
+ this.graph = graph;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public WorkflowModel(WorkflowModel other) {
+ if (other.isSetTemplateId()) {
+ this.templateId = other.templateId;
+ }
+ if (other.isSetName()) {
+ this.name = other.name;
+ }
+ if (other.isSetGraph()) {
+ this.graph = other.graph;
+ }
+ if (other.isSetImage()) {
+ this.image = org.apache.thrift.TBaseHelper.copyBinary(other.image);
+ }
+ if (other.isSetWorkflowInputs()) {
+ List<org.apache.airavata.model.application.io.InputDataObjectType> __this__workflowInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(other.workflowInputs.size());
+ for (org.apache.airavata.model.application.io.InputDataObjectType other_element : other.workflowInputs) {
+ __this__workflowInputs.add(new org.apache.airavata.model.application.io.InputDataObjectType(other_element));
+ }
+ this.workflowInputs = __this__workflowInputs;
+ }
+ if (other.isSetWorkflowOutputs()) {
+ List<org.apache.airavata.model.application.io.OutputDataObjectType> __this__workflowOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(other.workflowOutputs.size());
+ for (org.apache.airavata.model.application.io.OutputDataObjectType other_element : other.workflowOutputs) {
+ __this__workflowOutputs.add(new org.apache.airavata.model.application.io.OutputDataObjectType(other_element));
+ }
+ this.workflowOutputs = __this__workflowOutputs;
+ }
+ }
+
+ public WorkflowModel deepCopy() {
+ return new WorkflowModel(this);
+ }
+
+ @Override
+ public void clear() {
+ this.templateId = "DO_NOT_SET_AT_CLIENTS";
+
+ this.name = null;
+ this.graph = null;
+ this.image = null;
+ this.workflowInputs = null;
+ this.workflowOutputs = null;
+ }
+
+ public String getTemplateId() {
+ return this.templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public void unsetTemplateId() {
+ this.templateId = null;
+ }
+
+ /** Returns true if field templateId is set (has been assigned a value) and false otherwise */
+ public boolean isSetTemplateId() {
+ return this.templateId != null;
+ }
+
+ public void setTemplateIdIsSet(boolean value) {
+ if (!value) {
+ this.templateId = null;
+ }
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void unsetName() {
+ this.name = null;
+ }
+
+ /** Returns true if field name is set (has been assigned a value) and false otherwise */
+ public boolean isSetName() {
+ return this.name != null;
+ }
+
+ public void setNameIsSet(boolean value) {
+ if (!value) {
+ this.name = null;
+ }
+ }
+
+ public String getGraph() {
+ return this.graph;
+ }
+
+ public void setGraph(String graph) {
+ this.graph = graph;
+ }
+
+ public void unsetGraph() {
+ this.graph = null;
+ }
+
+ /** Returns true if field graph is set (has been assigned a value) and false otherwise */
+ public boolean isSetGraph() {
+ return this.graph != null;
+ }
+
+ public void setGraphIsSet(boolean value) {
+ if (!value) {
+ this.graph = null;
+ }
+ }
+
+ public byte[] getImage() {
+ setImage(org.apache.thrift.TBaseHelper.rightSize(image));
+ return image == null ? null : image.array();
+ }
+
+ public ByteBuffer bufferForImage() {
+ return org.apache.thrift.TBaseHelper.copyBinary(image);
+ }
+
+ public void setImage(byte[] image) {
+ this.image = image == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(image, image.length));
+ }
+
+ public void setImage(ByteBuffer image) {
+ this.image = org.apache.thrift.TBaseHelper.copyBinary(image);
+ }
+
+ public void unsetImage() {
+ this.image = null;
+ }
+
+ /** Returns true if field image is set (has been assigned a value) and false otherwise */
+ public boolean isSetImage() {
+ return this.image != null;
+ }
+
+ public void setImageIsSet(boolean value) {
+ if (!value) {
+ this.image = null;
+ }
+ }
+
+ public int getWorkflowInputsSize() {
+ return (this.workflowInputs == null) ? 0 : this.workflowInputs.size();
+ }
+
+ public java.util.Iterator<org.apache.airavata.model.application.io.InputDataObjectType> getWorkflowInputsIterator() {
+ return (this.workflowInputs == null) ? null : this.workflowInputs.iterator();
+ }
+
+ public void addToWorkflowInputs(org.apache.airavata.model.application.io.InputDataObjectType elem) {
+ if (this.workflowInputs == null) {
+ this.workflowInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>();
+ }
+ this.workflowInputs.add(elem);
+ }
+
+ public List<org.apache.airavata.model.application.io.InputDataObjectType> getWorkflowInputs() {
+ return this.workflowInputs;
+ }
+
+ public void setWorkflowInputs(List<org.apache.airavata.model.application.io.InputDataObjectType> workflowInputs) {
+ this.workflowInputs = workflowInputs;
+ }
+
+ public void unsetWorkflowInputs() {
+ this.workflowInputs = null;
+ }
+
+ /** Returns true if field workflowInputs is set (has been assigned a value) and false otherwise */
+ public boolean isSetWorkflowInputs() {
+ return this.workflowInputs != null;
+ }
+
+ public void setWorkflowInputsIsSet(boolean value) {
+ if (!value) {
+ this.workflowInputs = null;
+ }
+ }
+
+ public int getWorkflowOutputsSize() {
+ return (this.workflowOutputs == null) ? 0 : this.workflowOutputs.size();
+ }
+
+ public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getWorkflowOutputsIterator() {
+ return (this.workflowOutputs == null) ? null : this.workflowOutputs.iterator();
+ }
+
+ public void addToWorkflowOutputs(org.apache.airavata.model.application.io.OutputDataObjectType elem) {
+ if (this.workflowOutputs == null) {
+ this.workflowOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>();
+ }
+ this.workflowOutputs.add(elem);
+ }
+
+ public List<org.apache.airavata.model.application.io.OutputDataObjectType> getWorkflowOutputs() {
+ return this.workflowOutputs;
+ }
+
+ public void setWorkflowOutputs(List<org.apache.airavata.model.application.io.OutputDataObjectType> workflowOutputs) {
+ this.workflowOutputs = workflowOutputs;
+ }
+
+ public void unsetWorkflowOutputs() {
+ this.workflowOutputs = null;
+ }
+
+ /** Returns true if field workflowOutputs is set (has been assigned a value) and false otherwise */
+ public boolean isSetWorkflowOutputs() {
+ return this.workflowOutputs != null;
+ }
+
+ public void setWorkflowOutputsIsSet(boolean value) {
+ if (!value) {
+ this.workflowOutputs = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case TEMPLATE_ID:
+ if (value == null) {
+ unsetTemplateId();
+ } else {
+ setTemplateId((String)value);
+ }
+ break;
+
+ case NAME:
+ if (value == null) {
+ unsetName();
+ } else {
+ setName((String)value);
+ }
+ break;
+
+ case GRAPH:
+ if (value == null) {
+ unsetGraph();
+ } else {
+ setGraph((String)value);
+ }
+ break;
+
+ case IMAGE:
+ if (value == null) {
+ unsetImage();
+ } else {
+ setImage((ByteBuffer)value);
+ }
+ break;
+
+ case WORKFLOW_INPUTS:
+ if (value == null) {
+ unsetWorkflowInputs();
+ } else {
+ setWorkflowInputs((List<org.apache.airavata.model.application.io.InputDataObjectType>)value);
+ }
+ break;
+
+ case WORKFLOW_OUTPUTS:
+ if (value == null) {
+ unsetWorkflowOutputs();
+ } else {
+ setWorkflowOutputs((List<org.apache.airavata.model.application.io.OutputDataObjectType>)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case TEMPLATE_ID:
+ return getTemplateId();
+
+ case NAME:
+ return getName();
+
+ case GRAPH:
+ return getGraph();
+
+ case IMAGE:
+ return getImage();
+
+ case WORKFLOW_INPUTS:
+ return getWorkflowInputs();
+
+ case WORKFLOW_OUTPUTS:
+ return getWorkflowOutputs();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case TEMPLATE_ID:
+ return isSetTemplateId();
+ case NAME:
+ return isSetName();
+ case GRAPH:
+ return isSetGraph();
+ case IMAGE:
+ return isSetImage();
+ case WORKFLOW_INPUTS:
+ return isSetWorkflowInputs();
+ case WORKFLOW_OUTPUTS:
+ return isSetWorkflowOutputs();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof WorkflowModel)
+ return this.equals((WorkflowModel)that);
+ return false;
+ }
+
+ public boolean equals(WorkflowModel that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_templateId = true && this.isSetTemplateId();
+ boolean that_present_templateId = true && that.isSetTemplateId();
+ if (this_present_templateId || that_present_templateId) {
+ if (!(this_present_templateId && that_present_templateId))
+ return false;
+ if (!this.templateId.equals(that.templateId))
+ return false;
+ }
+
+ boolean this_present_name = true && this.isSetName();
+ boolean that_present_name = true && that.isSetName();
+ if (this_present_name || that_present_name) {
+ if (!(this_present_name && that_present_name))
+ return false;
+ if (!this.name.equals(that.name))
+ return false;
+ }
+
+ boolean this_present_graph = true && this.isSetGraph();
+ boolean that_present_graph = true && that.isSetGraph();
+ if (this_present_graph || that_present_graph) {
+ if (!(this_present_graph && that_present_graph))
+ return false;
+ if (!this.graph.equals(that.graph))
+ return false;
+ }
+
+ boolean this_present_image = true && this.isSetImage();
+ boolean that_present_image = true && that.isSetImage();
+ if (this_present_image || that_present_image) {
+ if (!(this_present_image && that_present_image))
+ return false;
+ if (!this.image.equals(that.image))
+ return false;
+ }
+
+ boolean this_present_workflowInputs = true && this.isSetWorkflowInputs();
+ boolean that_present_workflowInputs = true && that.isSetWorkflowInputs();
+ if (this_present_workflowInputs || that_present_workflowInputs) {
+ if (!(this_present_workflowInputs && that_present_workflowInputs))
+ return false;
+ if (!this.workflowInputs.equals(that.workflowInputs))
+ return false;
+ }
+
+ boolean this_present_workflowOutputs = true && this.isSetWorkflowOutputs();
+ boolean that_present_workflowOutputs = true && that.isSetWorkflowOutputs();
+ if (this_present_workflowOutputs || that_present_workflowOutputs) {
+ if (!(this_present_workflowOutputs && that_present_workflowOutputs))
+ return false;
+ if (!this.workflowOutputs.equals(that.workflowOutputs))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ List<Object> list = new ArrayList<Object>();
+
+ boolean present_templateId = true && (isSetTemplateId());
+ list.add(present_templateId);
+ if (present_templateId)
+ list.add(templateId);
+
+ boolean present_name = true && (isSetName());
+ list.add(present_name);
+ if (present_name)
+ list.add(name);
+
+ boolean present_graph = true && (isSetGraph());
+ list.add(present_graph);
+ if (present_graph)
+ list.add(graph);
+
+ boolean present_image = true && (isSetImage());
+ list.add(present_image);
+ if (present_image)
+ list.add(image);
+
+ boolean present_workflowInputs = true && (isSetWorkflowInputs());
+ list.add(present_workflowInputs);
+ if (present_workflowInputs)
+ list.add(workflowInputs);
+
+ boolean present_workflowOutputs = true && (isSetWorkflowOutputs());
+ list.add(present_workflowOutputs);
+ if (present_workflowOutputs)
+ list.add(workflowOutputs);
+
+ return list.hashCode();
+ }
+
+ @Override
+ public int compareTo(WorkflowModel other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetTemplateId()).compareTo(other.isSetTemplateId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetTemplateId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.templateId, other.templateId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetGraph()).compareTo(other.isSetGraph());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetGraph()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.graph, other.graph);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetImage()).compareTo(other.isSetImage());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetImage()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.image, other.image);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetWorkflowInputs()).compareTo(other.isSetWorkflowInputs());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetWorkflowInputs()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowInputs, other.workflowInputs);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetWorkflowOutputs()).compareTo(other.isSetWorkflowOutputs());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetWorkflowOutputs()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.workflowOutputs, other.workflowOutputs);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("WorkflowModel(");
+ boolean first = true;
+
+ sb.append("templateId:");
+ if (this.templateId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.templateId);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("name:");
+ if (this.name == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.name);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("graph:");
+ if (this.graph == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.graph);
+ }
+ first = false;
+ if (isSetImage()) {
+ if (!first) sb.append(", ");
+ sb.append("image:");
+ if (this.image == null) {
+ sb.append("null");
+ } else {
+ org.apache.thrift.TBaseHelper.toString(this.image, sb);
+ }
+ first = false;
+ }
+ if (isSetWorkflowInputs()) {
+ if (!first) sb.append(", ");
+ sb.append("workflowInputs:");
+ if (this.workflowInputs == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.workflowInputs);
+ }
+ first = false;
+ }
+ if (isSetWorkflowOutputs()) {
+ if (!first) sb.append(", ");
+ sb.append("workflowOutputs:");
+ if (this.workflowOutputs == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.workflowOutputs);
+ }
+ first = false;
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetTemplateId()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'templateId' is unset! Struct:" + toString());
+ }
+
+ if (!isSetName()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' is unset! Struct:" + toString());
+ }
+
+ if (!isSetGraph()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'graph' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class WorkflowModelStandardSchemeFactory implements SchemeFactory {
+ public WorkflowModelStandardScheme getScheme() {
+ return new WorkflowModelStandardScheme();
+ }
+ }
+
+ private static class WorkflowModelStandardScheme extends StandardScheme<WorkflowModel> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowModel struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // TEMPLATE_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.templateId = iprot.readString();
+ struct.setTemplateIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.name = iprot.readString();
+ struct.setNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // GRAPH
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.graph = iprot.readString();
+ struct.setGraphIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 4: // IMAGE
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.image = iprot.readBinary();
+ struct.setImageIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 5: // WORKFLOW_INPUTS
+ if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+ {
+ org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
+ struct.workflowInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list0.size);
+ org.apache.airavata.model.application.io.InputDataObjectType _elem1;
+ for (int _i2 = 0; _i2 < _list0.size; ++_i2)
+ {
+ _elem1 = new org.apache.airavata.model.application.io.InputDataObjectType();
+ _elem1.read(iprot);
+ struct.workflowInputs.add(_elem1);
+ }
+ iprot.readListEnd();
+ }
+ struct.setWorkflowInputsIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 6: // WORKFLOW_OUTPUTS
+ if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+ {
+ org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
+ struct.workflowOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list3.size);
+ org.apache.airavata.model.application.io.OutputDataObjectType _elem4;
+ for (int _i5 = 0; _i5 < _list3.size; ++_i5)
+ {
+ _elem4 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+ _elem4.read(iprot);
+ struct.workflowOutputs.add(_elem4);
+ }
+ iprot.readListEnd();
+ }
+ struct.setWorkflowOutputsIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, WorkflowModel struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.templateId != null) {
+ oprot.writeFieldBegin(TEMPLATE_ID_FIELD_DESC);
+ oprot.writeString(struct.templateId);
+ oprot.writeFieldEnd();
+ }
+ if (struct.name != null) {
+ oprot.writeFieldBegin(NAME_FIELD_DESC);
+ oprot.writeString(struct.name);
+ oprot.writeFieldEnd();
+ }
+ if (struct.graph != null) {
+ oprot.writeFieldBegin(GRAPH_FIELD_DESC);
+ oprot.writeString(struct.graph);
+ oprot.writeFieldEnd();
+ }
+ if (struct.image != null) {
+ if (struct.isSetImage()) {
+ oprot.writeFieldBegin(IMAGE_FIELD_DESC);
+ oprot.writeBinary(struct.image);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.workflowInputs != null) {
+ if (struct.isSetWorkflowInputs()) {
+ oprot.writeFieldBegin(WORKFLOW_INPUTS_FIELD_DESC);
+ {
+ oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.workflowInputs.size()));
+ for (org.apache.airavata.model.application.io.InputDataObjectType _iter6 : struct.workflowInputs)
+ {
+ _iter6.write(oprot);
+ }
+ oprot.writeListEnd();
+ }
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.workflowOutputs != null) {
+ if (struct.isSetWorkflowOutputs()) {
+ oprot.writeFieldBegin(WORKFLOW_OUTPUTS_FIELD_DESC);
+ {
+ oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.workflowOutputs.size()));
+ for (org.apache.airavata.model.application.io.OutputDataObjectType _iter7 : struct.workflowOutputs)
+ {
+ _iter7.write(oprot);
+ }
+ oprot.writeListEnd();
+ }
+ oprot.writeFieldEnd();
+ }
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class WorkflowModelTupleSchemeFactory implements SchemeFactory {
+ public WorkflowModelTupleScheme getScheme() {
+ return new WorkflowModelTupleScheme();
+ }
+ }
+
+ private static class WorkflowModelTupleScheme extends TupleScheme<WorkflowModel> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, WorkflowModel struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ oprot.writeString(struct.templateId);
+ oprot.writeString(struct.name);
+ oprot.writeString(struct.graph);
+ BitSet optionals = new BitSet();
+ if (struct.isSetImage()) {
+ optionals.set(0);
+ }
+ if (struct.isSetWorkflowInputs()) {
+ optionals.set(1);
+ }
+ if (struct.isSetWorkflowOutputs()) {
+ optionals.set(2);
+ }
+ oprot.writeBitSet(optionals, 3);
+ if (struct.isSetImage()) {
+ oprot.writeBinary(struct.image);
+ }
+ if (struct.isSetWorkflowInputs()) {
+ {
+ oprot.writeI32(struct.workflowInputs.size());
+ for (org.apache.airavata.model.application.io.InputDataObjectType _iter8 : struct.workflowInputs)
+ {
+ _iter8.write(oprot);
+ }
+ }
+ }
+ if (struct.isSetWorkflowOutputs()) {
+ {
+ oprot.writeI32(struct.workflowOutputs.size());
+ for (org.apache.airavata.model.application.io.OutputDataObjectType _iter9 : struct.workflowOutputs)
+ {
+ _iter9.write(oprot);
+ }
+ }
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, WorkflowModel struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.templateId = iprot.readString();
+ struct.setTemplateIdIsSet(true);
+ struct.name = iprot.readString();
+ struct.setNameIsSet(true);
+ struct.graph = iprot.readString();
+ struct.setGraphIsSet(true);
+ BitSet incoming = iprot.readBitSet(3);
+ if (incoming.get(0)) {
+ struct.image = iprot.readBinary();
+ struct.setImageIsSet(true);
+ }
+ if (incoming.get(1)) {
+ {
+ org.apache.thrift.protocol.TList _list10 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+ struct.workflowInputs = new ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list10.size);
+ org.apache.airavata.model.application.io.InputDataObjectType _elem11;
+ for (int _i12 = 0; _i12 < _list10.size; ++_i12)
+ {
+ _elem11 = new org.apache.airavata.model.application.io.InputDataObjectType();
+ _elem11.read(iprot);
+ struct.workflowInputs.add(_elem11);
+ }
+ }
+ struct.setWorkflowInputsIsSet(true);
+ }
+ if (incoming.get(2)) {
+ {
+ org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+ struct.workflowOutputs = new ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list13.size);
+ org.apache.airavata.model.application.io.OutputDataObjectType _elem14;
+ for (int _i15 = 0; _i15 < _list13.size; ++_i15)
+ {
+ _elem14 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+ _elem14.read(iprot);
+ struct.workflowOutputs.add(_elem14);
+ }
+ }
+ struct.setWorkflowOutputsIsSet(true);
+ }
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java
new file mode 100644
index 0000000..5faac14
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java
@@ -0,0 +1,77 @@
+/**
+ * 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.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum WorkflowState implements org.apache.thrift.TEnum {
+ CREATED(0),
+ STARTED(1),
+ EXECUTING(2),
+ COMPLETED(3),
+ FAILED(4),
+ CANCELLING(5),
+ CANCELED(6);
+
+ private final int value;
+
+ private WorkflowState(int value) {
+ this.value = value;
+ }
+
+ /**
+ * Get the integer value of this enum value, as defined in the Thrift IDL.
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * Find a the enum type by its integer value, as defined in the Thrift IDL.
+ * @return null if the value is not found.
+ */
+ public static WorkflowState findByValue(int value) {
+ switch (value) {
+ case 0:
+ return CREATED;
+ case 1:
+ return STARTED;
+ case 2:
+ return EXECUTING;
+ case 3:
+ return COMPLETED;
+ case 4:
+ return FAILED;
+ case 5:
+ return CANCELLING;
+ case 6:
+ return CANCELED;
+ default:
+ return null;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
new file mode 100644
index 0000000..73734fb
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
@@ -0,0 +1,631 @@
+/**
+ * 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.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
+public class WorkflowStatus implements org.apache.thrift.TBase<WorkflowStatus, WorkflowStatus._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowStatus> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowStatus");
+
+ private static final org.apache.thrift.protocol.TField STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("state", org.apache.thrift.protocol.TType.I32, (short)1);
+ private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
+ private static final org.apache.thrift.protocol.TField REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("reason", org.apache.thrift.protocol.TType.STRING, (short)3);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new WorkflowStatusStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new WorkflowStatusTupleSchemeFactory());
+ }
+
+ private WorkflowState state; // required
+ private long timeOfStateChange; // optional
+ private String reason; // optional
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ /**
+ *
+ * @see WorkflowState
+ */
+ STATE((short)1, "state"),
+ TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange"),
+ REASON((short)3, "reason");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // STATE
+ return STATE;
+ case 2: // TIME_OF_STATE_CHANGE
+ return TIME_OF_STATE_CHANGE;
+ case 3: // REASON
+ return REASON;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final int __TIMEOFSTATECHANGE_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ private static final _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE,_Fields.REASON};
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.STATE, new org.apache.thrift.meta_data.FieldMetaData("state", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, WorkflowState.class)));
+ tmpMap.put(_Fields.TIME_OF_STATE_CHANGE, new org.apache.thrift.meta_data.FieldMetaData("timeOfStateChange", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+ tmpMap.put(_Fields.REASON, new org.apache.thrift.meta_data.FieldMetaData("reason", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(WorkflowStatus.class, metaDataMap);
+ }
+
+ public WorkflowStatus() {
+ }
+
+ public WorkflowStatus(
+ WorkflowState state)
+ {
+ this();
+ this.state = state;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public WorkflowStatus(WorkflowStatus other) {
+ __isset_bitfield = other.__isset_bitfield;
+ if (other.isSetState()) {
+ this.state = other.state;
+ }
+ this.timeOfStateChange = other.timeOfStateChange;
+ if (other.isSetReason()) {
+ this.reason = other.reason;
+ }
+ }
+
+ public WorkflowStatus deepCopy() {
+ return new WorkflowStatus(this);
+ }
+
+ @Override
+ public void clear() {
+ this.state = null;
+ setTimeOfStateChangeIsSet(false);
+ this.timeOfStateChange = 0;
+ this.reason = null;
+ }
+
+ /**
+ *
+ * @see WorkflowState
+ */
+ public WorkflowState getState() {
+ return this.state;
+ }
+
+ /**
+ *
+ * @see WorkflowState
+ */
+ public void setState(WorkflowState state) {
+ this.state = state;
+ }
+
+ public void unsetState() {
+ this.state = null;
+ }
+
+ /** Returns true if field state is set (has been assigned a value) and false otherwise */
+ public boolean isSetState() {
+ return this.state != null;
+ }
+
+ public void setStateIsSet(boolean value) {
+ if (!value) {
+ this.state = null;
+ }
+ }
+
+ public long getTimeOfStateChange() {
+ return this.timeOfStateChange;
+ }
+
+ public void setTimeOfStateChange(long timeOfStateChange) {
+ this.timeOfStateChange = timeOfStateChange;
+ setTimeOfStateChangeIsSet(true);
+ }
+
+ public void unsetTimeOfStateChange() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+ }
+
+ /** Returns true if field timeOfStateChange is set (has been assigned a value) and false otherwise */
+ public boolean isSetTimeOfStateChange() {
+ return EncodingUtils.testBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID);
+ }
+
+ public void setTimeOfStateChangeIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
+ }
+
+ public String getReason() {
+ return this.reason;
+ }
+
+ public void setReason(String reason) {
+ this.reason = reason;
+ }
+
+ public void unsetReason() {
+ this.reason = null;
+ }
+
+ /** Returns true if field reason is set (has been assigned a value) and false otherwise */
+ public boolean isSetReason() {
+ return this.reason != null;
+ }
+
+ public void setReasonIsSet(boolean value) {
+ if (!value) {
+ this.reason = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case STATE:
+ if (value == null) {
+ unsetState();
+ } else {
+ setState((WorkflowState)value);
+ }
+ break;
+
+ case TIME_OF_STATE_CHANGE:
+ if (value == null) {
+ unsetTimeOfStateChange();
+ } else {
+ setTimeOfStateChange((Long)value);
+ }
+ break;
+
+ case REASON:
+ if (value == null) {
+ unsetReason();
+ } else {
+ setReason((String)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case STATE:
+ return getState();
+
+ case TIME_OF_STATE_CHANGE:
+ return getTimeOfStateChange();
+
+ case REASON:
+ return getReason();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case STATE:
+ return isSetState();
+ case TIME_OF_STATE_CHANGE:
+ return isSetTimeOfStateChange();
+ case REASON:
+ return isSetReason();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof WorkflowStatus)
+ return this.equals((WorkflowStatus)that);
+ return false;
+ }
+
+ public boolean equals(WorkflowStatus that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_state = true && this.isSetState();
+ boolean that_present_state = true && that.isSetState();
+ if (this_present_state || that_present_state) {
+ if (!(this_present_state && that_present_state))
+ return false;
+ if (!this.state.equals(that.state))
+ return false;
+ }
+
+ boolean this_present_timeOfStateChange = true && this.isSetTimeOfStateChange();
+ boolean that_present_timeOfStateChange = true && that.isSetTimeOfStateChange();
+ if (this_present_timeOfStateChange || that_present_timeOfStateChange) {
+ if (!(this_present_timeOfStateChange && that_present_timeOfStateChange))
+ return false;
+ if (this.timeOfStateChange != that.timeOfStateChange)
+ return false;
+ }
+
+ boolean this_present_reason = true && this.isSetReason();
+ boolean that_present_reason = true && that.isSetReason();
+ if (this_present_reason || that_present_reason) {
+ if (!(this_present_reason && that_present_reason))
+ return false;
+ if (!this.reason.equals(that.reason))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ List<Object> list = new ArrayList<Object>();
+
+ boolean present_state = true && (isSetState());
+ list.add(present_state);
+ if (present_state)
+ list.add(state.getValue());
+
+ boolean present_timeOfStateChange = true && (isSetTimeOfStateChange());
+ list.add(present_timeOfStateChange);
+ if (present_timeOfStateChange)
+ list.add(timeOfStateChange);
+
+ boolean present_reason = true && (isSetReason());
+ list.add(present_reason);
+ if (present_reason)
+ list.add(reason);
+
+ return list.hashCode();
+ }
+
+ @Override
+ public int compareTo(WorkflowStatus other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetState()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state, other.state);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetTimeOfStateChange()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeOfStateChange, other.timeOfStateChange);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetReason()).compareTo(other.isSetReason());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetReason()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reason, other.reason);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("WorkflowStatus(");
+ boolean first = true;
+
+ sb.append("state:");
+ if (this.state == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.state);
+ }
+ first = false;
+ if (isSetTimeOfStateChange()) {
+ if (!first) sb.append(", ");
+ sb.append("timeOfStateChange:");
+ sb.append(this.timeOfStateChange);
+ first = false;
+ }
+ if (isSetReason()) {
+ if (!first) sb.append(", ");
+ sb.append("reason:");
+ if (this.reason == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.reason);
+ }
+ first = false;
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetState()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'state' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class WorkflowStatusStandardSchemeFactory implements SchemeFactory {
+ public WorkflowStatusStandardScheme getScheme() {
+ return new WorkflowStatusStandardScheme();
+ }
+ }
+
+ private static class WorkflowStatusStandardScheme extends StandardScheme<WorkflowStatus> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowStatus struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // STATE
+ if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+ struct.state = org.apache.airavata.model.WorkflowState.findByValue(iprot.readI32());
+ struct.setStateIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // TIME_OF_STATE_CHANGE
+ if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+ struct.timeOfStateChange = iprot.readI64();
+ struct.setTimeOfStateChangeIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // REASON
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.reason = iprot.readString();
+ struct.setReasonIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, WorkflowStatus struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.state != null) {
+ oprot.writeFieldBegin(STATE_FIELD_DESC);
+ oprot.writeI32(struct.state.getValue());
+ oprot.writeFieldEnd();
+ }
+ if (struct.isSetTimeOfStateChange()) {
+ oprot.writeFieldBegin(TIME_OF_STATE_CHANGE_FIELD_DESC);
+ oprot.writeI64(struct.timeOfStateChange);
+ oprot.writeFieldEnd();
+ }
+ if (struct.reason != null) {
+ if (struct.isSetReason()) {
+ oprot.writeFieldBegin(REASON_FIELD_DESC);
+ oprot.writeString(struct.reason);
+ oprot.writeFieldEnd();
+ }
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class WorkflowStatusTupleSchemeFactory implements SchemeFactory {
+ public WorkflowStatusTupleScheme getScheme() {
+ return new WorkflowStatusTupleScheme();
+ }
+ }
+
+ private static class WorkflowStatusTupleScheme extends TupleScheme<WorkflowStatus> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, WorkflowStatus struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ oprot.writeI32(struct.state.getValue());
+ BitSet optionals = new BitSet();
+ if (struct.isSetTimeOfStateChange()) {
+ optionals.set(0);
+ }
+ if (struct.isSetReason()) {
+ optionals.set(1);
+ }
+ oprot.writeBitSet(optionals, 2);
+ if (struct.isSetTimeOfStateChange()) {
+ oprot.writeI64(struct.timeOfStateChange);
+ }
+ if (struct.isSetReason()) {
+ oprot.writeString(struct.reason);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, WorkflowStatus struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.state = org.apache.airavata.model.WorkflowState.findByValue(iprot.readI32());
+ struct.setStateIsSet(true);
+ BitSet incoming = iprot.readBitSet(2);
+ if (incoming.get(0)) {
+ struct.timeOfStateChange = iprot.readI64();
+ struct.setTimeOfStateChangeIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.reason = iprot.readString();
+ struct.setReasonIsSet(true);
+ }
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index 01d96ca..afc2676 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
* assigns to the environment variable "NAME" the value
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ApplicationDeploymentDescription implements org.apache.thrift.TBase<ApplicationDeploymentDescription, ApplicationDeploymentDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationDeploymentDescription> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationDeploymentDescription");
http://git-wip-us.apache.org/repos/asf/airavata/blob/97f4ba92/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
index d442292..ee692aa 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
* Descriprion of the Module
*
*/
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-01")
public class ApplicationModule implements org.apache.thrift.TBase<ApplicationModule, ApplicationModule._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationModule> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationModule");
[36/50] [abbrv] airavata git commit: changing get all ssh credentials
per gateway method
Posted by ch...@apache.org.
changing get all ssh credentials per gateway method
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/fb75a2f7
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/fb75a2f7
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/fb75a2f7
Branch: refs/heads/master
Commit: fb75a2f7ea8beb53bd91e6bfee6b488e77869b3b
Parents: d2501c3
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Fri Feb 5 11:35:31 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Fri Feb 5 11:35:31 2016 -0500
----------------------------------------------------------------------
.../airavata/api/server/AiravataAPIServer.java | 2 +-
.../api/server/handler/AiravataServerHandler.java | 3 ++-
.../store/server/CredentialStoreServerHandler.java | 13 ++++---------
.../credential/store/store/CredentialReader.java | 3 +++
.../store/store/impl/CredentialReaderImpl.java | 16 ++++++++++++++++
5 files changed, 26 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/fb75a2f7/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
index 09d4c3f..49ddec7 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
@@ -70,7 +70,7 @@ public class AiravataAPIServer implements IServer{
try {
RegistryInitUtil.initializeDB();
AppCatalogInitUtil.initializeDB();
- WorkflowCatalogInitUtil.initializeDB();
+// WorkflowCatalogInitUtil.initializeDB();
final String serverHost = ServerSettings.getSetting(Constants.API_SERVER_HOST, null);
if (!ServerSettings.isTLSEnabled()) {
final int serverPort = Integer.parseInt(ServerSettings.getSetting(Constants.API_SERVER_PORT, "8930"));
http://git-wip-us.apache.org/repos/asf/airavata/blob/fb75a2f7/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 78e39d2..8bf0ee1 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -337,8 +337,9 @@ public class AiravataServerHandler implements Airavata.Iface {
if (csClient == null){
csClient = getCredentialStoreServiceClient();
}
+ Map<String, String> allSSHKeysForGateway = csClient.getAllSSHKeysForGateway(gatewayId);
logger.info("Airavata retrieved all SSH pub keys for gateway Id : " + gatewayId);
- return csClient.getAllSSHKeysForGateway(gatewayId);
+ return allSSHKeysForGateway;
}catch (Exception e){
logger.error("Error occurred while retrieving SSH public keys for gateway : " + gatewayId , e);
AiravataSystemException exception = new AiravataSystemException();
http://git-wip-us.apache.org/repos/asf/airavata/blob/fb75a2f7/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServerHandler.java b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServerHandler.java
index d789f64..86b4b64 100644
--- a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServerHandler.java
+++ b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServerHandler.java
@@ -233,19 +233,14 @@ public class CredentialStoreServerHandler implements CredentialStoreService.Ifac
public Map<String, String> getAllSSHKeysForGateway(String gatewayId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, TException {
Map<String, String> sshKeyMap = new HashMap<>();
try {
- List<Credential> allCredentials = credentialReader.getAllCredentials();
+ List<Credential> allCredentials = credentialReader.getAllCredentialsPerGateway(gatewayId);
if (allCredentials != null && !allCredentials.isEmpty()){
for (Credential credential : allCredentials) {
if (credential instanceof org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential) {
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential sshCredential = (org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential) credential;
- String gateway = sshCredential.getGateway();
- if (gateway != null){
- if (gateway.equals(gatewayId)) {
- byte[] publicKey = sshCredential.getPublicKey();
- if (publicKey != null) {
- sshKeyMap.put(sshCredential.getToken(), new String(publicKey));
- }
- }
+ byte[] publicKey = sshCredential.getPublicKey();
+ if (publicKey != null) {
+ sshKeyMap.put(sshCredential.getToken(), new String(publicKey));
}
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/fb75a2f7/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/CredentialReader.java
----------------------------------------------------------------------
diff --git a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/CredentialReader.java b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/CredentialReader.java
index fe54b8e..ab96be4 100644
--- a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/CredentialReader.java
+++ b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/CredentialReader.java
@@ -73,6 +73,9 @@ public interface CredentialReader {
*/
public List<Credential> getAllCredentials() throws CredentialStoreException;
+ public List<Credential> getAllCredentialsPerGateway(String gatewayId) throws CredentialStoreException;
+
+ public List<Credential> getAllCredentialsPerUser(String userName) throws CredentialStoreException;
/**
* Updates the community user contact email address.
*
http://git-wip-us.apache.org/repos/asf/airavata/blob/fb75a2f7/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/impl/CredentialReaderImpl.java
----------------------------------------------------------------------
diff --git a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/impl/CredentialReaderImpl.java b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/impl/CredentialReaderImpl.java
index dc2fd60..a7dded3 100644
--- a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/impl/CredentialReaderImpl.java
+++ b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/store/impl/CredentialReaderImpl.java
@@ -87,6 +87,22 @@ public class CredentialReaderImpl implements CredentialReader, Serializable {
}
+ @Override
+ public List<Credential> getAllCredentialsPerGateway(String gatewayId) throws CredentialStoreException {
+ Connection connection = getConnection();
+
+ try {
+ return this.credentialsDAO.getCredentials(gatewayId, connection);
+ } finally {
+ DBUtil.cleanup(connection);
+ }
+ }
+
+ @Override
+ public List<Credential> getAllCredentialsPerUser(String userName) throws CredentialStoreException {
+ return null;
+ }
+
public String getPortalUser(String gatewayName, String tokenId) throws CredentialStoreException {
Connection connection = getConnection();
[45/50] [abbrv] airavata git commit: update generated code and fixing
compilation issues
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
index fe337a7..71d3e01 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
@@ -17,7 +17,45 @@ use Thrift\Protocol\TBinaryProtocolAccelerated;
use Thrift\Exception\TApplicationException;
-class Workflow {
+final class WorkflowState {
+ const CREATED = 0;
+ const STARTED = 1;
+ const EXECUTING = 2;
+ const COMPLETED = 3;
+ const FAILED = 4;
+ const CANCELLING = 5;
+ const CANCELED = 6;
+ static public $__names = array(
+ 0 => 'CREATED',
+ 1 => 'STARTED',
+ 2 => 'EXECUTING',
+ 3 => 'COMPLETED',
+ 4 => 'FAILED',
+ 5 => 'CANCELLING',
+ 6 => 'CANCELED',
+ );
+}
+
+final class ComponentState {
+ const CREATED = 0;
+ const WAITING = 1;
+ const READY = 2;
+ const RUNNING = 3;
+ const COMPLETED = 4;
+ const FAILED = 5;
+ const CANCELED = 6;
+ static public $__names = array(
+ 0 => 'CREATED',
+ 1 => 'WAITING',
+ 2 => 'READY',
+ 3 => 'RUNNING',
+ 4 => 'COMPLETED',
+ 5 => 'FAILED',
+ 6 => 'CANCELED',
+ );
+}
+
+class WorkflowModel {
static $_TSPEC;
/**
@@ -35,6 +73,14 @@ class Workflow {
/**
* @var string
*/
+ public $gatewayId = null;
+ /**
+ * @var string
+ */
+ public $createdUser = null;
+ /**
+ * @var string
+ */
public $image = null;
/**
* @var \Airavata\Model\Application\Io\InputDataObjectType[]
@@ -44,6 +90,10 @@ class Workflow {
* @var \Airavata\Model\Application\Io\OutputDataObjectType[]
*/
public $workflowOutputs = null;
+ /**
+ * @var int
+ */
+ public $creationTime = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -61,10 +111,18 @@ class Workflow {
'type' => TType::STRING,
),
4 => array(
- 'var' => 'image',
+ 'var' => 'gatewayId',
'type' => TType::STRING,
),
5 => array(
+ 'var' => 'createdUser',
+ 'type' => TType::STRING,
+ ),
+ 6 => array(
+ 'var' => 'image',
+ 'type' => TType::STRING,
+ ),
+ 7 => array(
'var' => 'workflowInputs',
'type' => TType::LST,
'etype' => TType::STRUCT,
@@ -73,7 +131,7 @@ class Workflow {
'class' => '\Airavata\Model\Application\Io\InputDataObjectType',
),
),
- 6 => array(
+ 8 => array(
'var' => 'workflowOutputs',
'type' => TType::LST,
'etype' => TType::STRUCT,
@@ -82,6 +140,10 @@ class Workflow {
'class' => '\Airavata\Model\Application\Io\OutputDataObjectType',
),
),
+ 9 => array(
+ 'var' => 'creationTime',
+ 'type' => TType::I64,
+ ),
);
}
if (is_array($vals)) {
@@ -94,6 +156,12 @@ class Workflow {
if (isset($vals['graph'])) {
$this->graph = $vals['graph'];
}
+ if (isset($vals['gatewayId'])) {
+ $this->gatewayId = $vals['gatewayId'];
+ }
+ if (isset($vals['createdUser'])) {
+ $this->createdUser = $vals['createdUser'];
+ }
if (isset($vals['image'])) {
$this->image = $vals['image'];
}
@@ -103,11 +171,14 @@ class Workflow {
if (isset($vals['workflowOutputs'])) {
$this->workflowOutputs = $vals['workflowOutputs'];
}
+ if (isset($vals['creationTime'])) {
+ $this->creationTime = $vals['creationTime'];
+ }
}
}
public function getName() {
- return 'Workflow';
+ return 'WorkflowModel';
}
public function read($input)
@@ -148,12 +219,26 @@ class Workflow {
break;
case 4:
if ($ftype == TType::STRING) {
- $xfer += $input->readString($this->image);
+ $xfer += $input->readString($this->gatewayId);
} else {
$xfer += $input->skip($ftype);
}
break;
case 5:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->createdUser);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 6:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->image);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 7:
if ($ftype == TType::LST) {
$this->workflowInputs = array();
$_size0 = 0;
@@ -171,7 +256,7 @@ class Workflow {
$xfer += $input->skip($ftype);
}
break;
- case 6:
+ case 8:
if ($ftype == TType::LST) {
$this->workflowOutputs = array();
$_size6 = 0;
@@ -189,6 +274,13 @@ class Workflow {
$xfer += $input->skip($ftype);
}
break;
+ case 9:
+ if ($ftype == TType::I64) {
+ $xfer += $input->readI64($this->creationTime);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -201,7 +293,7 @@ class Workflow {
public function write($output) {
$xfer = 0;
- $xfer += $output->writeStructBegin('Workflow');
+ $xfer += $output->writeStructBegin('WorkflowModel');
if ($this->templateId !== null) {
$xfer += $output->writeFieldBegin('templateId', TType::STRING, 1);
$xfer += $output->writeString($this->templateId);
@@ -217,8 +309,18 @@ class Workflow {
$xfer += $output->writeString($this->graph);
$xfer += $output->writeFieldEnd();
}
+ if ($this->gatewayId !== null) {
+ $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 4);
+ $xfer += $output->writeString($this->gatewayId);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->createdUser !== null) {
+ $xfer += $output->writeFieldBegin('createdUser', TType::STRING, 5);
+ $xfer += $output->writeString($this->createdUser);
+ $xfer += $output->writeFieldEnd();
+ }
if ($this->image !== null) {
- $xfer += $output->writeFieldBegin('image', TType::STRING, 4);
+ $xfer += $output->writeFieldBegin('image', TType::STRING, 6);
$xfer += $output->writeString($this->image);
$xfer += $output->writeFieldEnd();
}
@@ -226,7 +328,7 @@ class Workflow {
if (!is_array($this->workflowInputs)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
- $xfer += $output->writeFieldBegin('workflowInputs', TType::LST, 5);
+ $xfer += $output->writeFieldBegin('workflowInputs', TType::LST, 7);
{
$output->writeListBegin(TType::STRUCT, count($this->workflowInputs));
{
@@ -243,7 +345,7 @@ class Workflow {
if (!is_array($this->workflowOutputs)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
- $xfer += $output->writeFieldBegin('workflowOutputs', TType::LST, 6);
+ $xfer += $output->writeFieldBegin('workflowOutputs', TType::LST, 8);
{
$output->writeListBegin(TType::STRUCT, count($this->workflowOutputs));
{
@@ -256,6 +358,769 @@ class Workflow {
}
$xfer += $output->writeFieldEnd();
}
+ if ($this->creationTime !== null) {
+ $xfer += $output->writeFieldBegin('creationTime', TType::I64, 9);
+ $xfer += $output->writeI64($this->creationTime);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class ComponentStatus {
+ static $_TSPEC;
+
+ /**
+ * @var int
+ */
+ public $state = 0;
+ /**
+ * @var string
+ */
+ public $reason = null;
+ /**
+ * @var int
+ */
+ public $timeofStateChange = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'state',
+ 'type' => TType::I32,
+ ),
+ 2 => array(
+ 'var' => 'reason',
+ 'type' => TType::STRING,
+ ),
+ 3 => array(
+ 'var' => 'timeofStateChange',
+ 'type' => TType::I64,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['state'])) {
+ $this->state = $vals['state'];
+ }
+ if (isset($vals['reason'])) {
+ $this->reason = $vals['reason'];
+ }
+ if (isset($vals['timeofStateChange'])) {
+ $this->timeofStateChange = $vals['timeofStateChange'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'ComponentStatus';
+ }
+
+ public function read($input)
+ {
+ $xfer = 0;
+ $fname = null;
+ $ftype = 0;
+ $fid = 0;
+ $xfer += $input->readStructBegin($fname);
+ while (true)
+ {
+ $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+ if ($ftype == TType::STOP) {
+ break;
+ }
+ switch ($fid)
+ {
+ case 1:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->state);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->reason);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::I64) {
+ $xfer += $input->readI64($this->timeofStateChange);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ default:
+ $xfer += $input->skip($ftype);
+ break;
+ }
+ $xfer += $input->readFieldEnd();
+ }
+ $xfer += $input->readStructEnd();
+ return $xfer;
+ }
+
+ public function write($output) {
+ $xfer = 0;
+ $xfer += $output->writeStructBegin('ComponentStatus');
+ if ($this->state !== null) {
+ $xfer += $output->writeFieldBegin('state', TType::I32, 1);
+ $xfer += $output->writeI32($this->state);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->reason !== null) {
+ $xfer += $output->writeFieldBegin('reason', TType::STRING, 2);
+ $xfer += $output->writeString($this->reason);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->timeofStateChange !== null) {
+ $xfer += $output->writeFieldBegin('timeofStateChange', TType::I64, 3);
+ $xfer += $output->writeI64($this->timeofStateChange);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class WorkflowStatus {
+ static $_TSPEC;
+
+ /**
+ * @var int
+ */
+ public $state = null;
+ /**
+ * @var int
+ */
+ public $timeOfStateChange = null;
+ /**
+ * @var string
+ */
+ public $reason = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'state',
+ 'type' => TType::I32,
+ ),
+ 2 => array(
+ 'var' => 'timeOfStateChange',
+ 'type' => TType::I64,
+ ),
+ 3 => array(
+ 'var' => 'reason',
+ 'type' => TType::STRING,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['state'])) {
+ $this->state = $vals['state'];
+ }
+ if (isset($vals['timeOfStateChange'])) {
+ $this->timeOfStateChange = $vals['timeOfStateChange'];
+ }
+ if (isset($vals['reason'])) {
+ $this->reason = $vals['reason'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'WorkflowStatus';
+ }
+
+ public function read($input)
+ {
+ $xfer = 0;
+ $fname = null;
+ $ftype = 0;
+ $fid = 0;
+ $xfer += $input->readStructBegin($fname);
+ while (true)
+ {
+ $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+ if ($ftype == TType::STOP) {
+ break;
+ }
+ switch ($fid)
+ {
+ case 1:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->state);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::I64) {
+ $xfer += $input->readI64($this->timeOfStateChange);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->reason);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ default:
+ $xfer += $input->skip($ftype);
+ break;
+ }
+ $xfer += $input->readFieldEnd();
+ }
+ $xfer += $input->readStructEnd();
+ return $xfer;
+ }
+
+ public function write($output) {
+ $xfer = 0;
+ $xfer += $output->writeStructBegin('WorkflowStatus');
+ if ($this->state !== null) {
+ $xfer += $output->writeFieldBegin('state', TType::I32, 1);
+ $xfer += $output->writeI32($this->state);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->timeOfStateChange !== null) {
+ $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+ $xfer += $output->writeI64($this->timeOfStateChange);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->reason !== null) {
+ $xfer += $output->writeFieldBegin('reason', TType::STRING, 3);
+ $xfer += $output->writeString($this->reason);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class EdgeModel {
+ static $_TSPEC;
+
+ /**
+ * @var string
+ */
+ public $edgeId = "DO_NOT_SET_AT_CLIENTS";
+ /**
+ * @var string
+ */
+ public $name = null;
+ /**
+ * @var \Airavata\Model\ComponentStatus
+ */
+ public $status = null;
+ /**
+ * @var string
+ */
+ public $description = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'edgeId',
+ 'type' => TType::STRING,
+ ),
+ 2 => array(
+ 'var' => 'name',
+ 'type' => TType::STRING,
+ ),
+ 3 => array(
+ 'var' => 'status',
+ 'type' => TType::STRUCT,
+ 'class' => '\Airavata\Model\ComponentStatus',
+ ),
+ 4 => array(
+ 'var' => 'description',
+ 'type' => TType::STRING,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['edgeId'])) {
+ $this->edgeId = $vals['edgeId'];
+ }
+ if (isset($vals['name'])) {
+ $this->name = $vals['name'];
+ }
+ if (isset($vals['status'])) {
+ $this->status = $vals['status'];
+ }
+ if (isset($vals['description'])) {
+ $this->description = $vals['description'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'EdgeModel';
+ }
+
+ public function read($input)
+ {
+ $xfer = 0;
+ $fname = null;
+ $ftype = 0;
+ $fid = 0;
+ $xfer += $input->readStructBegin($fname);
+ while (true)
+ {
+ $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+ if ($ftype == TType::STOP) {
+ break;
+ }
+ switch ($fid)
+ {
+ case 1:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->edgeId);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->name);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::STRUCT) {
+ $this->status = new \Airavata\Model\ComponentStatus();
+ $xfer += $this->status->read($input);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 4:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->description);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ default:
+ $xfer += $input->skip($ftype);
+ break;
+ }
+ $xfer += $input->readFieldEnd();
+ }
+ $xfer += $input->readStructEnd();
+ return $xfer;
+ }
+
+ public function write($output) {
+ $xfer = 0;
+ $xfer += $output->writeStructBegin('EdgeModel');
+ if ($this->edgeId !== null) {
+ $xfer += $output->writeFieldBegin('edgeId', TType::STRING, 1);
+ $xfer += $output->writeString($this->edgeId);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->name !== null) {
+ $xfer += $output->writeFieldBegin('name', TType::STRING, 2);
+ $xfer += $output->writeString($this->name);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->status !== null) {
+ if (!is_object($this->status)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('status', TType::STRUCT, 3);
+ $xfer += $this->status->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->description !== null) {
+ $xfer += $output->writeFieldBegin('description', TType::STRING, 4);
+ $xfer += $output->writeString($this->description);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class PortModel {
+ static $_TSPEC;
+
+ /**
+ * @var string
+ */
+ public $portId = "DO_NOT_SET_AT_CLIENTS";
+ /**
+ * @var string
+ */
+ public $name = null;
+ /**
+ * @var \Airavata\Model\ComponentStatus
+ */
+ public $status = null;
+ /**
+ * @var string
+ */
+ public $value = null;
+ /**
+ * @var string
+ */
+ public $description = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'portId',
+ 'type' => TType::STRING,
+ ),
+ 2 => array(
+ 'var' => 'name',
+ 'type' => TType::STRING,
+ ),
+ 3 => array(
+ 'var' => 'status',
+ 'type' => TType::STRUCT,
+ 'class' => '\Airavata\Model\ComponentStatus',
+ ),
+ 4 => array(
+ 'var' => 'value',
+ 'type' => TType::STRING,
+ ),
+ 5 => array(
+ 'var' => 'description',
+ 'type' => TType::STRING,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['portId'])) {
+ $this->portId = $vals['portId'];
+ }
+ if (isset($vals['name'])) {
+ $this->name = $vals['name'];
+ }
+ if (isset($vals['status'])) {
+ $this->status = $vals['status'];
+ }
+ if (isset($vals['value'])) {
+ $this->value = $vals['value'];
+ }
+ if (isset($vals['description'])) {
+ $this->description = $vals['description'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'PortModel';
+ }
+
+ public function read($input)
+ {
+ $xfer = 0;
+ $fname = null;
+ $ftype = 0;
+ $fid = 0;
+ $xfer += $input->readStructBegin($fname);
+ while (true)
+ {
+ $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+ if ($ftype == TType::STOP) {
+ break;
+ }
+ switch ($fid)
+ {
+ case 1:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->portId);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->name);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::STRUCT) {
+ $this->status = new \Airavata\Model\ComponentStatus();
+ $xfer += $this->status->read($input);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 4:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->value);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 5:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->description);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ default:
+ $xfer += $input->skip($ftype);
+ break;
+ }
+ $xfer += $input->readFieldEnd();
+ }
+ $xfer += $input->readStructEnd();
+ return $xfer;
+ }
+
+ public function write($output) {
+ $xfer = 0;
+ $xfer += $output->writeStructBegin('PortModel');
+ if ($this->portId !== null) {
+ $xfer += $output->writeFieldBegin('portId', TType::STRING, 1);
+ $xfer += $output->writeString($this->portId);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->name !== null) {
+ $xfer += $output->writeFieldBegin('name', TType::STRING, 2);
+ $xfer += $output->writeString($this->name);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->status !== null) {
+ if (!is_object($this->status)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('status', TType::STRUCT, 3);
+ $xfer += $this->status->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->value !== null) {
+ $xfer += $output->writeFieldBegin('value', TType::STRING, 4);
+ $xfer += $output->writeString($this->value);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->description !== null) {
+ $xfer += $output->writeFieldBegin('description', TType::STRING, 5);
+ $xfer += $output->writeString($this->description);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class NodeModel {
+ static $_TSPEC;
+
+ /**
+ * @var string
+ */
+ public $nodeId = "DO_NOT_SET_AT_CLIENTS";
+ /**
+ * @var string
+ */
+ public $name = null;
+ /**
+ * @var string
+ */
+ public $applicationId = null;
+ /**
+ * @var string
+ */
+ public $applicationName = null;
+ /**
+ * @var \Airavata\Model\ComponentStatus
+ */
+ public $status = null;
+ /**
+ * @var string
+ */
+ public $description = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'nodeId',
+ 'type' => TType::STRING,
+ ),
+ 2 => array(
+ 'var' => 'name',
+ 'type' => TType::STRING,
+ ),
+ 3 => array(
+ 'var' => 'applicationId',
+ 'type' => TType::STRING,
+ ),
+ 4 => array(
+ 'var' => 'applicationName',
+ 'type' => TType::STRING,
+ ),
+ 5 => array(
+ 'var' => 'status',
+ 'type' => TType::STRUCT,
+ 'class' => '\Airavata\Model\ComponentStatus',
+ ),
+ 6 => array(
+ 'var' => 'description',
+ 'type' => TType::STRING,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['nodeId'])) {
+ $this->nodeId = $vals['nodeId'];
+ }
+ if (isset($vals['name'])) {
+ $this->name = $vals['name'];
+ }
+ if (isset($vals['applicationId'])) {
+ $this->applicationId = $vals['applicationId'];
+ }
+ if (isset($vals['applicationName'])) {
+ $this->applicationName = $vals['applicationName'];
+ }
+ if (isset($vals['status'])) {
+ $this->status = $vals['status'];
+ }
+ if (isset($vals['description'])) {
+ $this->description = $vals['description'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'NodeModel';
+ }
+
+ public function read($input)
+ {
+ $xfer = 0;
+ $fname = null;
+ $ftype = 0;
+ $fid = 0;
+ $xfer += $input->readStructBegin($fname);
+ while (true)
+ {
+ $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+ if ($ftype == TType::STOP) {
+ break;
+ }
+ switch ($fid)
+ {
+ case 1:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->nodeId);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->name);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->applicationId);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 4:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->applicationName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 5:
+ if ($ftype == TType::STRUCT) {
+ $this->status = new \Airavata\Model\ComponentStatus();
+ $xfer += $this->status->read($input);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 6:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->description);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ default:
+ $xfer += $input->skip($ftype);
+ break;
+ }
+ $xfer += $input->readFieldEnd();
+ }
+ $xfer += $input->readStructEnd();
+ return $xfer;
+ }
+
+ public function write($output) {
+ $xfer = 0;
+ $xfer += $output->writeStructBegin('NodeModel');
+ if ($this->nodeId !== null) {
+ $xfer += $output->writeFieldBegin('nodeId', TType::STRING, 1);
+ $xfer += $output->writeString($this->nodeId);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->name !== null) {
+ $xfer += $output->writeFieldBegin('name', TType::STRING, 2);
+ $xfer += $output->writeString($this->name);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->applicationId !== null) {
+ $xfer += $output->writeFieldBegin('applicationId', TType::STRING, 3);
+ $xfer += $output->writeString($this->applicationId);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->applicationName !== null) {
+ $xfer += $output->writeFieldBegin('applicationName', TType::STRING, 4);
+ $xfer += $output->writeString($this->applicationName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->status !== null) {
+ if (!is_object($this->status)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('status', TType::STRUCT, 5);
+ $xfer += $this->status->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->description !== null) {
+ $xfer += $output->writeFieldBegin('description', TType::STRING, 6);
+ $xfer += $output->writeString($this->description);
+ $xfer += $output->writeFieldEnd();
+ }
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index 720f50c..f75c290 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -151,10 +151,10 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
print(' bool deleteGatewayComputeResourcePreference(AuthzToken authzToken, string gatewayID, string computeResourceId)')
print(' bool deleteGatewayStoragePreference(AuthzToken authzToken, string gatewayID, string storageId)')
print(' getAllWorkflows(AuthzToken authzToken, string gatewayId)')
- print(' Workflow getWorkflow(AuthzToken authzToken, string workflowTemplateId)')
+ print(' WorkflowModel getWorkflow(AuthzToken authzToken, string workflowTemplateId)')
print(' void deleteWorkflow(AuthzToken authzToken, string workflowTemplateId)')
- print(' string registerWorkflow(AuthzToken authzToken, string gatewayId, Workflow workflow)')
- print(' void updateWorkflow(AuthzToken authzToken, string workflowTemplateId, Workflow workflow)')
+ print(' string registerWorkflow(AuthzToken authzToken, string gatewayId, WorkflowModel workflow)')
+ print(' void updateWorkflow(AuthzToken authzToken, string workflowTemplateId, WorkflowModel workflow)')
print(' string getWorkflowTemplateId(AuthzToken authzToken, string workflowName)')
print(' bool isWorkflowExistWithName(AuthzToken authzToken, string workflowName)')
print(' string registerDataResource(AuthzToken authzToken, DataResourceModel dataResourceModel)')
[06/50] [abbrv] airavata git commit: Adding API method descriptions
to App Catalog Airavata Thrift APIs
Posted by ch...@apache.org.
Adding API method descriptions to App Catalog Airavata Thrift APIs
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/ea338004
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/ea338004
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/ea338004
Branch: refs/heads/master
Commit: ea3380045d73c22ed757e9928d633a3cb2345de0
Parents: 8e421f4
Author: Eroma Abeysinghe <er...@gmail.com>
Authored: Wed Jan 20 00:53:32 2016 -0500
Committer: Eroma Abeysinghe <er...@gmail.com>
Committed: Wed Jan 20 00:53:32 2016 -0500
----------------------------------------------------------------------
.../airavata-apis/airavata_api.thrift | 100 ++++++++++++-------
1 file changed, 64 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/ea338004/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
index 567fc50..68e145d 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -1037,19 +1037,19 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
- * Get Job Details for all the jobs within an Experiment
+ *
+ * Get Job Details for all the jobs within an Experiment.
* This method to be used when need to get the job details for one or many jobs of an Experiment.
*
* @param authzToken
*
* @param experiementId
- * Experiment ID of the experimnet you need job details
+ * Experiment ID of the experimnet you need job details.
*
* @return list of JobDetails
- * Job details
+ * Job details.
*
**/
-
list<job_model.JobModel> getJobDetails(1: required security_model.AuthzToken authzToken,
2: required string airavataExperimentId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1059,7 +1059,9 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
- * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+ *
+ * Clone an Existing Experiment
+ * Existing specified experiment is cloned and a new name is provided. A copy of the experiment configuration is made and is persisted with new metadata.
* The client has to subsequently update this configuration if needed and launch the cloned experiment.
*
* @param newExperimentName
@@ -1071,7 +1073,7 @@ service Airavata {
* should be shared public by default.
*
* @return
- * The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+ * The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
* For any incorrect forming of the request itself.
@@ -1097,7 +1099,6 @@ service Airavata {
* rather an Airavata Administrator will be notified to take corrective action.
*
*/
-
string cloneExperiment(1: required security_model.AuthzToken authzToken,
2: string existingExperimentID,
3: string newExperimentName)
@@ -1108,12 +1109,16 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/**
- * Terminate a running experiment.
+ *
+ * Terminate a running Experiment.
+ *
+ * @gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
*
* @param airavataExperimentId
- * The identifier for the requested experiment. This is returned during the create experiment step.
+ * The identifier of the experiment required termination. This ID is returned during the create experiment step.
*
- * @return
+ * @return status
* This method call does not have a return value.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
@@ -1140,7 +1145,6 @@ service Airavata {
* rather an Airavata Administrator will be notified to take corrective action.
*
*/
-
void terminateExperiment(1: required security_model.AuthzToken authzToken,
2: string airavataExperimentId,
3: string gatewayId)
@@ -1151,13 +1155,16 @@ service Airavata {
5: airavata_errors.AuthorizationException ae)
/*
+ *
* API definitions for App Catalog related operations
*
*/
/*
- * Application Module is a specific computational application. Many applications, particularly scientific applications
- * are really a suite of applications or encompass an ecosystem. For instance, Amber is referred to dozens of binaries.
+ *
+ * Application Module
+ * A specific computational application. Many applications, particularly scientific applications
+ * are really a suite of applications or encompass of an ecosystem. For instance, Amber is referred to dozens of binaries.
* WRF is referred for an ecosystem of applications. In this context, we refer to module as a single binary.
*
* Note: A module has to be defined before a deployment can be registered.
@@ -1165,16 +1172,19 @@ service Airavata {
*/
/**
+ *
* Register a Application Module.
*
+ * @gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
* @param applicationModule
* Application Module Object created from the datamodel.
*
* @return appModuleId
- * Returns a server-side generated airavata appModule globally unique identifier.
+ * Returns the server-side generated airavata appModule globally unique identifier.
*
*/
-
string registerApplicationModule(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required application_deployment_model.ApplicationModule applicationModule)
@@ -1184,16 +1194,16 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Fetch a Application Module.
*
* @param appModuleId
- * The identifier for the requested application module
+ * The unique identifier of the application module required
*
* @return applicationModule
- * Returns a application Module Object.
+ * Returns an Application Module Object.
*
*/
-
application_deployment_model.ApplicationModule getApplicationModule(1: required security_model.AuthzToken authzToken,
2: required string appModuleId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1202,6 +1212,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Update a Application Module.
*
* @param appModuleId
@@ -1214,7 +1225,6 @@ service Airavata {
* Returns a success/failure of the update.
*
*/
-
bool updateApplicationModule(1: required security_model.AuthzToken authzToken,
2: required string appModuleId,
3: required application_deployment_model.ApplicationModule applicationModule)
@@ -1223,7 +1233,17 @@ service Airavata {
3: airavata_errors.AiravataSystemException ase,
4: airavata_errors.AuthorizationException ae)
-
+ /**
+ *
+ * Fetch all Application Module Descriptions.
+ *
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
+ * @return list
+ * Returns the list of all Application Module Objects.
+ *
+ */
list<application_deployment_model.ApplicationModule> getAllAppModules (1: required security_model.AuthzToken authzToken,
2: required string gatewayId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1232,16 +1252,16 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Delete a Application Module.
+ *
+ * Delete an Application Module.
*
* @param appModuleId
- * The identifier for the requested application module to be deleted.
+ * The identifier of the Application Module to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
*
*/
-
bool deleteApplicationModule(1: required security_model.AuthzToken authzToken,
2: required string appModuleId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1250,21 +1270,26 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/*
- * Application Deployment registers a deployment of a application module on a compute resource
+ *
+ * Application Deployment
+ * Registers a deployment of an Application Module on a Compute Resource.
*
*/
/**
- * Register a Application Deployment.
*
- * @param applicationModule
+ * Register an Application Deployment.
+ *
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
+ * @param applicationDeployment
* Application Module Object created from the datamodel.
*
* @return appDeploymentId
* Returns a server-side generated airavata appDeployment globally unique identifier.
*
*/
-
string registerApplicationDeployment(1: required security_model.AuthzToken authzToken,
2: required string gatewayId,
3: required application_deployment_model.ApplicationDeploymentDescription applicationDeployment)
@@ -1274,6 +1299,7 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Fetch a Application Deployment.
*
* @param appDeploymentId
@@ -1283,7 +1309,6 @@ service Airavata {
* Returns a application Deployment Object.
*
*/
-
application_deployment_model.ApplicationDeploymentDescription getApplicationDeployment(1: required security_model.AuthzToken authzToken,
2: required string appDeploymentId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1292,10 +1317,11 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Update a Application Deployment.
+ *
+ * Update an Application Deployment.
*
* @param appDeploymentId
- * The identifier for the requested application deployment to be updated.
+ * The identifier of the requested application deployment to be updated.
*
* @param appDeployment
* Application Deployment Object created from the datamodel.
@@ -1304,7 +1330,6 @@ service Airavata {
* Returns a success/failure of the update.
*
*/
-
bool updateApplicationDeployment(1: required security_model.AuthzToken authzToken,
2: required string appDeploymentId,
3: required application_deployment_model.ApplicationDeploymentDescription applicationDeployment)
@@ -1314,16 +1339,16 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
- * Delete a Application deployment.
+ *
+ * Delete an Application Deployment.
*
* @param appDeploymentId
- * The identifier for the requested application deployment to be deleted.
+ * The unique identifier of application deployment to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
*
*/
-
bool deleteApplicationDeployment(1: required security_model.AuthzToken authzToken,
2: required string appDeploymentId)
throws (1: airavata_errors.InvalidRequestException ire,
@@ -1332,13 +1357,16 @@ service Airavata {
4: airavata_errors.AuthorizationException ae)
/**
+ *
* Fetch all Application Deployment Descriptions.
*
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
* @return list<applicationDeployment.
- * Returns the list of all application Deployment Objects.
+ * Returns the list of all application Deployment Objects.
*
*/
-
list<application_deployment_model.ApplicationDeploymentDescription> getAllApplicationDeployments(1: required security_model.AuthzToken authzToken,
2: required string gatewayId)
throws (1: airavata_errors.InvalidRequestException ire,
[15/50] [abbrv] airavata git commit: Fixed some compilation issues
with workflow-core model
Posted by ch...@apache.org.
Fixed some compilation issues with workflow-core model
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b65079a7
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b65079a7
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b65079a7
Branch: refs/heads/master
Commit: b65079a75e8a67d4c48832bcd7a168a0aa3b7d99
Parents: b5d568d
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Feb 1 12:01:48 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Feb 1 12:01:48 2016 -0500
----------------------------------------------------------------------
.../airavata/workflow/core/ProcessContext.java | 62 -----------
.../core/SimpleWorkflowInterpreter.java | 111 +++++++++----------
.../airavata/workflow/core/WorkflowContext.java | 60 ++++++++++
.../workflow/core/WorkflowEnactmentService.java | 22 ++--
.../core/parser/JsonWorkflowParser.java | 21 ++++
5 files changed, 140 insertions(+), 136 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/b65079a7/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/ProcessContext.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/ProcessContext.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/ProcessContext.java
deleted file mode 100644
index cf78f9e..0000000
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/ProcessContext.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- *
- * 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.workflow.core;
-
-import org.apache.airavata.model.experiment.TaskDetails;
-import org.apache.airavata.model.experiment.WorkflowNodeDetails;
-import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
-
-public class ProcessContext {
- private WorkflowNode workflowNode;
- private WorkflowNodeDetails wfNodeDetails;
- private TaskDetails taskDetails;
-
- public ProcessContext(WorkflowNode workflowNode, WorkflowNodeDetails wfNodeDetails, TaskDetails taskDetails) {
- this.workflowNode = workflowNode;
- this.wfNodeDetails = wfNodeDetails;
- this.taskDetails = taskDetails;
- }
-
- public WorkflowNode getWorkflowNode() {
- return workflowNode;
- }
-
- public void setWorkflowNode(WorkflowNode workflowNode) {
- this.workflowNode = workflowNode;
- }
-
- public WorkflowNodeDetails getWfNodeDetails() {
- return wfNodeDetails;
- }
-
- public void setWfNodeDetails(WorkflowNodeDetails wfNodeDetails) {
- this.wfNodeDetails = wfNodeDetails;
- }
-
- public TaskDetails getTaskDetails() {
- return taskDetails;
- }
-
- public void setTaskDetails(TaskDetails taskDetails) {
- this.taskDetails = taskDetails;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b65079a7/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
index 5d00354..defbad4 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
@@ -24,23 +24,15 @@ package org.apache.airavata.workflow.core;
import org.apache.airavata.common.exception.AiravataException;
import org.apache.airavata.common.utils.AiravataUtils;
import org.apache.airavata.messaging.core.MessageContext;
-import org.apache.airavata.messaging.core.impl.RabbitMQProcessPublisher;
+import org.apache.airavata.messaging.core.impl.RabbitMQProcessLaunchPublisher;
import org.apache.airavata.messaging.core.impl.RabbitMQStatusConsumer;
-import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
-import org.apache.airavata.model.messaging.event.MessageType;
-import org.apache.airavata.model.messaging.event.ProcessSubmitEvent;
-import org.apache.airavata.model.messaging.event.TaskIdentifier;
-import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent;
-import org.apache.airavata.model.messaging.event.TaskStatusChangeEvent;
-import org.apache.airavata.model.util.ExperimentModelUtil;
-import org.apache.airavata.model.experiment.ExecutionUnit;
+import org.apache.airavata.model.application.io.OutputDataObjectType;
import org.apache.airavata.model.experiment.ExperimentModel;
-import org.apache.airavata.model.experiment.TaskDetails;
-import org.apache.airavata.model.experiment.TaskState;
-import org.apache.airavata.model.experiment.WorkflowNodeDetails;
-import org.apache.airavata.model.experiment.WorkflowNodeState;
-import org.apache.airavata.model.experiment.WorkflowNodeStatus;
+import org.apache.airavata.model.messaging.event.*;
+import org.apache.airavata.model.status.ProcessState;
+import org.apache.airavata.model.util.ExperimentModelUtil;
import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
+import org.apache.airavata.registry.core.experiment.catalog.model.Experiment;
import org.apache.airavata.registry.cpi.*;
import org.apache.airavata.workflow.core.dag.edge.Edge;
import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
@@ -69,7 +61,7 @@ class SimpleWorkflowInterpreter{
private static final Logger log = LoggerFactory.getLogger(SimpleWorkflowInterpreter.class);
private List<WorkflowInputNode> workflowInputNodes;
- private Experiment experiment;
+ private ExperimentModel experiment;
private String credentialToken;
@@ -77,23 +69,23 @@ class SimpleWorkflowInterpreter{
private Map<String, WorkflowNode> readyList = new ConcurrentHashMap<String, WorkflowNode>();
private Map<String, WorkflowNode> waitingList = new ConcurrentHashMap<String, WorkflowNode>();
- private Map<String, ProcessContext> processingQueue = new ConcurrentHashMap<String, ProcessContext>();
- private Map<String, ProcessContext> completeList = new HashMap<String, ProcessContext>();
+ private Map<String, WorkflowContext> processingQueue = new ConcurrentHashMap<String, WorkflowContext>();
+ private Map<String, WorkflowContext> completeList = new HashMap<String, WorkflowContext>();
private Registry registry;
private List<WorkflowOutputNode> completeWorkflowOutputs = new ArrayList<WorkflowOutputNode>();
- private RabbitMQProcessPublisher publisher;
+ private RabbitMQProcessLaunchPublisher publisher;
private RabbitMQStatusConsumer statusConsumer;
private String consumerId;
private boolean continueWorkflow = true;
- public SimpleWorkflowInterpreter(String experimentId, String credentialToken, String gatewayName, RabbitMQProcessPublisher publisher) throws RegistryException {
+ public SimpleWorkflowInterpreter(String experimentId, String credentialToken, String gatewayName, RabbitMQProcessLaunchPublisher publisher) throws RegistryException {
this.gatewayName = gatewayName;
setExperiment(experimentId);
this.credentialToken = credentialToken;
this.publisher = publisher;
}
- public SimpleWorkflowInterpreter(Experiment experiment, String credentialStoreToken, String gatewayName, RabbitMQProcessPublisher publisher) {
+ public SimpleWorkflowInterpreter(ExperimentModel experiment, String credentialStoreToken, String gatewayName, RabbitMQProcessLaunchPublisher publisher) {
this.gatewayName = gatewayName;
this.experiment = experiment;
this.credentialToken = credentialStoreToken;
@@ -106,7 +98,7 @@ class SimpleWorkflowInterpreter{
*/
void launchWorkflow() throws Exception {
WorkflowFactoryImpl wfFactory = WorkflowFactoryImpl.getInstance();
- WorkflowParser workflowParser = wfFactory.getWorkflowParser(experiment.getExperimentID(), credentialToken);
+ WorkflowParser workflowParser = wfFactory.getWorkflowParser(experiment.getExperimentId(), credentialToken);
log.debug("Initialized workflow parser");
setWorkflowInputNodes(workflowParser.parse());
log.debug("Parsed the workflow and got the workflow input nodes");
@@ -144,8 +136,8 @@ class SimpleWorkflowInterpreter{
}
WorkflowNodeDetails workflowNodeDetails = createWorkflowNodeDetails(readyNode);
TaskDetails process = getProcess(workflowNodeDetails);
- ProcessContext processContext = new ProcessContext(readyNode, workflowNodeDetails, process);
- addToProcessingQueue(processContext);
+ WorkflowContext workflowContext = new WorkflowContext(readyNode, workflowNodeDetails, process);
+ addToProcessingQueue(workflowContext);
publishToProcessQueue(process);
}
if (processingQueue.isEmpty()) {
@@ -277,16 +269,16 @@ class SimpleWorkflowInterpreter{
/**
* First remove the node from ready list and then add the WfNodeContainer to the process queue.
* Note that underline data structure of the process queue is a Map.
- * @param processContext - has both workflow and correspond workflowNodeDetails and TaskDetails
+ * @param workflowContext - has both workflow and correspond workflowNodeDetails and TaskDetails
*/
- private synchronized void addToProcessingQueue(ProcessContext processContext) {
- readyList.remove(processContext.getWorkflowNode().getId());
- processingQueue.put(processContext.getTaskDetails().getTaskID(), processContext);
+ private synchronized void addToProcessingQueue(WorkflowContext workflowContext) {
+ readyList.remove(workflowContext.getWorkflowNode().getId());
+ processingQueue.put(workflowContext.getTaskDetails().getTaskID(), workflowContext);
}
- private synchronized void addToCompleteQueue(ProcessContext processContext) {
- processingQueue.remove(processContext.getTaskDetails().getTaskID());
- completeList.put(processContext.getTaskDetails().getTaskID(), processContext);
+ private synchronized void addToCompleteQueue(WorkflowContext workflowContext) {
+ processingQueue.remove(workflowContext.getTaskDetails().getTaskID());
+ completeList.put(workflowContext.getTaskDetails().getTaskID(), workflowContext);
}
@@ -309,10 +301,10 @@ class SimpleWorkflowInterpreter{
String taskId = taskOutputChangeEvent.getTaskIdentity().getTaskId();
log.debug("Task Output changed event received for workflow node : " +
taskOutputChangeEvent.getTaskIdentity().getWorkflowNodeId() + ", task : " + taskId);
- ProcessContext processContext = processingQueue.get(taskId);
+ WorkflowContext workflowContext = processingQueue.get(taskId);
Set<WorkflowNode> tempWfNodeSet = new HashSet<WorkflowNode>();
- if (processContext != null) {
- WorkflowNode workflowNode = processContext.getWorkflowNode();
+ if (workflowContext != null) {
+ WorkflowNode workflowNode = workflowContext.getWorkflowNode();
if (workflowNode instanceof ApplicationNode) {
ApplicationNode applicationNode = (ApplicationNode) workflowNode;
// Workflow node can have one to many output ports and each output port can have one to many links
@@ -331,7 +323,7 @@ class SimpleWorkflowInterpreter{
}
}
}
- addToCompleteQueue(processContext);
+ addToCompleteQueue(workflowContext);
log.debug("removed task from processing queue : " + taskId);
try {
processReadyList();
@@ -342,67 +334,64 @@ class SimpleWorkflowInterpreter{
}
}
- void handleTaskStatusChangeEvent(TaskStatusChangeEvent taskStatusChangeEvent) {
- TaskState taskState = taskStatusChangeEvent.getState();
- TaskIdentifier taskIdentity = taskStatusChangeEvent.getTaskIdentity();
- String taskId = taskIdentity.getTaskId();
- ProcessContext processContext = processingQueue.get(taskId);
- if (processContext != null) {
+ void handleProcessStatusChangeEvent(ProcessStatusChangeEvent processStatusChangeEvent) {
+ ProcessState processState = processStatusChangeEvent.getState();
+ ProcessIdentifier processIdentity = processStatusChangeEvent.getProcessIdentity();
+ String processId = processIdentity.getProcessId();
+ WorkflowContext workflowContext = processingQueue.get(processId);
+ if (workflowContext != null) {
WorkflowNodeState wfNodeState = WorkflowNodeState.INVOKED;
- switch (taskState) {
- case WAITING:
- break;
+ switch (processState) {
+ case CREATED:
+ case VALIDATED:
case STARTED:
break;
+ case CONFIGURING_WORKSPACE:
+ wfNodeState = WorkflowNodeState.COMPLETED;
+ break;
case PRE_PROCESSING:
wfNodeState = WorkflowNodeState.INVOKED;
- processContext.getWorkflowNode().setState(NodeState.PRE_PROCESSING);
+ workflowContext.getWorkflowNode().setState(NodeState.PRE_PROCESSING);
break;
case INPUT_DATA_STAGING:
wfNodeState = WorkflowNodeState.INVOKED;
- processContext.getWorkflowNode().setState(NodeState.PRE_PROCESSING);
+ workflowContext.getWorkflowNode().setState(NodeState.PRE_PROCESSING);
break;
case EXECUTING:
wfNodeState = WorkflowNodeState.EXECUTING;
- processContext.getWorkflowNode().setState(NodeState.EXECUTING);
+ workflowContext.getWorkflowNode().setState(NodeState.EXECUTING);
break;
case OUTPUT_DATA_STAGING:
wfNodeState = WorkflowNodeState.COMPLETED;
- processContext.getWorkflowNode().setState(NodeState.POST_PROCESSING);
+ workflowContext.getWorkflowNode().setState(NodeState.POST_PROCESSING);
break;
case POST_PROCESSING:
wfNodeState = WorkflowNodeState.COMPLETED;
- processContext.getWorkflowNode().setState(NodeState.POST_PROCESSING);
+ workflowContext.getWorkflowNode().setState(NodeState.POST_PROCESSING);
break;
case COMPLETED:
wfNodeState = WorkflowNodeState.COMPLETED;
- processContext.getWorkflowNode().setState(NodeState.EXECUTED);
+ workflowContext.getWorkflowNode().setState(NodeState.EXECUTED);
break;
case FAILED:
wfNodeState = WorkflowNodeState.FAILED;
- processContext.getWorkflowNode().setState(NodeState.FAILED);
- break;
- case UNKNOWN:
- wfNodeState = WorkflowNodeState.UNKNOWN;
- break;
- case CONFIGURING_WORKSPACE:
- wfNodeState = WorkflowNodeState.COMPLETED;
+ workflowContext.getWorkflowNode().setState(NodeState.FAILED);
break;
case CANCELED:
- case CANCELING:
+ case CANCELLING:
wfNodeState = WorkflowNodeState.CANCELED;
- processContext.getWorkflowNode().setState(NodeState.FAILED);
+ workflowContext.getWorkflowNode().setState(NodeState.FAILED);
break;
default:
break;
}
if (wfNodeState != WorkflowNodeState.UNKNOWN) {
try {
- updateWorkflowNodeStatus(processContext.getWfNodeDetails(), wfNodeState);
+ updateWorkflowNodeStatus(workflowContext.getWfNodeDetails(), wfNodeState);
} catch (RegistryException e) {
log.error("Error while updating workflow node status update to the registry. nodeInstanceId :"
- + processContext.getWfNodeDetails().getNodeInstanceId() + " status to: "
- + processContext.getWfNodeDetails().getWorkflowNodeStatus().toString() , e);
+ + workflowContext.getWfNodeDetails().getNodeInstanceId() + " status to: "
+ + workflowContext.getWfNodeDetails().getWorkflowNodeStatus().toString() , e);
}
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b65079a7/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowContext.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowContext.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowContext.java
new file mode 100644
index 0000000..47bd9ca
--- /dev/null
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowContext.java
@@ -0,0 +1,60 @@
+/*
+ *
+ * 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.workflow.core;
+
+import org.apache.airavata.workflow.core.dag.nodes.WorkflowNode;
+
+public class WorkflowContext {
+ private WorkflowNode workflowNode;
+ private WorkflowNodeDetails wfNodeDetails;
+ private TaskDetails taskDetails;
+
+ public WorkflowContext(WorkflowNode workflowNode, WorkflowNodeDetails wfNodeDetails, TaskDetails taskDetails) {
+ this.workflowNode = workflowNode;
+ this.wfNodeDetails = wfNodeDetails;
+ this.taskDetails = taskDetails;
+ }
+
+ public WorkflowNode getWorkflowNode() {
+ return workflowNode;
+ }
+
+ public void setWorkflowNode(WorkflowNode workflowNode) {
+ this.workflowNode = workflowNode;
+ }
+
+ public WorkflowNodeDetails getWfNodeDetails() {
+ return wfNodeDetails;
+ }
+
+ public void setWfNodeDetails(WorkflowNodeDetails wfNodeDetails) {
+ this.wfNodeDetails = wfNodeDetails;
+ }
+
+ public TaskDetails getTaskDetails() {
+ return taskDetails;
+ }
+
+ public void setTaskDetails(TaskDetails taskDetails) {
+ this.taskDetails = taskDetails;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/b65079a7/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
index 7795296..8ca0706 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/WorkflowEnactmentService.java
@@ -26,12 +26,9 @@ import org.apache.airavata.common.utils.ServerSettings;
import org.apache.airavata.messaging.core.MessageContext;
import org.apache.airavata.messaging.core.MessageHandler;
import org.apache.airavata.messaging.core.MessagingConstants;
-import org.apache.airavata.messaging.core.impl.RabbitMQProcessPublisher;
+import org.apache.airavata.messaging.core.impl.RabbitMQProcessLaunchPublisher;
import org.apache.airavata.messaging.core.impl.RabbitMQStatusConsumer;
-import org.apache.airavata.model.messaging.event.MessageType;
-import org.apache.airavata.model.messaging.event.TaskIdentifier;
-import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent;
-import org.apache.airavata.model.messaging.event.TaskStatusChangeEvent;
+import org.apache.airavata.model.messaging.event.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -74,7 +71,7 @@ public class WorkflowEnactmentService {
public void submitWorkflow(String experimentId,
String credentialToken,
String gatewayName,
- RabbitMQProcessPublisher publisher) throws Exception {
+ RabbitMQProcessLaunchPublisher publisher) throws Exception {
SimpleWorkflowInterpreter simpleWorkflowInterpreter = new SimpleWorkflowInterpreter(
experimentId, credentialToken,gatewayName, publisher);
@@ -129,18 +126,17 @@ public class WorkflowEnactmentService {
private void process() {
String message;
SimpleWorkflowInterpreter simpleWorkflowInterpreter;
- if (msgCtx.getType() == MessageType.TASK) {
- TaskStatusChangeEvent event = (TaskStatusChangeEvent) msgCtx.getEvent();
- TaskIdentifier taskIdentifier = event.getTaskIdentity();
- simpleWorkflowInterpreter = getInterpreter(taskIdentifier.getExperimentId());
+ if (msgCtx.getType() == MessageType.PROCESS) {
+ ProcessStatusChangeEvent event = ((ProcessStatusChangeEvent) msgCtx.getEvent());
+ ProcessIdentifier processIdentity = event.getProcessIdentity();
+ simpleWorkflowInterpreter = getInterpreter(processIdentity.getExperimentId());
if (simpleWorkflowInterpreter != null) {
- simpleWorkflowInterpreter.handleTaskStatusChangeEvent(event);
+ simpleWorkflowInterpreter.handleProcessStatusChangeEvent(event);
} else {
// this happens when Task status messages comes after the Taskoutput messages,as we have worked on
// output changes it is ok to ignore this.
}
- message = "Received task output change event , expId : " + taskIdentifier.getExperimentId() + ", taskId : " + taskIdentifier.getTaskId() + ", workflow node Id : " + taskIdentifier.getWorkflowNodeId();
- log.debug(message);
+
}else if (msgCtx.getType() == MessageType.TASKOUTPUT) {
TaskOutputChangeEvent event = (TaskOutputChangeEvent) msgCtx.getEvent();
TaskIdentifier taskIdentifier = event.getTaskIdentity();
http://git-wip-us.apache.org/repos/asf/airavata/blob/b65079a7/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
new file mode 100644
index 0000000..6c839e7
--- /dev/null
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/JsonWorkflowParser.java
@@ -0,0 +1,21 @@
+package org.apache.airavata.workflow.core.parser;
+
+import org.apache.airavata.workflow.core.WorkflowParser;
+import org.apache.airavata.workflow.core.dag.nodes.WorkflowInputNode;
+
+import java.util.List;
+
+/**
+ * Created by syodage on 1/27/16.
+ */
+public class JsonWorkflowParser implements WorkflowParser {
+
+ public JsonWorkflowParser(String workflowDescription) {
+
+ }
+
+ @Override
+ public List<WorkflowInputNode> parse() throws Exception {
+ return null;
+ }
+}
[10/50] [abbrv] airavata git commit: ignoring empty output files when
output staging
Posted by ch...@apache.org.
ignoring empty output files when output staging
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/462843a4
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/462843a4
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/462843a4
Branch: refs/heads/master
Commit: 462843a47c276806a57bd197400f0664eef13dcd
Parents: d79055a
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Wed Jan 20 14:44:27 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Wed Jan 20 14:44:27 2016 -0500
----------------------------------------------------------------------
.../apache/airavata/gfac/core/cluster/RemoteCluster.java | 2 +-
.../org/apache/airavata/gfac/impl/BESRemoteCluster.java | 2 +-
.../org/apache/airavata/gfac/impl/HPCRemoteCluster.java | 6 +++---
.../apache/airavata/gfac/impl/LocalRemoteCluster.java | 2 +-
.../java/org/apache/airavata/gfac/impl/SSHUtils.java | 4 ++--
.../apache/airavata/gfac/impl/task/SCPDataStageTask.java | 11 ++---------
.../apache/airavata/gfac/impl/task/utils/StreamData.java | 2 +-
7 files changed, 11 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/462843a4/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
index 9e4544c..f50d660 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
@@ -70,7 +70,7 @@ public interface RemoteCluster { // FIXME: replace SSHApiException with suitable
* @param inOrOut direction to file transfer , to the remote cluster(DIRECTION.IN) or from the remote cluster(DIRECTION.OUT)
*
*/
- public void scpThirdParty(String sourceFile, String destinationFile ,Session session , DIRECTION inOrOut) throws SSHApiException;
+ public void scpThirdParty(String sourceFile, String destinationFile ,Session session , DIRECTION inOrOut, boolean ignoreEmptyFile) throws SSHApiException;
/**
* This will create directories in computing resources
http://git-wip-us.apache.org/repos/asf/airavata/blob/462843a4/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
index 1e41eda..0dd69fe 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
@@ -52,7 +52,7 @@ public class BESRemoteCluster extends AbstractRemoteCluster{
}
@Override
- public void scpThirdParty(String sourceFile, String destinationFile, Session session, DIRECTION inOrOut) throws SSHApiException {
+ public void scpThirdParty(String sourceFile, String destinationFile, Session session, DIRECTION inOrOut, boolean ignoreEmptyFile) throws SSHApiException {
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/462843a4/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
index 022c8bc..d4988b5 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
@@ -165,16 +165,16 @@ public class HPCRemoteCluster extends AbstractRemoteCluster{
}
@Override
- public void scpThirdParty(String sourceFile, String destinationFile, Session clientSession, DIRECTION direction) throws SSHApiException {
+ public void scpThirdParty(String sourceFile, String destinationFile, Session clientSession, DIRECTION direction, boolean ignoreEmptyFile) throws SSHApiException {
try {
if(!session.isConnected()){
session = getOpenSession();
}
log.info("Transferring from:" + sourceFile + " To: " + destinationFile);
if (direction == DIRECTION.TO) {
- SSHUtils.scpThirdParty(sourceFile, clientSession, destinationFile, session);
+ SSHUtils.scpThirdParty(sourceFile, clientSession, destinationFile, session, ignoreEmptyFile);
} else {
- SSHUtils.scpThirdParty(sourceFile, session, destinationFile, clientSession);
+ SSHUtils.scpThirdParty(sourceFile, session, destinationFile, clientSession, ignoreEmptyFile);
}
} catch (IOException | JSchException e) {
throw new SSHApiException("Failed scp file:" + sourceFile + " to remote file "
http://git-wip-us.apache.org/repos/asf/airavata/blob/462843a4/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
index d1aa6e0..1bab250 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
@@ -71,7 +71,7 @@ public class LocalRemoteCluster extends AbstractRemoteCluster {
}
@Override
- public void scpThirdParty(String sourceFile, String destinationFile, Session session, DIRECTION inOrOut) throws SSHApiException {
+ public void scpThirdParty(String sourceFile, String destinationFile, Session session, DIRECTION inOrOut, boolean ignoreEmptyFile) throws SSHApiException {
throw new UnsupportedOperationException("Scp third party is not support with LocalRemoteCluster");
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/462843a4/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
index 2281ebc..a8e1017 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
@@ -272,7 +272,7 @@ public class SSHUtils {
* @param destinationSession JSch Session for target
* @return returns the final local file path of the new file came from the remote resource
*/
- public static void scpThirdParty(String sourceFile, Session sourceSession, String destinationFile, Session destinationSession) throws
+ public static void scpThirdParty(String sourceFile, Session sourceSession, String destinationFile, Session destinationSession, boolean ignoreEmptyFile) throws
IOException, JSchException {
OutputStream sout = null;
InputStream sin = null;
@@ -346,7 +346,7 @@ public class SSHUtils {
break;
}
}
- if (fileSize == 0L){
+ if (fileSize == 0L && !ignoreEmptyFile){
String error = "Input file is empty...";
log.error(error);
throw new JSchException(error);
http://git-wip-us.apache.org/repos/asf/airavata/blob/462843a4/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index 605b972..71f689a 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -25,16 +25,10 @@ import com.jcraft.jsch.Session;
import org.apache.airavata.common.exception.AiravataException;
import org.apache.airavata.common.exception.ApplicationSettingsException;
import org.apache.airavata.common.utils.ThriftUtils;
-import org.apache.airavata.credential.store.credential.Credential;
-import org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential;
-import org.apache.airavata.credential.store.store.CredentialReader;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
import org.apache.airavata.gfac.core.GFacException;
import org.apache.airavata.gfac.core.GFacUtils;
import org.apache.airavata.gfac.core.SSHApiException;
import org.apache.airavata.gfac.core.authentication.AuthenticationInfo;
-import org.apache.airavata.gfac.core.authentication.SSHKeyAuthentication;
-import org.apache.airavata.gfac.core.authentication.SSHPasswordAuthentication;
import org.apache.airavata.gfac.core.cluster.CommandInfo;
import org.apache.airavata.gfac.core.cluster.RawCommandInfo;
import org.apache.airavata.gfac.core.cluster.RemoteCluster;
@@ -60,7 +54,6 @@ import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
@@ -258,7 +251,7 @@ public class SCPDataStageTask implements Task {
* scp third party file transfer 'to' compute resource.
*/
taskContext.getParentProcessContext().getDataMovementRemoteCluster().scpThirdParty(sourceURI.getPath(),
- destinationURI.getPath(), sshSession, RemoteCluster.DIRECTION.TO);
+ destinationURI.getPath(), sshSession, RemoteCluster.DIRECTION.TO, false);
}
private void outputDataStaging(TaskContext taskContext, Session sshSession, URI sourceURI, URI destinationURI)
@@ -268,7 +261,7 @@ public class SCPDataStageTask implements Task {
* scp third party file transfer 'from' comute resource.
*/
taskContext.getParentProcessContext().getDataMovementRemoteCluster().scpThirdParty(sourceURI.getPath(),
- destinationURI.getPath(), sshSession, RemoteCluster.DIRECTION.FROM);
+ destinationURI.getPath(), sshSession, RemoteCluster.DIRECTION.FROM, true);
// update output locations
GFacUtils.saveExperimentOutput(taskContext.getParentProcessContext(), taskContext.getProcessOutput().getName(), destinationURI.getPath());
GFacUtils.saveProcessOutput(taskContext.getParentProcessContext(), taskContext.getProcessOutput().getName(), destinationURI.getPath());
http://git-wip-us.apache.org/repos/asf/airavata/blob/462843a4/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/utils/StreamData.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/utils/StreamData.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/utils/StreamData.java
index d89c7d3..76b678a 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/utils/StreamData.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/utils/StreamData.java
@@ -158,7 +158,7 @@ public class StreamData extends TimerTask {
* scp third party file transfer 'from' comute resource.
*/
taskContext.getParentProcessContext().getDataMovementRemoteCluster().scpThirdParty(sourceURI.getPath(),
- destinationURI.getPath(), sshSession, RemoteCluster.DIRECTION.FROM);
+ destinationURI.getPath(), sshSession, RemoteCluster.DIRECTION.FROM, true);
// update output locations
GFacUtils.saveExperimentOutput(taskContext.getParentProcessContext(), taskContext.getProcessOutput().getName(), destinationURI.getPath());
GFacUtils.saveProcessOutput(taskContext.getParentProcessContext(), taskContext.getProcessOutput().getName(), destinationURI.getPath());
[31/50] [abbrv] airavata git commit: adding workflow related resource
layer
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowResource.java
deleted file mode 100644
index 8c03213..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/WorkflowResource.java
+++ /dev/null
@@ -1,437 +0,0 @@
-/*
- *
- * 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.registry.core.app.catalog.resources;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.AiravataUtils;
-import org.apache.airavata.registry.core.app.catalog.model.Workflow;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogQueryGenerator;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogResourceType;
-import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.List;
-
-public class WorkflowResource extends AppCatAbstractResource {
- private final static Logger logger = LoggerFactory.getLogger(WorkflowResource.class);
- private String wfName;
- private String createdUser;
- private String graph;
- private String wfTemplateId;
- private Timestamp createdTime;
- private Timestamp updatedTime;
- private String image;
- private String gatewayId;
-
- public Timestamp getCreatedTime() {
- return createdTime;
- }
-
- public void setCreatedTime(Timestamp createdTime) {
- this.createdTime = createdTime;
- }
-
- public Timestamp getUpdatedTime() {
- return updatedTime;
- }
-
- public void setUpdatedTime(Timestamp updatedTime) {
- this.updatedTime = updatedTime;
- }
-
- public String getImage() {
- return image;
- }
-
- public void setImage(String image) {
- this.image = image;
- }
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- @Override
- public void remove(Object identifier) throws AppCatalogException {
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW);
- generator.setParameter(WorkflowConstants.WF_TEMPLATE_ID, identifier);
- Query q = generator.deleteQuery(em);
- q.executeUpdate();
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- @Override
- public AppCatalogResource get(Object identifier) throws AppCatalogException {
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW);
- generator.setParameter(WorkflowConstants.WF_TEMPLATE_ID, identifier);
- Query q = generator.selectQuery(em);
- Workflow workflow = (Workflow) q.getSingleResult();
- WorkflowResource workflowResource = (WorkflowResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.WORKFLOW, workflow);
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- return workflowResource;
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- @Override
- public List<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException {
- List<AppCatalogResource> workflowResources = new ArrayList<AppCatalogResource>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW);
- Query q;
- if ((fieldName.equals(WorkflowConstants.WF_NAME)) || (fieldName.equals(WorkflowConstants.CREATED_USER)) || (fieldName.equals(WorkflowConstants.GRAPH)) || (fieldName.equals(WorkflowConstants.WF_TEMPLATE_ID))) {
- generator.setParameter(fieldName, value);
- q = generator.selectQuery(em);
- List<?> results = q.getResultList();
- for (Object result : results) {
- Workflow workflow = (Workflow) result;
- WorkflowResource workflowResource = (WorkflowResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.WORKFLOW, workflow);
- workflowResources.add(workflowResource);
- }
- } else {
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- logger.error("Unsupported field name for Workflow Resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for Workflow Resource.");
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return workflowResources;
- }
-
- @Override
- public List<AppCatalogResource> getAll() throws AppCatalogException {
- List<AppCatalogResource> workflows = new ArrayList<AppCatalogResource>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW);
- generator.setParameter(WorkflowConstants.GATEWAY_ID, gatewayId);
- Query q = generator.selectQuery(em);
- List results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- Workflow workflow = (Workflow) result;
- WorkflowResource wfResource =
- (WorkflowResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.WORKFLOW, workflow);
- workflows.add(wfResource);
- }
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return workflows;
- }
-
- @Override
- public List<String> getAllIds() throws AppCatalogException {
- List<String> workflowIds = new ArrayList<String>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW);
- generator.setParameter(WorkflowConstants.GATEWAY_ID, gatewayId);
- Query q = generator.selectQuery(em);
- List results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- Workflow workflow = (Workflow) result;
- workflowIds.add(workflow.getWfTemplateId());
- }
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return workflowIds;
- }
-
- @Override
- public List<String> getIds(String fieldName, Object value) throws AppCatalogException {
- List<String> workflowResourceIDs = new ArrayList<String>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(WORKFLOW);
- Query q;
- if ((fieldName.equals(WorkflowConstants.WF_NAME)) || (fieldName.equals(WorkflowConstants.CREATED_USER)) || (fieldName.equals(WorkflowConstants.GRAPH)) || (fieldName.equals(WorkflowConstants.WF_TEMPLATE_ID))) {
- generator.setParameter(fieldName, value);
- q = generator.selectQuery(em);
- List<?> results = q.getResultList();
- for (Object result : results) {
- Workflow workflow = (Workflow) result;
- WorkflowResource workflowResource = (WorkflowResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.WORKFLOW, workflow);
- workflowResourceIDs.add(workflowResource.getWfTemplateId());
- }
- } else {
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- logger.error("Unsupported field name for Workflow Resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for Workflow Resource.");
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return workflowResourceIDs;
- }
-
- @Override
- public void save() throws AppCatalogException {
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- Workflow existingWorkflow = em.find(Workflow.class, wfTemplateId);
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- Workflow workflow;
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- if (existingWorkflow == null) {
- workflow = new Workflow();
- workflow.setCreationTime(AiravataUtils.getCurrentTimestamp());
- } else {
- workflow = existingWorkflow;
- workflow.setUpdateTime(AiravataUtils.getCurrentTimestamp());
- }
- workflow.setWfName(getWfName());
- workflow.setCreatedUser(getCreatedUser());
- workflow.setGatewayId(gatewayId);
- if (getGraph() != null){
- workflow.setGraph(getGraph().toCharArray());
- }
- if (image != null){
- workflow.setImage(image.getBytes());
- }
- workflow.setWfTemplateId(getWfTemplateId());
- if (existingWorkflow == null) {
- em.persist(workflow);
- } else {
- em.merge(workflow);
- }
- em.getTransaction().commit();
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- @Override
- public boolean isExists(Object identifier) throws AppCatalogException {
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- Workflow workflow = em.find(Workflow.class, identifier);
- if (em.isOpen()) {
- if (em.getTransaction().isActive()){
- em.getTransaction().rollback();
- }
- em.close();
- }
- return workflow != null;
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public String getWfName() {
- return wfName;
- }
-
- public String getCreatedUser() {
- return createdUser;
- }
-
- public String getGraph() {
- return graph;
- }
-
- public String getWfTemplateId() {
- return wfTemplateId;
- }
-
- public void setWfName(String wfName) {
- this.wfName=wfName;
- }
-
- public void setCreatedUser(String createdUser) {
- this.createdUser=createdUser;
- }
-
- public void setGraph(String graph) {
- this.graph=graph;
- }
-
- public void setWfTemplateId(String wfTemplateId) {
- this.wfTemplateId=wfTemplateId;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
index 2a7d47e..5cfca50 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
@@ -42,9 +42,9 @@ public class AppCatalogJPAUtils {
private static final String APPCATALOG_VALIDATION_QUERY = "appcatalog.validationQuery";
private static final String JPA_CACHE_SIZE = "jpa.cache.size";
private static final String JPA_CACHE_ENABLED = "cache.enable";
- @PersistenceUnit(unitName="appcatalog_data")
+ @PersistenceUnit(unitName = "appcatalog_data")
protected static EntityManagerFactory factory;
- @PersistenceContext(unitName="appcatalog_data")
+ @PersistenceContext(unitName = "appcatalog_data")
private static EntityManager appCatEntityManager;
public static EntityManager getEntityManager() throws ApplicationSettingsException {
@@ -63,8 +63,8 @@ public class AppCatalogJPAUtils {
// For app catalog, we don't need caching
// properties.put("openjpa.DataCache","" + readServerProperties(JPA_CACHE_ENABLED) + "(CacheSize=" + Integer.valueOf(readServerProperties(JPA_CACHE_SIZE)) + ", SoftReferenceSize=0)");
// properties.put("openjpa.QueryCache","" + readServerProperties(JPA_CACHE_ENABLED) + "(CacheSize=" + Integer.valueOf(readServerProperties(JPA_CACHE_SIZE)) + ", SoftReferenceSize=0)");
- properties.put("openjpa.RemoteCommitProvider","sjvm");
- properties.put("openjpa.Log","DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=INFO");
+ properties.put("openjpa.RemoteCommitProvider", "sjvm");
+ properties.put("openjpa.Log", "DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=INFO");
properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
properties.put("openjpa.jdbc.QuerySQLCache", "false");
properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72, PrintParameters=true, MaxActive=10, MaxIdle=5, MinIdle=2, MaxWait=31536000, autoReconnect=true");
@@ -74,7 +74,7 @@ public class AppCatalogJPAUtils {
return appCatEntityManager;
}
- private static String readServerProperties (String propertyName) throws ApplicationSettingsException {
+ private static String readServerProperties(String propertyName) throws ApplicationSettingsException {
try {
return ServerSettings.getSetting(propertyName);
} catch (ApplicationSettingsException e) {
@@ -84,118 +84,117 @@ public class AppCatalogJPAUtils {
}
/**
- *
* @param type model type
- * @param o model type instance
+ * @param o model type instance
* @return corresponding resource object
*/
public static AppCatalogResource getResource(AppCatalogResourceType type, Object o) {
- switch (type){
- case COMPUTE_RESOURCE:
- if (o instanceof ComputeResource){
- return createComputeResource((ComputeResource) o);
- }else{
- logger.error("Object should be a Compute Resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Compute Resource.");
- }
+ switch (type) {
+ case COMPUTE_RESOURCE:
+ if (o instanceof ComputeResource) {
+ return createComputeResource((ComputeResource) o);
+ } else {
+ logger.error("Object should be a Compute Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Compute Resource.");
+ }
case HOST_ALIAS:
- if (o instanceof HostAlias){
+ if (o instanceof HostAlias) {
return createHostAlias((HostAlias) o);
- }else {
+ } else {
logger.error("Object should be a Host Alias.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a Host Alias.");
}
case HOST_IPADDRESS:
- if (o instanceof HostIPAddress){
+ if (o instanceof HostIPAddress) {
return createHostIPAddress((HostIPAddress) o);
- }else {
+ } else {
logger.error("Object should be a Host IPAdress.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a Host IPAdress.");
}
case GSISSH_SUBMISSION:
- if (o instanceof GSISSHSubmission){
+ if (o instanceof GSISSHSubmission) {
return createGSSISSHSubmission((GSISSHSubmission) o);
- }else {
+ } else {
logger.error("Object should be a GSISSH Submission", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a GSISSH Submission.");
}
case UNICORE_JOB_SUBMISSION:
- if (o instanceof UnicoreJobSubmission){
+ if (o instanceof UnicoreJobSubmission) {
return createUnicoreJobSubmission((UnicoreJobSubmission) o);
- }else {
+ } else {
logger.error("Object should be a GSISSH Submission", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a GSISSH Submission.");
}
case UNICORE_DATA_MOVEMENT:
- if (o instanceof UnicoreDataMovement){
+ if (o instanceof UnicoreDataMovement) {
return createUnicoreDataMovement((UnicoreDataMovement) o);
- }else {
+ } else {
logger.error("Object should be a GSISSH Submission", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a GSISSH Submission.");
}
case GSISSH_EXPORT:
- if (o instanceof GSISSHExport){
+ if (o instanceof GSISSHExport) {
return createGSISSHExport((GSISSHExport) o);
- }else {
+ } else {
logger.error("Object should be a GSISSH Export.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a GSISSH Export.");
}
case PRE_JOBCOMMAND:
- if (o instanceof PreJobCommand){
+ if (o instanceof PreJobCommand) {
return createPreJobCommand((PreJobCommand) o);
- }else {
+ } else {
logger.error("Object should be a GSISSHPreJobCommand.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a GSISSHPreJobCommand.");
}
case POST_JOBCOMMAND:
- if (o instanceof PostJobCommand){
+ if (o instanceof PostJobCommand) {
return createPostJObCommand((PostJobCommand) o);
- }else {
+ } else {
logger.error("Object should be a GSISSHPostJobCommand.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a GSISSHPostJobCommand.");
}
case GLOBUS_SUBMISSION:
- if (o instanceof GlobusJobSubmission){
+ if (o instanceof GlobusJobSubmission) {
return createGlobusJobSubmission((GlobusJobSubmission) o);
- }else {
+ } else {
logger.error("Object should be a GlobusJobSubmission.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a GlobusJobSubmission.");
}
case GLOBUS_GK_ENDPOINT:
- if (o instanceof GlobusGKEndpoint){
+ if (o instanceof GlobusGKEndpoint) {
return createGlobusEndpoint((GlobusGKEndpoint) o);
- }else {
+ } else {
logger.error("Object should be a GlobusJobSubmission.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a GlobusJobSubmission.");
}
case SSH_JOB_SUBMISSION:
- if (o instanceof SshJobSubmission){
- return createSshJobSubmission((SshJobSubmission) o);
- }else{
- logger.error("Object should be a Ssh Job Submission.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Ssh Job Submission.");
- }
+ if (o instanceof SshJobSubmission) {
+ return createSshJobSubmission((SshJobSubmission) o);
+ } else {
+ logger.error("Object should be a Ssh Job Submission.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Ssh Job Submission.");
+ }
case SCP_DATA_MOVEMENT:
- if (o instanceof ScpDataMovement){
- return createScpDataMovement((ScpDataMovement) o);
- }else{
- logger.error("Object should be a Scp Data Movement.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Scp Data Movement.");
- }
+ if (o instanceof ScpDataMovement) {
+ return createScpDataMovement((ScpDataMovement) o);
+ } else {
+ logger.error("Object should be a Scp Data Movement.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Scp Data Movement.");
+ }
case GRIDFTP_DATA_MOVEMENT:
- if (o instanceof GridftpDataMovement){
- return createGridftpDataMovement((GridftpDataMovement) o);
- }else{
- logger.error("Object should be a Gridftp Data Movement.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Gridftp Data Movement.");
- }
+ if (o instanceof GridftpDataMovement) {
+ return createGridftpDataMovement((GridftpDataMovement) o);
+ } else {
+ logger.error("Object should be a Gridftp Data Movement.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Gridftp Data Movement.");
+ }
case GRIDFTP_ENDPOINT:
- if (o instanceof GridftpEndpoint){
- return createGridftpEndpoint((GridftpEndpoint) o);
- }else{
- logger.error("Object should be a Gridftp Endpoint.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Gridftp Endpoint.");
- }
+ if (o instanceof GridftpEndpoint) {
+ return createGridftpEndpoint((GridftpEndpoint) o);
+ } else {
+ logger.error("Object should be a Gridftp Endpoint.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Gridftp Endpoint.");
+ }
// case JOB_SUBMISSION_PROTOCOL:
// if (o instanceof JobSubmissionProtocol){
// return createJobSubmissionProtocol((JobSubmissionProtocol) o);
@@ -211,159 +210,159 @@ public class AppCatalogJPAUtils {
// throw new IllegalArgumentException("Object should be a DataMovementProtocol.");
// }
case APPLICATION_MODULE:
- if (o instanceof ApplicationModule){
+ if (o instanceof ApplicationModule) {
return createApplicationModule((ApplicationModule) o);
- }else {
+ } else {
logger.error("Object should be a Application Module.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a Application Module.");
}
case APPLICATION_DEPLOYMENT:
- if (o instanceof ApplicationDeployment){
+ if (o instanceof ApplicationDeployment) {
return createApplicationDeployment((ApplicationDeployment) o);
- }else {
+ } else {
logger.error("Object should be a Application Deployment.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a Application Deployment.");
}
case LIBRARY_PREPAND_PATH:
- if (o instanceof LibraryPrepandPath){
+ if (o instanceof LibraryPrepandPath) {
return createLibraryPrepPathResource((LibraryPrepandPath) o);
- }else {
+ } else {
logger.error("Object should be a Library Prepand path.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a Library Prepand path.");
}
case LIBRARY_APEND_PATH:
- if (o instanceof LibraryApendPath){
+ if (o instanceof LibraryApendPath) {
return createLibraryApendPathResource((LibraryApendPath) o);
- }else {
+ } else {
logger.error("Object should be a Library Apend path.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a Library Apend.");
}
case APP_ENVIRONMENT:
- if (o instanceof AppEnvironment){
+ if (o instanceof AppEnvironment) {
return createAppEnvironmentResource((AppEnvironment) o);
- }else {
+ } else {
logger.error("Object should be a AppEnvironment.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a AppEnvironment.");
}
case APPLICATION_INTERFACE:
- if (o instanceof ApplicationInterface){
+ if (o instanceof ApplicationInterface) {
return createAppInterfaceResource((ApplicationInterface) o);
- }else {
+ } else {
logger.error("Object should be a ApplicationInterface.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a ApplicationInterface.");
}
case APP_MODULE_MAPPING:
- if (o instanceof AppModuleMapping){
+ if (o instanceof AppModuleMapping) {
return createAppModMappingResource((AppModuleMapping) o);
- }else {
+ } else {
logger.error("Object should be a AppModuleMapping.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a AppModuleMapping.");
}
case APPLICATION_OUTPUT:
- if (o instanceof ApplicationIntOutput){
+ if (o instanceof ApplicationIntOutput) {
return createApplicationOutput((ApplicationIntOutput) o);
- }else {
+ } else {
logger.error("Object should be a ApplicationOutput.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a ApplicationOutput.");
}
case GATEWAY_PROFILE:
- if (o instanceof GatewayProfile){
+ if (o instanceof GatewayProfile) {
return createGatewayProfile((GatewayProfile) o);
- }else {
+ } else {
logger.error("Object should be a GatewayProfile.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a GatewayProfile.");
}
case COMPUTE_RESOURCE_PREFERENCE:
- if (o instanceof ComputeResourcePreference){
+ if (o instanceof ComputeResourcePreference) {
return createComputeResourcePref((ComputeResourcePreference) o);
- }else {
+ } else {
logger.error("Object should be a Compute Resource Preference.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a Compute Resource Preference.");
}
case STORAGE_PREFERENCE:
- if (o instanceof StoragePreference){
+ if (o instanceof StoragePreference) {
return createStoragePref((StoragePreference) o);
- }else {
+ } else {
logger.error("Object should be a data storage Preference.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a data storage Preference.");
}
case STORAGE_RESOURCE:
- if (o instanceof StorageResource){
+ if (o instanceof StorageResource) {
return createStorageResource((StorageResource) o);
- }else {
+ } else {
logger.error("Object should be a storage resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a storage resource.");
}
case STORAGE_INTERFACE:
- if (o instanceof StorageInterface){
+ if (o instanceof StorageInterface) {
return createStorageInterface((StorageInterface) o);
- }else {
+ } else {
logger.error("Object should be a storage interface.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a storage interface.");
}
case APPLICATION_INPUT:
- if (o instanceof ApplicationIntInput){
+ if (o instanceof ApplicationIntInput) {
return createApplicationInput((ApplicationIntInput) o);
- }else {
+ } else {
logger.error("Object should be a ApplicationInput.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a ApplicationInput.");
}
case BATCH_QUEUE:
- if (o instanceof BatchQueue){
- return createBatchQueue((BatchQueue) o);
- }else{
- logger.error("Object should be a Batch Queue.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Batch Queue.");
- }
+ if (o instanceof BatchQueue) {
+ return createBatchQueue((BatchQueue) o);
+ } else {
+ logger.error("Object should be a Batch Queue.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Batch Queue.");
+ }
case COMPUTE_RESOURCE_FILE_SYSTEM:
- if (o instanceof ComputeResourceFileSystem){
- return createComputeResourceFileSystem((ComputeResourceFileSystem) o);
- }else{
- logger.error("Object should be a Compute Resource File System.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Compute Resource File System.");
- }
+ if (o instanceof ComputeResourceFileSystem) {
+ return createComputeResourceFileSystem((ComputeResourceFileSystem) o);
+ } else {
+ logger.error("Object should be a Compute Resource File System.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Compute Resource File System.");
+ }
case JOB_SUBMISSION_INTERFACE:
- if (o instanceof JobSubmissionInterface){
- return createJobSubmissionInterface((JobSubmissionInterface) o);
- }else{
- logger.error("Object should be a Job Submission Interface.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Job Submission Interface.");
- }
+ if (o instanceof JobSubmissionInterface) {
+ return createJobSubmissionInterface((JobSubmissionInterface) o);
+ } else {
+ logger.error("Object should be a Job Submission Interface.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Job Submission Interface.");
+ }
case DATA_MOVEMENT_INTERFACE:
- if (o instanceof DataMovementInterface){
- return createDataMovementInterface((DataMovementInterface) o);
- }else{
- logger.error("Object should be a Data Movement Interface.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Data Movement Interface.");
- }
+ if (o instanceof DataMovementInterface) {
+ return createDataMovementInterface((DataMovementInterface) o);
+ } else {
+ logger.error("Object should be a Data Movement Interface.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Data Movement Interface.");
+ }
case RESOURCE_JOB_MANAGER:
- if (o instanceof ResourceJobManager){
- return createResourceJobManager((ResourceJobManager) o);
- }else{
- logger.error("Object should be a Resource Job Manager.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Resource Job Manager.");
- }
+ if (o instanceof ResourceJobManager) {
+ return createResourceJobManager((ResourceJobManager) o);
+ } else {
+ logger.error("Object should be a Resource Job Manager.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Resource Job Manager.");
+ }
case JOB_MANAGER_COMMAND:
- if (o instanceof JobManagerCommand){
- return createJobManagerCommand((JobManagerCommand) o);
- }else{
- logger.error("Object should be a Job Manager Command.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Job Manager Command.");
- }
- case LOCAL_SUBMISSION:
- if (o instanceof LocalSubmission){
- return createLocalSubmission((LocalSubmission) o);
- }else{
- logger.error("Object should be a Local Submission.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Local Submission.");
- }
- case LOCAL_DATA_MOVEMENT:
- if (o instanceof LocalDataMovement){
- return createLocalDataMovement((LocalDataMovement) o);
- }else{
- logger.error("Object should be a Local Data Movement.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Local Data Movement.");
- }
+ if (o instanceof JobManagerCommand) {
+ return createJobManagerCommand((JobManagerCommand) o);
+ } else {
+ logger.error("Object should be a Job Manager Command.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Job Manager Command.");
+ }
+ case LOCAL_SUBMISSION:
+ if (o instanceof LocalSubmission) {
+ return createLocalSubmission((LocalSubmission) o);
+ } else {
+ logger.error("Object should be a Local Submission.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Local Submission.");
+ }
+ case LOCAL_DATA_MOVEMENT:
+ if (o instanceof LocalDataMovement) {
+ return createLocalDataMovement((LocalDataMovement) o);
+ } else {
+ logger.error("Object should be a Local Data Movement.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Object should be a Local Data Movement.");
+ }
case MODULE_LOAD_CMD:
if (o instanceof ModuleLoadCmd) {
return createModuleLoadCmd((ModuleLoadCmd) o);
@@ -371,31 +370,10 @@ public class AppCatalogJPAUtils {
logger.error("Object should be a Module Load Cmd.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a Module Load Cmd.");
}
- case WORKFLOW:
- if (o instanceof Workflow) {
- return createWorkflow((Workflow) o);
- } else {
- logger.error("Object should be a Workflow.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Workflow.");
- }
- case WORKFLOW_INPUT:
- if (o instanceof WorkflowInput){
- return createWorflowInput((WorkflowInput) o);
- }else {
- logger.error("Object should be a Workflow Input.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Workflow Input.");
- }
- case WORKFLOW_OUTPUT:
- if (o instanceof WorkflowOutput){
- return createWorkflowOutput((WorkflowOutput) o);
- }else {
- logger.error("Object should be a Workflow Output.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a Workflow Output.");
- }
case GATEWAY_CLIENT_CREDENTIAL:
- if (o instanceof GatewayClientCredential){
+ if (o instanceof GatewayClientCredential) {
return createGatewayClientCredential((GatewayClientCredential) o);
- }else {
+ } else {
logger.error("Object should be a Gateway Client Credential.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a Gateway Client Credential.");
}
@@ -404,103 +382,103 @@ public class AppCatalogJPAUtils {
throw new IllegalArgumentException("Illegal data type..");
}
}
-
- private static AppCatalogResource createLocalDataMovement(LocalDataMovement o) {
- LocalDataMovementResource localDataMovementResource = new LocalDataMovementResource();
- if (o != null){
+
+ private static AppCatalogResource createLocalDataMovement(LocalDataMovement o) {
+ LocalDataMovementResource localDataMovementResource = new LocalDataMovementResource();
+ if (o != null) {
localDataMovementResource.setDataMovementInterfaceId(o.getDataMovementInterfaceId());
}
- return localDataMovementResource;
- }
-
+ return localDataMovementResource;
+ }
+
private static AppCatalogResource createLocalSubmission(LocalSubmission o) {
- LocalSubmissionResource localSubmissionResource = new LocalSubmissionResource();
- if (o != null){
+ LocalSubmissionResource localSubmissionResource = new LocalSubmissionResource();
+ if (o != null) {
localSubmissionResource.setResourceJobManagerId(o.getResourceJobManagerId());
- localSubmissionResource.setResourceJobManagerResource((ResourceJobManagerResource)createResourceJobManager(o.getResourceJobManager()));
+ localSubmissionResource.setResourceJobManagerResource((ResourceJobManagerResource) createResourceJobManager(o.getResourceJobManager()));
localSubmissionResource.setJobSubmissionInterfaceId(o.getJobSubmissionInterfaceId());
localSubmissionResource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
localSubmissionResource.setUpdatedTime(o.getUpdateTime());
}
}
- return localSubmissionResource;
- }
-
+ return localSubmissionResource;
+ }
+
private static AppCatalogResource createJobManagerCommand(JobManagerCommand o) {
- JobManagerCommandResource jobManagerCommandResource = new JobManagerCommandResource();
- if (o != null){
+ JobManagerCommandResource jobManagerCommandResource = new JobManagerCommandResource();
+ if (o != null) {
jobManagerCommandResource.setResourceJobManagerId(o.getResourceJobManagerId());
- jobManagerCommandResource.setResourceJobManagerResource((ResourceJobManagerResource)createResourceJobManager(o.getResourceJobManager()));
+ jobManagerCommandResource.setResourceJobManagerResource((ResourceJobManagerResource) createResourceJobManager(o.getResourceJobManager()));
jobManagerCommandResource.setCommandType(o.getCommandType());
jobManagerCommandResource.setCommand(o.getCommand());
}
- return jobManagerCommandResource;
- }
-
+ return jobManagerCommandResource;
+ }
+
private static AppCatalogResource createResourceJobManager(ResourceJobManager o) {
- ResourceJobManagerResource resourceJobManagerResource = new ResourceJobManagerResource();
+ ResourceJobManagerResource resourceJobManagerResource = new ResourceJobManagerResource();
if (o != null) {
resourceJobManagerResource.setResourceJobManagerId(o.getResourceJobManagerId());
resourceJobManagerResource.setPushMonitoringEndpoint(o.getPushMonitoringEndpoint());
resourceJobManagerResource.setJobManagerBinPath(o.getJobManagerBinPath());
resourceJobManagerResource.setResourceJobManagerType(o.getResourceJobManagerType());
resourceJobManagerResource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
resourceJobManagerResource.setUpdatedTime(o.getUpdateTime());
}
}
- return resourceJobManagerResource;
- }
-
+ return resourceJobManagerResource;
+ }
+
private static AppCatalogResource createDataMovementInterface(DataMovementInterface o) {
- DataMovementInterfaceResource dataMovementInterfaceResource = new DataMovementInterfaceResource();
+ DataMovementInterfaceResource dataMovementInterfaceResource = new DataMovementInterfaceResource();
if (o != null) {
dataMovementInterfaceResource.setComputeResourceId(o.getComputeResourceId());
- dataMovementInterfaceResource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
+ dataMovementInterfaceResource.setComputeHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));
dataMovementInterfaceResource.setDataMovementProtocol(o.getDataMovementProtocol());
dataMovementInterfaceResource.setDataMovementInterfaceId(o.getDataMovementInterfaceId());
dataMovementInterfaceResource.setPriorityOrder(o.getPriorityOrder());
dataMovementInterfaceResource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
dataMovementInterfaceResource.setUpdatedTime(o.getUpdateTime());
}
}
- return dataMovementInterfaceResource;
- }
-
+ return dataMovementInterfaceResource;
+ }
+
private static AppCatalogResource createJobSubmissionInterface(JobSubmissionInterface o) {
- JobSubmissionInterfaceResource jobSubmissionInterfaceResource = new JobSubmissionInterfaceResource();
+ JobSubmissionInterfaceResource jobSubmissionInterfaceResource = new JobSubmissionInterfaceResource();
if (o != null) {
jobSubmissionInterfaceResource.setJobSubmissionInterfaceId(o.getJobSubmissionInterfaceId());
jobSubmissionInterfaceResource.setComputeResourceId(o.getComputeResourceId());
- jobSubmissionInterfaceResource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
+ jobSubmissionInterfaceResource.setComputeHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));
jobSubmissionInterfaceResource.setJobSubmissionProtocol(o.getJobSubmissionProtocol());
jobSubmissionInterfaceResource.setPriorityOrder(o.getPriorityOrder());
jobSubmissionInterfaceResource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
jobSubmissionInterfaceResource.setUpdatedTime(o.getUpdateTime());
}
}
- return jobSubmissionInterfaceResource;
- }
-
+ return jobSubmissionInterfaceResource;
+ }
+
private static AppCatalogResource createComputeResourceFileSystem(ComputeResourceFileSystem o) {
- ComputeResourceFileSystemResource computeResourceFileSystemResource = new ComputeResourceFileSystemResource();
- if (o != null){
+ ComputeResourceFileSystemResource computeResourceFileSystemResource = new ComputeResourceFileSystemResource();
+ if (o != null) {
computeResourceFileSystemResource.setComputeResourceId(o.getComputeResourceId());
- computeResourceFileSystemResource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
+ computeResourceFileSystemResource.setComputeHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));
computeResourceFileSystemResource.setPath(o.getPath());
computeResourceFileSystemResource.setFileSystem(o.getFileSystem());
}
- return computeResourceFileSystemResource;
- }
-
+ return computeResourceFileSystemResource;
+ }
+
private static AppCatalogResource createBatchQueue(BatchQueue o) {
- BatchQueueResource batchQueueResource = new BatchQueueResource();
- if (o != null){
+ BatchQueueResource batchQueueResource = new BatchQueueResource();
+ if (o != null) {
batchQueueResource.setComputeResourceId(o.getComputeResourceId());
- batchQueueResource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
+ batchQueueResource.setComputeHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));
batchQueueResource.setMaxRuntime(o.getMaxRuntime());
batchQueueResource.setMaxJobInQueue(o.getMaxJobInQueue());
batchQueueResource.setQueueDescription(o.getQueueDescription());
@@ -509,10 +487,11 @@ public class AppCatalogJPAUtils {
batchQueueResource.setMaxNodes(o.getMaxNodes());
batchQueueResource.setMaxMemory(o.getMaxMemory());
}
- return batchQueueResource;
- }
+ return batchQueueResource;
+ }
+
private static AppCatalogResource createComputeResource(ComputeResource o) {
- ComputeResourceResource computeResourceResource = new ComputeResourceResource();
+ ComputeResourceResource computeResourceResource = new ComputeResourceResource();
if (o != null) {
computeResourceResource.setResourceDescription(o.getResourceDescription());
computeResourceResource.setResourceId(o.getResourceId());
@@ -520,29 +499,29 @@ public class AppCatalogJPAUtils {
computeResourceResource.setCreatedTime(o.getCreationTime());
computeResourceResource.setEnabled(o.getEnabled());
computeResourceResource.setMaxMemoryPerNode(o.getMaxMemoryPerNode());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
computeResourceResource.setUpdatedTime(o.getUpdateTime());
}
}
- return computeResourceResource;
- }
+ return computeResourceResource;
+ }
private static AppCatalogResource createHostAlias(HostAlias o) {
HostAliasAppResource aliasResource = new HostAliasAppResource();
- if (o != null){
+ if (o != null) {
aliasResource.setResourceID(o.getResourceID());
aliasResource.setAlias(o.getAlias());
- aliasResource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
+ aliasResource.setComputeHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));
}
return aliasResource;
}
private static AppCatalogResource createHostIPAddress(HostIPAddress o) {
HostIPAddressResource ipAddressResource = new HostIPAddressResource();
- if (o != null){
+ if (o != null) {
ipAddressResource.setResourceID(o.getResourceID());
ipAddressResource.setIpaddress(o.getIpaddress());
- ipAddressResource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
+ ipAddressResource.setComputeHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));
}
return ipAddressResource;
}
@@ -558,8 +537,7 @@ public class AppCatalogJPAUtils {
}
return submissionResource;
}
-
-
+
private static AppCatalogResource createUnicoreJobSubmission(UnicoreJobSubmission o) {
UnicoreJobSubmissionResource submissionResource = new UnicoreJobSubmissionResource();
if (o != null) {
@@ -579,18 +557,18 @@ public class AppCatalogJPAUtils {
}
return dataMovementResource;
}
-
- private static AppCatalogResource createGSISSHExport(GSISSHExport o){
+
+ private static AppCatalogResource createGSISSHExport(GSISSHExport o) {
GSISSHExportResource resource = new GSISSHExportResource();
if (o != null) {
resource.setSubmissionID(o.getSubmissionID());
resource.setExport(o.getExport());
- resource.setGsisshSubmissionResource((GSISSHSubmissionResource)createGSSISSHSubmission(o.getGsisshJobSubmission()));
+ resource.setGsisshSubmissionResource((GSISSHSubmissionResource) createGSSISSHSubmission(o.getGsisshJobSubmission()));
}
return resource;
}
- private static AppCatalogResource createPreJobCommand(PreJobCommand o){
+ private static AppCatalogResource createPreJobCommand(PreJobCommand o) {
PreJobCommandResource resource = new PreJobCommandResource();
if (o != null) {
resource.setAppDeploymentId(o.getDeploymentId());
@@ -601,9 +579,9 @@ public class AppCatalogJPAUtils {
return resource;
}
- private static AppCatalogResource createPostJObCommand(PostJobCommand o){
+ private static AppCatalogResource createPostJObCommand(PostJobCommand o) {
PostJobCommandResource resource = new PostJobCommandResource();
- if (o != null){
+ if (o != null) {
resource.setAppDeploymentId(o.getDeploymentId());
resource.setCommand(o.getCommand());
resource.setOrder(o.getOrder());
@@ -614,7 +592,7 @@ public class AppCatalogJPAUtils {
private static AppCatalogResource createGlobusJobSubmission(GlobusJobSubmission o) {
GlobusJobSubmissionResource resource = new GlobusJobSubmissionResource();
- if (o != null){
+ if (o != null) {
resource.setSubmissionID(o.getSubmissionID());
resource.setResourceJobManager(o.getResourceJobManager());
resource.setSecurityProtocol(o.getSecurityProtocol());
@@ -624,15 +602,15 @@ public class AppCatalogJPAUtils {
private static AppCatalogResource createGlobusEndpoint(GlobusGKEndpoint o) {
GlobusGKEndpointResource resource = new GlobusGKEndpointResource();
- if (o != null){
+ if (o != null) {
resource.setSubmissionID(o.getSubmissionID());
resource.setEndpoint(o.getEndpoint());
- resource.setGlobusJobSubmissionResource((GlobusJobSubmissionResource)createGlobusJobSubmission(o.getGlobusSubmission()));
+ resource.setGlobusJobSubmissionResource((GlobusJobSubmissionResource) createGlobusJobSubmission(o.getGlobusSubmission()));
}
return resource;
}
-
- private static AppCatalogResource createSshJobSubmission(SshJobSubmission o) {
+
+ private static AppCatalogResource createSshJobSubmission(SshJobSubmission o) {
SshJobSubmissionResource sshJobSubmissionResource = new SshJobSubmissionResource();
if (o != null) {
sshJobSubmissionResource.setResourceJobManagerId(o.getResourceJobManagerId());
@@ -643,7 +621,7 @@ public class AppCatalogJPAUtils {
sshJobSubmissionResource.setSshPort(o.getSshPort());
sshJobSubmissionResource.setMonitorMode(o.getMonitorMode());
sshJobSubmissionResource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
sshJobSubmissionResource.setUpdatedTime(o.getUpdateTime());
}
}
@@ -651,47 +629,47 @@ public class AppCatalogJPAUtils {
}
private static AppCatalogResource createScpDataMovement(ScpDataMovement o) {
- ScpDataMovementResource scpDataMovementResource = new ScpDataMovementResource();
- if (o != null){
+ ScpDataMovementResource scpDataMovementResource = new ScpDataMovementResource();
+ if (o != null) {
scpDataMovementResource.setQueueDescription(o.getQueueDescription());
scpDataMovementResource.setDataMovementInterfaceId(o.getDataMovementInterfaceId());
scpDataMovementResource.setSecurityProtocol(o.getSecurityProtocol());
scpDataMovementResource.setAlternativeScpHostname(o.getAlternativeScpHostname());
scpDataMovementResource.setSshPort(o.getSshPort());
scpDataMovementResource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
scpDataMovementResource.setUpdatedTime(o.getUpdateTime());
}
}
- return scpDataMovementResource;
- }
+ return scpDataMovementResource;
+ }
private static AppCatalogResource createGridftpDataMovement(GridftpDataMovement o) {
- GridftpDataMovementResource gridftpDataMovementResource = new GridftpDataMovementResource();
- if (o != null){
+ GridftpDataMovementResource gridftpDataMovementResource = new GridftpDataMovementResource();
+ if (o != null) {
gridftpDataMovementResource.setDataMovementInterfaceId(o.getDataMovementInterfaceId());
gridftpDataMovementResource.setSecurityProtocol(o.getSecurityProtocol());
gridftpDataMovementResource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
gridftpDataMovementResource.setUpdatedTime(o.getUpdateTime());
}
}
- return gridftpDataMovementResource;
- }
+ return gridftpDataMovementResource;
+ }
private static AppCatalogResource createGridftpEndpoint(GridftpEndpoint o) {
- GridftpEndpointResource gridftpEndpointResource = new GridftpEndpointResource();
- if (o != null){
+ GridftpEndpointResource gridftpEndpointResource = new GridftpEndpointResource();
+ if (o != null) {
gridftpEndpointResource.setEndpoint(o.getEndpoint());
gridftpEndpointResource.setDataMovementInterfaceId(o.getDataMovementInterfaceId());
- gridftpEndpointResource.setGridftpDataMovementResource((GridftpDataMovementResource)createGridftpDataMovement(o.getGridftpDataMovement()));
+ gridftpEndpointResource.setGridftpDataMovementResource((GridftpDataMovementResource) createGridftpDataMovement(o.getGridftpDataMovement()));
gridftpEndpointResource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
gridftpEndpointResource.setUpdatedTime(o.getUpdateTime());
}
}
- return gridftpEndpointResource;
- }
+ return gridftpEndpointResource;
+ }
// private static Resource createJobSubmissionProtocol(JobSubmissionProtocol o) {
// JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
@@ -717,14 +695,14 @@ public class AppCatalogJPAUtils {
private static AppCatalogResource createApplicationModule(ApplicationModule o) {
AppModuleResource moduleResource = new AppModuleResource();
- if (o != null){
+ if (o != null) {
moduleResource.setModuleId(o.getModuleID());
moduleResource.setModuleDesc(o.getModuleDesc());
moduleResource.setGatewayId(o.getGatewayId());
moduleResource.setModuleName(o.getModuleName());
moduleResource.setModuleVersion(o.getModuleVersion());
moduleResource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
moduleResource.setUpdatedTime(o.getUpdateTime());
}
}
@@ -733,7 +711,7 @@ public class AppCatalogJPAUtils {
private static AppCatalogResource createApplicationDeployment(ApplicationDeployment o) {
AppDeploymentResource resource = new AppDeploymentResource();
- if (o != null){
+ if (o != null) {
resource.setDeploymentId(o.getDeploymentID());
resource.setAppDes(o.getApplicationDesc());
resource.setAppModuleId(o.getAppModuleID());
@@ -744,7 +722,7 @@ public class AppCatalogJPAUtils {
resource.setModuleResource((AppModuleResource) createApplicationModule(o.getApplicationModule()));
resource.setHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));
resource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
resource.setUpdatedTime(o.getUpdateTime());
}
}
@@ -753,7 +731,7 @@ public class AppCatalogJPAUtils {
private static AppCatalogResource createLibraryPrepPathResource(LibraryPrepandPath o) {
LibraryPrepandPathResource resource = new LibraryPrepandPathResource();
- if (o != null){
+ if (o != null) {
resource.setDeploymentId(o.getDeploymentID());
resource.setName(o.getName());
resource.setValue(o.getValue());
@@ -764,36 +742,36 @@ public class AppCatalogJPAUtils {
private static AppCatalogResource createLibraryApendPathResource(LibraryApendPath o) {
LibraryApendPathResource resource = new LibraryApendPathResource();
- if (o != null){
+ if (o != null) {
resource.setDeploymentId(o.getDeploymentID());
resource.setName(o.getName());
resource.setValue(o.getValue());
- resource.setAppDeploymentResource((AppDeploymentResource)createApplicationDeployment(o.getApplicationDeployment()));
+ resource.setAppDeploymentResource((AppDeploymentResource) createApplicationDeployment(o.getApplicationDeployment()));
}
return resource;
}
private static AppCatalogResource createAppEnvironmentResource(AppEnvironment o) {
AppEnvironmentResource resource = new AppEnvironmentResource();
- if (o != null){
+ if (o != null) {
resource.setDeploymentId(o.getDeploymentID());
resource.setName(o.getName());
resource.setValue(o.getValue());
resource.setOrder(o.getOrder());
- resource.setAppDeploymentResource((AppDeploymentResource)createApplicationDeployment(o.getApplicationDeployment()));
+ resource.setAppDeploymentResource((AppDeploymentResource) createApplicationDeployment(o.getApplicationDeployment()));
}
return resource;
}
private static AppCatalogResource createAppInterfaceResource(ApplicationInterface o) {
AppInterfaceResource resource = new AppInterfaceResource();
- if (o != null){
+ if (o != null) {
resource.setInterfaceId(o.getInterfaceID());
resource.setAppName(o.getAppName());
resource.setAppDescription(o.getAppDescription());
resource.setCreatedTime(o.getCreationTime());
resource.setGatewayId(o.getGatewayId());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
resource.setUpdatedTime(o.getUpdateTime());
}
}
@@ -802,7 +780,7 @@ public class AppCatalogJPAUtils {
private static AppCatalogResource createAppModMappingResource(AppModuleMapping o) {
AppModuleMappingAppCatalogResourceAppCat resource = new AppModuleMappingAppCatalogResourceAppCat();
- if (o != null){
+ if (o != null) {
resource.setInterfaceId(o.getInterfaceID());
resource.setModuleId(o.getModuleID());
}
@@ -811,7 +789,7 @@ public class AppCatalogJPAUtils {
private static AppCatalogResource createApplicationInput(ApplicationIntInput o) {
ApplicationInputResource resource = new ApplicationInputResource();
- if (o != null){
+ if (o != null) {
resource.setInterfaceID(o.getInterfaceID());
resource.setInputKey(o.getInputKey());
resource.setInputVal(o.getInputVal());
@@ -824,36 +802,14 @@ public class AppCatalogJPAUtils {
resource.setRequired(o.isRequired());
resource.setRequiredToCMD(o.isRequiredToCMD());
resource.setDataStaged(o.isDataStaged());
- resource.setAppInterfaceResource((AppInterfaceResource)createAppInterfaceResource(o.getApplicationInterface()));
- }
- return resource;
- }
-
- private static AppCatalogResource createWorflowInput(WorkflowInput o) {
- WorkflowInputResource resource = new WorkflowInputResource();
- if (o != null){
- resource.setWfTemplateId(o.getWfTemplateId());
- resource.setInputKey(o.getInputKey());
- if (o.getInputVal() != null){
- resource.setInputVal(new String(o.getInputVal()));
- }
- resource.setDataType(o.getDataType());
- resource.setMetadata(o.getMetadata());
- resource.setAppArgument(o.getAppArgument());
- resource.setInputOrder(o.getInputOrder());
- resource.setUserFriendlyDesc(o.getUserFriendlyDesc());
- resource.setStandardInput(o.isStandardInput());
- resource.setRequired(o.isRequired());
- resource.setRequiredToCMD(o.isRequiredToCMD());
- resource.setDataStaged(o.isDataStaged());
- resource.setWorkflowResource((WorkflowResource)createWorkflow(o.getWorkflow()));
+ resource.setAppInterfaceResource((AppInterfaceResource) createAppInterfaceResource(o.getApplicationInterface()));
}
return resource;
}
private static AppCatalogResource createApplicationOutput(ApplicationIntOutput o) {
ApplicationOutputResource resource = new ApplicationOutputResource();
- if (o != null){
+ if (o != null) {
resource.setInterfaceID(o.getInterfaceID());
resource.setOutputKey(o.getOutputKey());
resource.setOutputVal(o.getOutputVal());
@@ -865,31 +821,14 @@ public class AppCatalogJPAUtils {
resource.setSearchQuery(o.getSearchQuery());
resource.setAppArgument(o.getApplicationArgument());
resource.setOutputStreaming(o.isOutputStreaming());
- resource.setAppInterfaceResource((AppInterfaceResource)createAppInterfaceResource(o.getApplicationInterface()));
- }
- return resource;
- }
-
- private static AppCatalogResource createWorkflowOutput(WorkflowOutput o) {
- WorkflowOutputResource resource = new WorkflowOutputResource();
- if (o != null){
- resource.setWfTemplateId(o.getWfTemplateId());
- resource.setOutputKey(o.getOutputKey());
- if (o.getOutputVal() != null){
- resource.setOutputVal(new String(o.getOutputVal()));
- }
- resource.setDataType(o.getDataType());
- resource.setValidityType(o.getValidityType());
- resource.setDataMovement(o.isDataMovement());
- resource.setDataNameLocation(o.getDataNameLocation());
- resource.setWorkflowResource((WorkflowResource)createWorkflow(o.getWorkflow()));
+ resource.setAppInterfaceResource((AppInterfaceResource) createAppInterfaceResource(o.getApplicationInterface()));
}
return resource;
}
private static AppCatalogResource createGatewayClientCredential(GatewayClientCredential o) {
GatewayClientCredentialResource resource = new GatewayClientCredentialResource();
- if (o != null){
+ if (o != null) {
resource.setClientKey(o.getClientKey());
resource.setClientSecret(o.getClientSecret());
resource.setGatewayId(o.getGatewayId());
@@ -903,7 +842,7 @@ public class AppCatalogJPAUtils {
resource.setGatewayID(o.getGatewayID());
resource.setCreatedTime(o.getCreationTime());
resource.setCredentialStoreToken(o.getCredentialStoreToken());
- if (o.getUpdateTime() != null){
+ if (o.getUpdateTime() != null) {
resource.setUpdatedTime(o.getUpdateTime());
}
}
@@ -960,38 +899,20 @@ public class AppCatalogJPAUtils {
resource.setDataMovementInterfaceId(o.getDataMovementInterfaceId());
resource.setDataMovementProtocol(o.getDataMovementProtocol());
resource.setPriorityOrder(o.getPriorityOrder());
- resource.setStorageResourceResource((StorageResourceResource)createStorageResource(o.getStorageResource()));
+ resource.setStorageResourceResource((StorageResourceResource) createStorageResource(o.getStorageResource()));
}
return resource;
}
private static AppCatalogResource createModuleLoadCmd(ModuleLoadCmd o) {
ModuleLoadCmdResource moduleLoadCmdResource = new ModuleLoadCmdResource();
- if (o != null){
+ if (o != null) {
moduleLoadCmdResource.setCmd(o.getCmd());
moduleLoadCmdResource.setAppDeploymentId(o.getAppDeploymentId());
moduleLoadCmdResource.setOrder(o.getOrder());
- moduleLoadCmdResource.setAppDeploymentResource((AppDeploymentResource)createApplicationDeployment(o.getApplicationDeployment()));
+ moduleLoadCmdResource.setAppDeploymentResource((AppDeploymentResource) createApplicationDeployment(o.getApplicationDeployment()));
}
return moduleLoadCmdResource;
}
-
- private static AppCatalogResource createWorkflow(Workflow o) {
- WorkflowResource workflowResource = new WorkflowResource();
- workflowResource.setWfName(o.getWfName());
- workflowResource.setCreatedUser(o.getCreatedUser());
- if (o.getGraph() != null){
- workflowResource.setGraph(new String(o.getGraph()));
- }
- if (o.getImage() != null){
- workflowResource.setImage(new String(o.getImage()));
- }
- workflowResource.setCreatedTime(o.getCreationTime());
- if (o.getUpdateTime() != null){
- workflowResource.setUpdatedTime(o.getUpdateTime());
- }
- workflowResource.setWfTemplateId(o.getWfTemplateId());
- workflowResource.setGatewayId(o.getGatewayId());
- return workflowResource;
- }
}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogResourceType.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogResourceType.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogResourceType.java
index 66a8a03..e30ea06 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogResourceType.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogResourceType.java
@@ -63,8 +63,5 @@ public enum AppCatalogResourceType {
LOCAL_DATA_MOVEMENT,
MODULE_LOAD_CMD,
ClOUD_SUBMISSION,
- WORKFLOW,
- WORKFLOW_INPUT,
- WORKFLOW_OUTPUT,
GATEWAY_CLIENT_CREDENTIAL,
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
index 1420fd1..056181f 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
@@ -21,7 +21,6 @@
package org.apache.airavata.registry.core.app.catalog.util;
-import org.apache.airavata.model.Workflow;
import org.apache.airavata.model.appcatalog.appdeployment.*;
import org.apache.airavata.model.appcatalog.appinterface.*;
import org.apache.airavata.model.appcatalog.computeresource.*;
@@ -846,30 +845,6 @@ public class AppCatalogThriftConversion {
return preferences;
}
- public static InputDataObjectType getWorkflowInput (WorkflowInputResource resource){
- InputDataObjectType input = new InputDataObjectType();
- input.setName(resource.getInputKey());
- input.setApplicationArgument(resource.getAppArgument());
- input.setInputOrder(resource.getInputOrder());
- input.setType(DataType.valueOf(resource.getDataType()));
- input.setMetaData(resource.getMetadata());
- input.setUserFriendlyDescription(resource.getUserFriendlyDesc());
- input.setIsRequired(resource.getRequired());
- input.setRequiredToAddedToCommandLine(resource.getRequiredToCMD());
- input.setDataStaged(resource.isDataStaged());
- return input;
- }
-
- public static List<InputDataObjectType> getWFInputs(List<AppCatalogResource> resources){
- List<InputDataObjectType> inputResources = new ArrayList<InputDataObjectType>();
- if (resources != null && !resources.isEmpty()){
- for (AppCatalogResource resource : resources){
- inputResources.add(getWorkflowInput((WorkflowInputResource) resource));
- }
- }
- return inputResources;
- }
-
public static GatewayResourceProfile getGatewayResourceProfile(GatewayProfileResource gw, List<ComputeResourcePreference> preferences, List<StoragePreference> storagePreferences){
GatewayResourceProfile gatewayProfile = new GatewayResourceProfile();
gatewayProfile.setGatewayID(gw.getGatewayID());
@@ -879,18 +854,4 @@ public class AppCatalogThriftConversion {
return gatewayProfile;
}
- public static Workflow getWorkflow (WorkflowResource resource) throws AppCatalogException {
- Workflow workflow = new Workflow();
- workflow.setTemplateId(resource.getWfTemplateId());
- workflow.setGraph(resource.getGraph());
- workflow.setName(resource.getWfName());
- if (resource.getImage() != null){
- workflow.setImage(resource.getImage().getBytes());
- }
- WorkflowInputResource inputResource = new WorkflowInputResource();
- List<AppCatalogResource> resources = inputResource.get(AppCatAbstractResource.WFInputConstants.WF_TEMPLATE_ID, resource.getWfTemplateId());
- workflow.setWorkflowInputs(getWFInputs(resources));
-
- return workflow;
- }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/ComponentStatus.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/ComponentStatus.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/ComponentStatus.java
index b6353b4..92c06de 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/ComponentStatus.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/ComponentStatus.java
@@ -43,6 +43,13 @@ public class ComponentStatus implements Serializable {
@Column(name = "UPDATE_TIME")
private Timestamp updateTime;
+ @Column(name = "TEMPLATE_ID")
+ private String templateId;
+
+ @ManyToOne(cascade= CascadeType.MERGE)
+ @JoinColumn(name = "TEMPLATE_ID")
+ private Workflow workflow;
+
public String getStatusId() {
return statusId;
}
@@ -74,5 +81,21 @@ public class ComponentStatus implements Serializable {
public void setUpdateTime(Timestamp updateTime) {
this.updateTime = updateTime;
}
+
+ public String getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(String templateId) {
+ this.templateId = templateId;
+ }
+
+ public Workflow getWorkflow() {
+ return workflow;
+ }
+
+ public void setWorkflow(Workflow workflow) {
+ this.workflow = workflow;
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge.java
index 48ececb..8078000 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Edge.java
@@ -48,6 +48,9 @@ public class Edge implements Serializable {
@Column(name = "DESCRIPTION")
private String description;
+ @Column(name = "CREATED_TIME")
+ private Timestamp createdTime;
+
@ManyToOne(cascade= CascadeType.MERGE)
@JoinColumn(name = "TEMPLATE_ID")
private Workflow workflow;
@@ -99,5 +102,13 @@ public class Edge implements Serializable {
public void setWorkflow(Workflow workflow) {
this.workflow = workflow;
}
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node.java
index 0711ad5..54bd079 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Node.java
@@ -24,6 +24,7 @@ package org.apache.airavata.registry.core.workflow.catalog.model;
import javax.persistence.*;
import java.io.Serializable;
+import java.sql.Timestamp;
@Entity
@Table(name = "NODE")
@@ -53,6 +54,9 @@ public class Node implements Serializable {
@Column(name = "APPLICATION_NAME")
private String applicationName;
+ @Column(name = "CREATED_TIME")
+ private Timestamp createdTime;
+
@ManyToOne(cascade= CascadeType.MERGE)
@JoinColumn(name = "TEMPLATE_ID")
private Workflow workflow;
@@ -120,5 +124,13 @@ public class Node implements Serializable {
public void setApplicationName(String applicationName) {
this.applicationName = applicationName;
}
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/2a2782a6/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port.java
index f0be41f..0badd6e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/workflow/catalog/model/Port.java
@@ -24,6 +24,7 @@ package org.apache.airavata.registry.core.workflow.catalog.model;
import javax.persistence.*;
import java.io.Serializable;
+import java.sql.Timestamp;
@Entity
@Table(name = "PORT")
@@ -47,6 +48,9 @@ public class Port implements Serializable {
@Column(name = "DESCRIPTION")
private String description;
+ @Column(name = "CREATED_TIME")
+ private Timestamp createdTime;
+
@ManyToOne(cascade= CascadeType.MERGE)
@JoinColumn(name = "TEMPLATE_ID")
private Workflow workflow;
@@ -98,5 +102,13 @@ public class Port implements Serializable {
public void setPortId(String portId) {
this.portId = portId;
}
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
}
[27/50] [abbrv] airavata git commit: Merge branch 'develop' of
https://git-wip-us.apache.org/repos/asf/airavata into develop
Posted by ch...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/airavata into develop
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/ad011612
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/ad011612
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/ad011612
Branch: refs/heads/master
Commit: ad0116126d12b6b2afdd43c60f3190884a56d9d2
Parents: 225f462 72a6f6a
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Feb 1 16:48:26 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Feb 1 16:48:26 2016 -0500
----------------------------------------------------------------------
.../workflow/catalog/model/ComponentStatus.java | 78 +++++++++
.../core/workflow/catalog/model/Edge.java | 103 ++++++++++++
.../core/workflow/catalog/model/Edge_PK.java | 64 +++++++
.../core/workflow/catalog/model/Node.java | 124 ++++++++++++++
.../core/workflow/catalog/model/Node_PK.java | 64 +++++++
.../core/workflow/catalog/model/Port.java | 102 ++++++++++++
.../core/workflow/catalog/model/Port_PK.java | 64 +++++++
.../core/workflow/catalog/model/Workflow.java | 124 ++++++++++++++
.../catalog/model/WorkflowInput_PK.java | 64 +++++++
.../catalog/model/WorkflowIntInput.java | 166 +++++++++++++++++++
.../workflow/catalog/model/WorkflowOutput.java | 156 +++++++++++++++++
.../catalog/model/WorkflowOutput_PK.java | 64 +++++++
.../workflow/catalog/model/WorkflowStatus.java | 103 ++++++++++++
.../catalog/model/WorkflowStatus_PK.java | 64 +++++++
.../src/main/resources/workflow-derby.sql | 123 ++++++++++++++
.../src/main/resources/workflow-mysql.sql | 123 ++++++++++++++
16 files changed, 1586 insertions(+)
----------------------------------------------------------------------
[09/50] [abbrv] airavata git commit: set correct gateway id
Posted by ch...@apache.org.
set correct gateway id
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/d79055a6
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/d79055a6
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/d79055a6
Branch: refs/heads/master
Commit: d79055a693f3d0a417b4ac611c02cedec95985e7
Parents: d527fc5
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Wed Jan 20 13:32:32 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Wed Jan 20 13:32:32 2016 -0500
----------------------------------------------------------------------
.../airavata/orchestrator/server/OrchestratorServerHandler.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/d79055a6/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index f04fdae..a461ba4 100644
--- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -538,7 +538,7 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
}
if (status.getState() != null) {
status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
- OrchestratorUtils.updageAndPublishExperimentStatus(processIdentity.getExperimentId(), status, publisher, gatewayName);
+ OrchestratorUtils.updageAndPublishExperimentStatus(processIdentity.getExperimentId(), status, publisher, processIdentity.getGatewayId());
log.info("expId : " + processIdentity.getExperimentId() + " :- Experiment status updated to " +
status.getState());
}
[49/50] [abbrv] airavata git commit: update generated code and fixing
compilation issues
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 3deb9d1..1ad3333 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-02-08")
public class Airavata {
public interface Iface {
@@ -200,6 +200,7 @@ public class Airavata {
public String getSSHPubKey(org.apache.airavata.model.security.AuthzToken authzToken, String airavataCredStoreToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
/**
+ *
* Get a Public Key by Providing the Token
*
* @param CredStoreToken
@@ -218,6 +219,7 @@ public class Airavata {
public Map<String,String> getAllUserSSHPubKeys(org.apache.airavata.model.security.AuthzToken authzToken, String userName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
/**
+ *
* Get all Public Keys of the Gateway
*
* @param CredStoreToken
@@ -236,6 +238,7 @@ public class Airavata {
public Map<String,String> getAllGatewaySSHPubKeys(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
/**
+ *
* Delete a Gateway
*
* @param gatewayId
@@ -253,6 +256,7 @@ public class Airavata {
public boolean deleteSSHPubKey(org.apache.airavata.model.security.AuthzToken authzToken, String airavataCredStoreToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
/**
+ *
* Creates a Project with basic metadata.
* A Project is a container of experiments.
*
@@ -260,7 +264,7 @@ public class Airavata {
* The identifier for the requested gateway.
*
* @param Project
- * The Project Object described in the workspace_model
+ * The Project Object described in the workspace_model.
*
*
*
@@ -271,6 +275,7 @@ public class Airavata {
public String createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Update an Existing Project
*
* @param projectId
@@ -288,14 +293,15 @@ public class Airavata {
public void updateProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Get a Project by ID
- * This method is to obtain a project by providing a projectId
+ * This method is to obtain a project by providing a projectId.
*
* @param projectId
- * projectId of the project you require
+ * projectId of the project you require.
*
* @return project
- * project data model will be returned
+ * project data model will be returned.
*
*
*
@@ -305,15 +311,18 @@ public class Airavata {
public org.apache.airavata.model.workspace.Project getProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Delete a Project
- * This method is used to delete an existing Project
+ * This method is used to delete an existing Project.
*
* @param projectId
- * projectId of the project you want to delete
+ * projectId of the project you want to delete.
*
* @return boolean
* Boolean identifier for the success or failure of the deletion operation.
*
+ * NOTE: This method is not used within gateways connected with Airavata.
+ *
*
*
* @param authzToken
@@ -322,20 +331,21 @@ public class Airavata {
public boolean deleteProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Get all Project by user with pagination. Results will be ordered based
- * on creation time DESC
+ *
+ * Get All User Projects
+ * Get all Project for the user with pagination. Results will be ordered based on creation time DESC.
*
* @param gatewayId
* The identifier for the requested gateway.
*
* @param userName
- * The identifier of the user
+ * The identifier of the user.
*
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
*
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
*
*
*
@@ -348,19 +358,25 @@ public class Airavata {
public List<org.apache.airavata.model.workspace.Project> getUserProjects(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Get all Project for user by project name with pagination.Results will be ordered based
- * on creation time DESC
+ *
+ * Search User Projects by Project Name
+ * Get all Project for user by project name with pagination.Results will be ordered based on creation time DESC.
*
* @param gatewayId
- * The identifier for the requested gateway.
+ * The unique identifier for the requested gateway.
+ *
* @param userName
- * The identifier of the user
+ * The identifier of the user.
+ *
* @param projectName
- * The name of the project on which the results to be fetched
+ * The name of the project on which the results to be fetched.
+ *
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -373,19 +389,25 @@ public class Airavata {
public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectName(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, String projectName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Search and get all Projects for user by project description with pagination. Results
- * will be ordered based on creation time DESC
+ *
+ * Search User Projects by Project Description
+ * Search and get all Projects for user by project description with pagination. Results will be ordered based on creation time DESC.
*
* @param gatewayId
- * The identifier for the requested gateway.
+ * The unique identifier of the gateway making the request.
+ *
* @param userName
- * The identifier of the user
+ * The identifier of the user.
+ *
* @param description
- * The description to be matched
+ * The description to be matched.
+ *
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -398,19 +420,25 @@ public class Airavata {
public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectDesc(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, String description, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Search Experiments by experiment name with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by Name
+ * Search user Experiments using experiment name with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user who created the experiments.
+ *
* @param expName
- * Experiment name to be matched
+ * Experiment name to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -423,19 +451,25 @@ public class Airavata {
public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByName(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, String expName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Search Experiments by experiment name with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search By Experiment Description
+ * Search Experiments by experiment description with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param description
- * Experiment description to be matched
+ * Experiment description to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -448,19 +482,25 @@ public class Airavata {
public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByDesc(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, String description, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Search Experiments by application id with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search Experiment By the Application
+ * Search Experiments of a particular application id with pagination. Results will be sorted based on creation time DESC
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param applicationId
- * Application id to be matched
+ * Application id to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -473,19 +513,25 @@ public class Airavata {
public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByApplication(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, String applicationId, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Search Experiments by experiment status with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by Status
+ * Search all the Experiments of the given user by experiment status with pagination. Results will be sorted based on creation time DESC
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user making the request.
+ *
* @param experimentState
- * Experiement state to be matched
+ * Experiement state to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -498,21 +544,31 @@ public class Airavata {
public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByStatus(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, org.apache.airavata.model.status.ExperimentState experimentState, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Search Experiments by experiment creation time with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by the Creation Time
+ * This will search all the experiments of the given user by experiment creation time with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param fromTime
- * Start time of the experiments creation time
+ * Start time of the experiments creation time.
+ *
* @param toTime
- * End time of the experiement creation time
+ * End time of the experiement creation time.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
+ * @return ExperimentSummaryModel
+ * List of experiments for the given search filter. Here only the Experiment summary will be returned.
+ *
*
*
* @param authzToken
@@ -526,19 +582,27 @@ public class Airavata {
public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByCreationTime(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, long fromTime, long toTime, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
- * based on creation time DESC
+ * Search Experiments.
+ * Search Experiments by using multiple filter criteria with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user requesting the search function.
+ *
* @param filters
- * map of multiple filter criteria.
+ * Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
+ * @return ExperimentSummaryModel
+ * List of experiments for the given search filter. Here only the Experiment summary will be returned.
+ *
*
*
* @param authzToken
@@ -551,13 +615,19 @@ public class Airavata {
public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperiments(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, Map<org.apache.airavata.model.experiment.ExperimentSearchFields,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Get Experiment Statisitics for the given gateway for a specific time period
+ *
+ * Get Experiment Statistics
+ * Get Experiment Statisitics for a given gateway for a specific time period. This feature is available only for admins of a particular gateway. Gateway admin access is managed by the user roles.
+ *
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the gateway making the request to fetch statistics.
+ *
* @param fromTime
- * Starting date time
+ * Starting date time.
+ *
* @param toTime
- * Ending data time
+ * Ending data time.
+ *
*
*
* @param authzToken
@@ -568,15 +638,19 @@ public class Airavata {
public org.apache.airavata.model.experiment.ExperimentStatistics getExperimentStatistics(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, long fromTime, long toTime) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Get Experiments within project with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Get All Experiments of the Project
+ * Get Experiments within project with pagination. Results will be sorted based on creation time DESC.
*
* @param projectId
- * Identifier of the project
+ * Uniqie identifier of the project.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -587,17 +661,22 @@ public class Airavata {
public List<org.apache.airavata.model.experiment.ExperimentModel> getExperimentsInProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Get experiments by user with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Get All Experiments of the User
+ * Get experiments by user with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requesting gateway
+ * Identifier of the requesting gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested end user.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -609,12 +688,17 @@ public class Airavata {
public List<org.apache.airavata.model.experiment.ExperimentModel> getUserExperiments(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ * *
+ * * Create New Experiment
* * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
* * but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client
* * has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
* * registering the experiment in a persistent store.
* *
- * * @param basicExperimentMetadata
+ * * @param gatewayId
+ * * The unique ID of the gateway where the experiment is been created.
+ * *
+ * * @param ExperimentModel
* * The create experiment will require the basic experiment metadata like the name and description, intended user,
* * the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
* * the ExperimentMetadata is a required field.
@@ -651,8 +735,8 @@ public class Airavata {
public String createExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.experiment.ExperimentModel experiment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Delete an Experiment
*
+ * Delete an Experiment
* If the experiment is not already launched experiment can be deleted.
*
* @param authzToken
@@ -661,7 +745,7 @@ public class Airavata {
* Experiment ID of the experimnet you want to delete.
*
* @return boolean
- * Identifier for the success or failure of the deletion operation
+ * Identifier for the success or failure of the deletion operation.
*
*
*
@@ -671,12 +755,14 @@ public class Airavata {
public boolean deleteExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String experimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ * *
+ * * Get Experiment
* * Fetch previously created experiment metadata.
* *
* * @param airavataExperimentId
- * * The identifier for the requested experiment. This is returned during the create experiment step.
+ * * The unique identifier of the requested experiment. This ID is returned during the create experiment step.
* *
- * * @return experimentMetada
+ * * @return ExperimentModel
* * This method will return the previously stored experiment metadata.
* *
* * @throws org.apache.airavata.model.error.InvalidRequestException
@@ -710,14 +796,17 @@ public class Airavata {
public org.apache.airavata.model.experiment.ExperimentModel getExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
+ * Get Complete Experiment Details
* Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
* tasks -> jobs information.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
*
- * @return experimentMetada
- * This method will return the previously stored experiment metadata.
+ * @return ExperimentModel
+ * This method will return the previously stored experiment metadata including application input parameters, computational resource scheduling
+ * information, special input output handling and additional quality of service parameters.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
* For any incorrect forming of the request itself.
@@ -749,14 +838,15 @@ public class Airavata {
public org.apache.airavata.model.experiment.ExperimentModel getDetailedExperimentTree(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Configure a previously created experiment with required inputs, scheduling and other quality of service
- * parameters. This method only updates the experiment object within the registry. The experiment has to be launched
- * to make it actionable by the server.
+ *
+ * Update a Previously Created Experiment
+ * Configure the CREATED experiment with required inputs, scheduling and other quality of service parameters. This method only updates the experiment object within the registry.
+ * The experiment has to be launched to make it actionable by the server.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
*
- * @param experimentConfigurationData
+ * @param ExperimentModel
* The configuration information of the experiment with application input parameters, computational resource scheduling
* information, special input output handling and additional quality of service parameters.
*
@@ -799,13 +889,14 @@ public class Airavata {
/**
* *
- * * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
- * *
- * * @param experimentId
+ * * Validate experiment configuration.
+ * * A true in general indicates, the experiment is ready to be launched.
* *
+ * * @param airavataExperimentId
+ * * Unique identifier of the experiment (Experimnent ID) of the experiment which need to be validated.
* *
* * @return boolean
- * * Identifier for the success or failure of the validation operation
+ * * Identifier for the success or failure of the validation operation.
* *
* *
*
@@ -815,8 +906,12 @@ public class Airavata {
public boolean validateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
- * notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * Launch a Previously Created & Configured Experiment.
+ * Airavata Server will then start processing the request and appropriate notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * @gatewayId
+ * ID of the gateway which will launch the experiment.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
@@ -855,17 +950,18 @@ public class Airavata {
public void launchExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Get Experiment Status
*
- * Obtain the status os an experiment by providing the Experiment Id
+ * Obtain the status of an experiment by providing the Experiment Id
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you require the status
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you require the status.
*
* @return ExperimentStatus
- * ExperimentStatus model with current status will be returned.
+ * ExperimentStatus model with the current status will be returned.
*
*
*
@@ -875,16 +971,17 @@ public class Airavata {
public org.apache.airavata.model.status.ExperimentStatus getExperimentStatus(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Get Experiment Outputs
- * This method to be used when need to obtain outputs of a certain Experiment
+ * This method to be used when need to obtain final outputs of a certain Experiment
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you need the outputs
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you need the outputs.
*
* @return list
- * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
*
*
*
@@ -894,16 +991,17 @@ public class Airavata {
public List<org.apache.airavata.model.application.io.OutputDataObjectType> getExperimentOutputs(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Get Intermediate Experiment Outputs
* This method to be used when need to obtain intermediate outputs of a certain Experiment
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you need the intermediate outputs
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you need intermediate outputs.
*
* @return list
- * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
*
*
*
@@ -913,13 +1011,14 @@ public class Airavata {
public List<org.apache.airavata.model.application.io.OutputDataObjectType> getIntermediateOutputs(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Get Job Status for an Experiment
+ *
+ * Get Job Statuses for an Experiment
* This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
*
* @param authzToken
*
* @param experiementId
- * Experiment ID of the experimnet you need the intermediate outputs
+ * Experiment ID of the experimnet you need the job statuses.
*
* @return JobStatus
* Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map
@@ -932,16 +1031,17 @@ public class Airavata {
public Map<String,org.apache.airavata.model.status.JobStatus> getJobStatuses(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Get Job Details for all the jobs within an Experiment
+ *
+ * Get Job Details for all the jobs within an Experiment.
* This method to be used when need to get the job details for one or many jobs of an Experiment.
*
* @param authzToken
*
* @param experiementId
- * Experiment ID of the experimnet you need job details
+ * Experiment ID of the experimnet you need job details.
*
* @return list of JobDetails
- * Job details
+ * Job details.
*
*
*
@@ -951,7 +1051,9 @@ public class Airavata {
public List<org.apache.airavata.model.job.JobModel> getJobDetails(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+ *
+ * Clone an Existing Experiment
+ * Existing specified experiment is cloned and a new name is provided. A copy of the experiment configuration is made and is persisted with new metadata.
* The client has to subsequently update this configuration if needed and launch the cloned experiment.
*
* @param newExperimentName
@@ -963,7 +1065,7 @@ public class Airavata {
* should be shared public by default.
*
* @return
- * The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+ * The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
* For any incorrect forming of the request itself.
@@ -996,12 +1098,16 @@ public class Airavata {
public String cloneExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String existingExperimentID, String newExperimentName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Terminate a running experiment.
+ *
+ * Terminate a running Experiment.
+ *
+ * @gatewayId
+ * ID of the gateway which will terminate the running Experiment.
*
* @param airavataExperimentId
- * The identifier for the requested experiment. This is returned during the create experiment step.
+ * The identifier of the experiment required termination. This ID is returned during the create experiment step.
*
- * @return
+ * @return status
* This method call does not have a return value.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
@@ -1035,13 +1141,17 @@ public class Airavata {
public void terminateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Register a Application Module.
*
+ * @gatewayId
+ * ID of the gateway which is registering the new Application Module.
+ *
* @param applicationModule
* Application Module Object created from the datamodel.
*
* @return appModuleId
- * Returns a server-side generated airavata appModule globally unique identifier.
+ * Returns the server-side generated airavata appModule globally unique identifier.
*
*
* @param authzToken
@@ -1051,13 +1161,14 @@ public class Airavata {
public String registerApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Fetch a Application Module.
*
* @param appModuleId
- * The identifier for the requested application module
+ * The unique identifier of the application module required
*
* @return applicationModule
- * Returns a application Module Object.
+ * Returns an Application Module Object.
*
*
* @param authzToken
@@ -1066,6 +1177,7 @@ public class Airavata {
public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, String appModuleId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Update a Application Module.
*
* @param appModuleId
@@ -1084,13 +1196,28 @@ public class Airavata {
*/
public boolean updateApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, String appModuleId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ /**
+ *
+ * Fetch all Application Module Descriptions.
+ *
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
+ * @return list
+ * Returns the list of all Application Module Objects.
+ *
+ *
+ * @param authzToken
+ * @param gatewayId
+ */
public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAllAppModules(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Delete a Application Module.
+ *
+ * Delete an Application Module.
*
* @param appModuleId
- * The identifier for the requested application module to be deleted.
+ * The identifier of the Application Module to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1102,9 +1229,13 @@ public class Airavata {
public boolean deleteApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, String appModuleId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Register a Application Deployment.
*
- * @param applicationModule
+ * Register an Application Deployment.
+ *
+ * @param gatewayId
+ * ID of the gateway which is registering the new Application Deployment.
+ *
+ * @param applicationDeployment
* Application Module Object created from the datamodel.
*
* @return appDeploymentId
@@ -1118,6 +1249,7 @@ public class Airavata {
public String registerApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Fetch a Application Deployment.
*
* @param appDeploymentId
@@ -1133,10 +1265,11 @@ public class Airavata {
public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, String appDeploymentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Update a Application Deployment.
+ *
+ * Update an Application Deployment.
*
* @param appDeploymentId
- * The identifier for the requested application deployment to be updated.
+ * The identifier of the requested application deployment to be updated.
*
* @param appDeployment
* Application Deployment Object created from the datamodel.
@@ -1152,10 +1285,11 @@ public class Airavata {
public boolean updateApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, String appDeploymentId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Delete a Application deployment.
+ *
+ * Delete an Application Deployment.
*
* @param appDeploymentId
- * The identifier for the requested application deployment to be deleted.
+ * The unique identifier of application deployment to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1167,10 +1301,14 @@ public class Airavata {
public boolean deleteApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, String appDeploymentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Fetch all Application Deployment Descriptions.
*
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
* @return list<applicationDeployment.
- * Returns the list of all application Deployment Objects.
+ * Returns the list of all application Deployment Objects.
*
*
* @param authzToken
@@ -1194,9 +1332,10 @@ public class Airavata {
public List<String> getAppModuleDeployedResources(org.apache.airavata.model.security.AuthzToken authzToken, String appModuleId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Register a Application Interface.
*
- * @param applicationModule
+ * @param applicationInterface
* Application Module Object created from the datamodel.
*
* @return appInterfaceId
@@ -1209,17 +1348,39 @@ public class Airavata {
*/
public String registerApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ /**
+ *
+ * Clone an Application Interface.
+ *
+ * @gatewayId
+ * The identifier for the gateway profile to be requested
+ *
+ * @param existingAppInterfaceID
+ * Identifier of the existing Application interface you wich to clone.
+ *
+ * @param newApplicationName
+ * Name for the new application interface.
+ *
+ * @return appInterfaceId
+ * Returns a server-side generated globally unique identifier for the newly cloned application interface.
+ *
+ *
+ * @param authzToken
+ * @param existingAppInterfaceID
+ * @param newApplicationName
+ * @param gatewayId
+ */
public String cloneApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, String existingAppInterfaceID, String newApplicationName, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Fetch a Application Interface.
+ *
+ * Fetch an Application Interface.
*
* @param appInterfaceId
- * The identifier for the requested application module
+ * The identifier for the requested application interface.
*
* @return applicationInterface
- * Returns a application Interface Object.
- *
+ * Returns an application Interface Object.
*
*
* @param authzToken
@@ -1228,10 +1389,11 @@ public class Airavata {
public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Update a Application Interface.
*
* @param appInterfaceId
- * The identifier for the requested application deployment to be updated.
+ * The identifier of the requested application deployment to be updated.
*
* @param appInterface
* Application Interface Object created from the datamodel.
@@ -1240,7 +1402,6 @@ public class Airavata {
* Returns a success/failure of the update.
*
*
- *
* @param authzToken
* @param appInterfaceId
* @param applicationInterface
@@ -1248,7 +1409,8 @@ public class Airavata {
public boolean updateApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Delete a Application Interface.
+ *
+ * Delete an Application Interface.
*
* @param appInterfaceId
* The identifier for the requested application interface to be deleted.
@@ -1257,18 +1419,18 @@ public class Airavata {
* Returns a success/failure of the deletion.
*
*
- *
* @param authzToken
* @param appInterfaceId
*/
public boolean deleteApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Fetch name and id of Application Interface documents.
+ *
+ * Fetch name and ID of Application Interface documents.
*
*
* @return map<applicationId, applicationInterfaceNames>
- * Returns a list of application interfaces with corresponsing id's
+ * Returns a list of application interfaces with corresponsing ID's
*
*
* @param authzToken
@@ -1277,11 +1439,12 @@ public class Airavata {
public Map<String,String> getAllApplicationInterfaceNames(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Fetch all Application Interface documents.
*
*
* @return map<applicationId, applicationInterfaceNames>
- * Returns a list of application interfaces documents
+ * Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).
*
*
* @param authzToken
@@ -1290,10 +1453,11 @@ public class Airavata {
public List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getAllApplicationInterfaces(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Fetch the list of Application Inputs.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier of the application interface which need inputs to be fetched.
*
* @return list<application_interface_model.InputDataObjectType>
* Returns a list of application inputs.
@@ -1305,10 +1469,11 @@ public class Airavata {
public List<org.apache.airavata.model.application.io.InputDataObjectType> getApplicationInputs(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Fetch the list of Application Outputs.
+ *
+ * Fetch list of Application Outputs.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier of the application interface which need outputs to be fetched.
*
* @return list<application_interface_model.OutputDataObjectType>
* Returns a list of application outputs.
@@ -1320,14 +1485,15 @@ public class Airavata {
public List<org.apache.airavata.model.application.io.OutputDataObjectType> getApplicationOutputs(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Fetch a list of all deployed Compute Hosts for a given application interfaces.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier for the requested application interface.
*
* @return map<computeResourceId, computeResourceName>
* A map of registered compute resource id's and their corresponding hostnames.
- * Deployments of each modules listed within the interfaces will be listed.
+ * Deployments of each modules listed within the interfaces will be listed.
*
*
* @param authzToken
@@ -1366,6 +1532,7 @@ public class Airavata {
public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Fetch all registered Compute Resources.
*
* @return A map of registered compute resource id's and thier corresponding hostnames.
@@ -1452,7 +1619,7 @@ public class Airavata {
public Map<String,String> getAllStorageResourceNames(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Update a Compute Resource.
+ * Update a Storage Resource.
*
* @param storageResourceId
* The identifier for the requested compute resource to be updated.
@@ -1474,7 +1641,7 @@ public class Airavata {
* Delete a Storage Resource.
*
* @param storageResourceId
- * The identifier for the requested compute resource to be deleted.
+ * The identifier of the requested compute resource to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1601,6 +1768,7 @@ public class Airavata {
public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSSHJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Add a UNICORE Job Submission details to a compute resource
* App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
*
@@ -1625,10 +1793,13 @@ public class Airavata {
public String addUNICOREJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ * *
* * This method returns UnicoreJobSubmission object
+ * *
* * @param jobSubmissionInterfaceId
* * The identifier of the JobSubmission Interface to be retrieved.
* * @return UnicoreJobSubmission instance
+ * *
* *
*
* @param authzToken
@@ -1637,6 +1808,7 @@ public class Airavata {
public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getUnicoreJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ * *
* * Add a Cloud Job Submission details to a compute resource
* * App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
* *
@@ -1651,6 +1823,7 @@ public class Airavata {
* *
* * @return status
* * Returns the unique job submission id.
+ * *
* *
*
* @param authzToken
@@ -1661,6 +1834,7 @@ public class Airavata {
public String addCloudJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ * *
* * This method returns cloudJobSubmission object
* * @param jobSubmissionInterfaceI
* * The identifier of the JobSubmission Interface to be retrieved.
@@ -1673,6 +1847,7 @@ public class Airavata {
public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getCloudJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Update the given SSH Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -1692,6 +1867,7 @@ public class Airavata {
public boolean updateSSHJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Update the cloud Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -1711,6 +1887,7 @@ public class Airavata {
public boolean updateCloudJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Update the UNIOCRE Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -1731,6 +1908,7 @@ public class Airavata {
public boolean updateUnicoreJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Add a Local data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -1760,6 +1938,7 @@ public class Airavata {
public String addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Update the given Local data movement details
*
* @param dataMovementInterfaceId
@@ -1780,7 +1959,8 @@ public class Airavata {
public boolean updateLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * This method returns local datamovement object
+ *
+ * This method returns local datamovement object.
*
* @param dataMovementId
* The identifier of the datamovement Interface to be retrieved.
@@ -1795,6 +1975,7 @@ public class Airavata {
public org.apache.airavata.model.data.movement.LOCALDataMovement getLocalDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Add a SCP data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -1820,6 +2001,7 @@ public class Airavata {
public String addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Update the given scp data movement details
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -1855,6 +2037,7 @@ public class Airavata {
public org.apache.airavata.model.data.movement.SCPDataMovement getSCPDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Add a UNICORE data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -1880,6 +2063,7 @@ public class Airavata {
public String addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Update a selected UNICORE data movement details
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -1901,6 +2085,7 @@ public class Airavata {
public boolean updateUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* This method returns UNICORE datamovement object
*
* @param dataMovementId
@@ -1916,6 +2101,7 @@ public class Airavata {
public org.apache.airavata.model.data.movement.UnicoreDataMovement getUnicoreDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Add a GridFTP data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2134,7 +2320,7 @@ public class Airavata {
* Fetch the given Gateway Resource Profile.
*
* @param gatewayID
- * The identifier for the requested gateway resource
+ * The identifier for the requested gateway resource.
*
* @return gatewayResourceProfile
* Gateway Resource Profile Object.
@@ -2203,9 +2389,32 @@ public class Airavata {
*/
public boolean addGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID, String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ /**
+ * Add a Storage Resource Preference to a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be added.
+ *
+ * @param storageResourceId
+ * Preferences related to a particular compute resource
+ *
+ * @param computeResourcePreference
+ * The ComputeResourcePreference object to be added to the resource profile.
+ *
+ * @return status
+ * Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+ * Instead an update should be used.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageResourceId
+ * @param storagePreference
+ */
public boolean addGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID, String storageResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Fetch a Compute Resource Preference of a registered gateway profile.
*
* @param gatewayID
@@ -2224,9 +2433,28 @@ public class Airavata {
*/
public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID, String computeResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ /**
+ *
+ * Fetch a Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to request to fetch the particular storage resource preference.
+ *
+ * @param storageResourceId
+ * Identifier of the Stprage Preference required to be fetched.
+ *
+ * @return StoragePreference
+ * Returns the StoragePreference object.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageResourceId
+ */
public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID, String storageResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
+ *
* Fetch all Compute Resource Preferences of a registered gateway profile.
*
* @param gatewayID
@@ -2241,10 +2469,28 @@ public class Airavata {
*/
public List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getAllGatewayComputeResourcePreferences(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ /**
+ * Fetch all Storage Resource Preferences of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier for the gateway profile to be requested
+ *
+ * @return StoragePreference
+ * Returns the StoragePreference object.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ */
public List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getAllGatewayStoragePreferences(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * Fetch all gateway profiles registered
+ *
+ * Fetch all Gateway Profiles registered
+ *
+ * @return GatewayResourceProfile
+ * Returns all the GatewayResourcePrifle list object.
+ *
*
*
* @param authzToken
@@ -2274,6 +2520,27 @@ public class Airavata {
*/
public boolean updateGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID, String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ /**
+ * Update a Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be updated.
+ *
+ * @param storageId
+ * The Storage resource identifier of the one that you want to update
+ *
+ * @param storagePreference
+ * The storagePreference object to be updated to the resource profile.
+ *
+ * @return status
+ * Returns a success/failure of the updation.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageId
+ * @param storagePreference
+ */
public boolean updateGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID, String storageId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
@@ -2295,24 +2562,67 @@ public class Airavata {
*/
public boolean deleteGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID, String computeResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ /**
+ * Delete the Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be deleted.
+ *
+ * @param storageId
+ * ID of the storage preference you want to delete.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageId
+ */
public boolean deleteGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayID, String storageId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ /**
+ * Delete the Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be deleted.
+ *
+ * @param storageId
+ * ID of the storage preference you want to delete.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
+ * @param authzToken
+ * @param gatewayId
+ */
public List<String> getAllWorkflows(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
- public org.apache.airavata.model.Workflow getWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String workflowTemplateId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ /**
+ *
+ * API Methods Related for Work-Flow Submission Features.
+ *
+ *
+ * @param authzToken
+ * @param workflowTemplateId
+ */
+ public org.apache.airavata.model.WorkflowModel getWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String workflowTemplateId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
public void deleteWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String workflowTemplateId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
- public String registerWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.Workflow workflow) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ public String registerWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.WorkflowModel workflow) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
- public void updateWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String workflowTemplateId, org.apache.airavata.model.Workflow workflow) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+ public void updateWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String workflowTemplateId, org.apache.airavata.model.WorkflowModel workflow) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
public String getWorkflowTemplateId(org.apache.airavata.model.security.AuthzToken authzToken, String workflowName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
public boolean isWorkflowExistWithName(org.apache.airavata.model.security.AuthzToken authzToken, String workflowName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
/**
- * * Data Manager Related API Methods
+ * *
+ * * Data Manager Related API Methods.
+ * *
* *
*
* @param authzToken
@@ -2592,9 +2902,9 @@ public class Airavata {
public void deleteWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String workflowTemplateId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
- public void registerWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.Workflow workflow, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+ public void registerWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.WorkflowModel workflow, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
- public void updateWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String workflowTemplateId, org.apache.airavata.model.Workflow workflow, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+ public void updateWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String workflowTemplateId, org.apache.airavata.model.WorkflowModel workflow, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
public void getWorkflowTemplateId(org.apache.airavata.model.security.AuthzToken authzToken, String workflowName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -7310,7 +7620,7 @@ public class Airavata {
throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllWorkflows failed: unknown result");
}
- public org.apache.airavata.model.Workflow getWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String workflowTemplateId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+ public org.apache.airavata.model.WorkflowModel getWorkflow(org.apache.airavata.model.security.AuthzToken authzToken, String workflowTemplateId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientExcepti
<TRUNCATED>
[47/50] [abbrv] airavata git commit: update generated code and fixing
compilation issues
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index 3fabb7d..ee0d60d 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -210,6 +210,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Get a Public Key by Providing the Token
*
* @param CredStoreToken
@@ -231,6 +232,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Get all Public Keys of the Gateway
*
* @param CredStoreToken
@@ -252,6 +254,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Delete a Gateway
*
* @param gatewayId
@@ -272,6 +275,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Creates a Project with basic metadata.
* A Project is a container of experiments.
*
@@ -279,7 +283,7 @@ class AiravataHandler : virtual public AiravataIf {
* The identifier for the requested gateway.
*
* @param Project
- * The Project Object described in the workspace_model
+ * The Project Object described in the workspace_model.
*
*
*
@@ -293,6 +297,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Update an Existing Project
*
* @param projectId
@@ -313,14 +318,15 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Get a Project by ID
- * This method is to obtain a project by providing a projectId
+ * This method is to obtain a project by providing a projectId.
*
* @param projectId
- * projectId of the project you require
+ * projectId of the project you require.
*
* @return project
- * project data model will be returned
+ * project data model will be returned.
*
*
*
@@ -333,15 +339,18 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Delete a Project
- * This method is used to delete an existing Project
+ * This method is used to delete an existing Project.
*
* @param projectId
- * projectId of the project you want to delete
+ * projectId of the project you want to delete.
*
* @return boolean
* Boolean identifier for the success or failure of the deletion operation.
*
+ * NOTE: This method is not used within gateways connected with Airavata.
+ *
*
*
* @param authzToken
@@ -353,20 +362,21 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Get all Project by user with pagination. Results will be ordered based
- * on creation time DESC
+ *
+ * Get All User Projects
+ * Get all Project for the user with pagination. Results will be ordered based on creation time DESC.
*
* @param gatewayId
* The identifier for the requested gateway.
*
* @param userName
- * The identifier of the user
+ * The identifier of the user.
*
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
*
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
*
*
*
@@ -382,19 +392,25 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Get all Project for user by project name with pagination.Results will be ordered based
- * on creation time DESC
+ *
+ * Search User Projects by Project Name
+ * Get all Project for user by project name with pagination.Results will be ordered based on creation time DESC.
*
* @param gatewayId
- * The identifier for the requested gateway.
+ * The unique identifier for the requested gateway.
+ *
* @param userName
- * The identifier of the user
+ * The identifier of the user.
+ *
* @param projectName
- * The name of the project on which the results to be fetched
+ * The name of the project on which the results to be fetched.
+ *
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -410,19 +426,25 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Search and get all Projects for user by project description with pagination. Results
- * will be ordered based on creation time DESC
+ *
+ * Search User Projects by Project Description
+ * Search and get all Projects for user by project description with pagination. Results will be ordered based on creation time DESC.
*
* @param gatewayId
- * The identifier for the requested gateway.
+ * The unique identifier of the gateway making the request.
+ *
* @param userName
- * The identifier of the user
+ * The identifier of the user.
+ *
* @param description
- * The description to be matched
+ * The description to be matched.
+ *
* @param limit
- * The amount results to be fetched
+ * The amount results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -438,19 +460,25 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Search Experiments by experiment name with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by Name
+ * Search user Experiments using experiment name with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user who created the experiments.
+ *
* @param expName
- * Experiment name to be matched
+ * Experiment name to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -466,19 +494,25 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Search Experiments by experiment name with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search By Experiment Description
+ * Search Experiments by experiment description with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param description
- * Experiment description to be matched
+ * Experiment description to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -494,19 +528,25 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Search Experiments by application id with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search Experiment By the Application
+ * Search Experiments of a particular application id with pagination. Results will be sorted based on creation time DESC
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param applicationId
- * Application id to be matched
+ * Application id to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -522,19 +562,25 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Search Experiments by experiment status with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by Status
+ * Search all the Experiments of the given user by experiment status with pagination. Results will be sorted based on creation time DESC
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user making the request.
+ *
* @param experimentState
- * Experiement state to be matched
+ * Experiement state to be matched.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -550,21 +596,31 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Search Experiments by experiment creation time with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Search User Experiments by the Creation Time
+ * This will search all the experiments of the given user by experiment creation time with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested user.
+ *
* @param fromTime
- * Start time of the experiments creation time
+ * Start time of the experiments creation time.
+ *
* @param toTime
- * End time of the experiement creation time
+ * End time of the experiement creation time.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
+ * @return ExperimentSummaryModel
+ * List of experiments for the given search filter. Here only the Experiment summary will be returned.
+ *
*
*
* @param authzToken
@@ -581,19 +637,27 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
- * based on creation time DESC
+ * Search Experiments.
+ * Search Experiments by using multiple filter criteria with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requested gateway
+ * Identifier of the requested gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the user requesting the search function.
+ *
* @param filters
- * map of multiple filter criteria.
+ * Map of multiple filter criteria. Currenlt search filters includes Experiment Name, Description, Application, etc....
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
+ * @return ExperimentSummaryModel
+ * List of experiments for the given search filter. Here only the Experiment summary will be returned.
+ *
*
*
* @param authzToken
@@ -609,13 +673,19 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Get Experiment Statisitics for the given gateway for a specific time period
+ *
+ * Get Experiment Statistics
+ * Get Experiment Statisitics for a given gateway for a specific time period. This feature is available only for admins of a particular gateway. Gateway admin access is managed by the user roles.
+ *
* @param gatewayId
- * Identifier of the requested gateway
+ * Unique identifier of the gateway making the request to fetch statistics.
+ *
* @param fromTime
- * Starting date time
+ * Starting date time.
+ *
* @param toTime
- * Ending data time
+ * Ending data time.
+ *
*
*
* @param authzToken
@@ -629,15 +699,19 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Get Experiments within project with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Get All Experiments of the Project
+ * Get Experiments within project with pagination. Results will be sorted based on creation time DESC.
*
* @param projectId
- * Identifier of the project
+ * Uniqie identifier of the project.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -651,17 +725,22 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Get experiments by user with pagination. Results will be sorted
- * based on creation time DESC
+ *
+ * Get All Experiments of the User
+ * Get experiments by user with pagination. Results will be sorted based on creation time DESC.
*
* @param gatewayId
- * Identifier of the requesting gateway
+ * Identifier of the requesting gateway.
+ *
* @param userName
- * Username of the requested user
+ * Username of the requested end user.
+ *
* @param limit
- * Amount of results to be fetched
+ * Amount of results to be fetched.
+ *
* @param offset
- * The starting point of the results to be fetched
+ * The starting point of the results to be fetched.
+ *
*
*
* @param authzToken
@@ -676,12 +755,17 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ * *
+ * * Create New Experiment
* * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
* * but inferred from the sshKeyAuthentication header. This experiment is just a persistent place holder. The client
* * has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
* * registering the experiment in a persistent store.
* *
- * * @param basicExperimentMetadata
+ * * @param gatewayId
+ * * The unique ID of the gateway where the experiment is been created.
+ * *
+ * * @param ExperimentModel
* * The create experiment will require the basic experiment metadata like the name and description, intended user,
* * the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
* * the ExperimentMetadata is a required field.
@@ -721,8 +805,8 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Delete an Experiment
*
+ * Delete an Experiment
* If the experiment is not already launched experiment can be deleted.
*
* @param authzToken
@@ -731,7 +815,7 @@ class AiravataHandler : virtual public AiravataIf {
* Experiment ID of the experimnet you want to delete.
*
* @return boolean
- * Identifier for the success or failure of the deletion operation
+ * Identifier for the success or failure of the deletion operation.
*
*
*
@@ -744,12 +828,14 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ * *
+ * * Get Experiment
* * Fetch previously created experiment metadata.
* *
* * @param airavataExperimentId
- * * The identifier for the requested experiment. This is returned during the create experiment step.
+ * * The unique identifier of the requested experiment. This ID is returned during the create experiment step.
* *
- * * @return experimentMetada
+ * * @return ExperimentModel
* * This method will return the previously stored experiment metadata.
* *
* * @throws org.apache.airavata.model.error.InvalidRequestException
@@ -786,14 +872,17 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
+ * Get Complete Experiment Details
* Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
* tasks -> jobs information.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
*
- * @return experimentMetada
- * This method will return the previously stored experiment metadata.
+ * @return ExperimentModel
+ * This method will return the previously stored experiment metadata including application input parameters, computational resource scheduling
+ * information, special input output handling and additional quality of service parameters.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
* For any incorrect forming of the request itself.
@@ -828,14 +917,15 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Configure a previously created experiment with required inputs, scheduling and other quality of service
- * parameters. This method only updates the experiment object within the registry. The experiment has to be launched
- * to make it actionable by the server.
+ *
+ * Update a Previously Created Experiment
+ * Configure the CREATED experiment with required inputs, scheduling and other quality of service parameters. This method only updates the experiment object within the registry.
+ * The experiment has to be launched to make it actionable by the server.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
*
- * @param experimentConfigurationData
+ * @param ExperimentModel
* The configuration information of the experiment with application input parameters, computational resource scheduling
* information, special input output handling and additional quality of service parameters.
*
@@ -887,13 +977,14 @@ class AiravataHandler : virtual public AiravataIf {
/**
* *
- * * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
- * *
- * * @param experimentId
+ * * Validate experiment configuration.
+ * * A true in general indicates, the experiment is ready to be launched.
* *
+ * * @param airavataExperimentId
+ * * Unique identifier of the experiment (Experimnent ID) of the experiment which need to be validated.
* *
* * @return boolean
- * * Identifier for the success or failure of the validation operation
+ * * Identifier for the success or failure of the validation operation.
* *
* *
*
@@ -906,8 +997,12 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
- * notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * Launch a Previously Created & Configured Experiment.
+ * Airavata Server will then start processing the request and appropriate notifications and intermediate and output data will be subsequently available for this experiment.
+ *
+ * @gatewayId
+ * ID of the gateway which will launch the experiment.
*
* @param airavataExperimentId
* The identifier for the requested experiment. This is returned during the create experiment step.
@@ -949,17 +1044,18 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Get Experiment Status
*
- * Obtain the status os an experiment by providing the Experiment Id
+ * Obtain the status of an experiment by providing the Experiment Id
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you require the status
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you require the status.
*
* @return ExperimentStatus
- * ExperimentStatus model with current status will be returned.
+ * ExperimentStatus model with the current status will be returned.
*
*
*
@@ -972,16 +1068,17 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Get Experiment Outputs
- * This method to be used when need to obtain outputs of a certain Experiment
+ * This method to be used when need to obtain final outputs of a certain Experiment
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you need the outputs
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you need the outputs.
*
* @return list
- * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ * List of experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
*
*
*
@@ -994,16 +1091,17 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Get Intermediate Experiment Outputs
* This method to be used when need to obtain intermediate outputs of a certain Experiment
*
* @param authzToken
*
- * @param experiementId
- * Experiment ID of the experimnet you need the intermediate outputs
+ * @param airavataExperimentId
+ * Experiment ID of the experimnet you need intermediate outputs.
*
* @return list
- * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment
+ * List of intermediate experiment outputs will be returned. They will be returned as a list of OutputDataObjectType for the experiment.
*
*
*
@@ -1016,13 +1114,14 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Get Job Status for an Experiment
+ *
+ * Get Job Statuses for an Experiment
* This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
*
* @param authzToken
*
* @param experiementId
- * Experiment ID of the experimnet you need the intermediate outputs
+ * Experiment ID of the experimnet you need the job statuses.
*
* @return JobStatus
* Job status (string) for all all the existing jobs for the experiment will be returned in the form of a map
@@ -1038,16 +1137,17 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Get Job Details for all the jobs within an Experiment
+ *
+ * Get Job Details for all the jobs within an Experiment.
* This method to be used when need to get the job details for one or many jobs of an Experiment.
*
* @param authzToken
*
* @param experiementId
- * Experiment ID of the experimnet you need job details
+ * Experiment ID of the experimnet you need job details.
*
* @return list of JobDetails
- * Job details
+ * Job details.
*
*
*
@@ -1060,7 +1160,9 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+ *
+ * Clone an Existing Experiment
+ * Existing specified experiment is cloned and a new name is provided. A copy of the experiment configuration is made and is persisted with new metadata.
* The client has to subsequently update this configuration if needed and launch the cloned experiment.
*
* @param newExperimentName
@@ -1072,7 +1174,7 @@ class AiravataHandler : virtual public AiravataIf {
* should be shared public by default.
*
* @return
- * The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+ * The server-side generated.airavata.registry.core.experiment.globally unique identifier (Experiment ID) for the newly cloned experiment.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
* For any incorrect forming of the request itself.
@@ -1108,12 +1210,16 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Terminate a running experiment.
+ *
+ * Terminate a running Experiment.
+ *
+ * @gatewayId
+ * ID of the gateway which will terminate the running Experiment.
*
* @param airavataExperimentId
- * The identifier for the requested experiment. This is returned during the create experiment step.
+ * The identifier of the experiment required termination. This ID is returned during the create experiment step.
*
- * @return
+ * @return status
* This method call does not have a return value.
*
* @throws org.apache.airavata.model.error.InvalidRequestException
@@ -1150,13 +1256,17 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Register a Application Module.
*
+ * @gatewayId
+ * ID of the gateway which is registering the new Application Module.
+ *
* @param applicationModule
* Application Module Object created from the datamodel.
*
* @return appModuleId
- * Returns a server-side generated airavata appModule globally unique identifier.
+ * Returns the server-side generated airavata appModule globally unique identifier.
*
*
* @param authzToken
@@ -1169,13 +1279,14 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Fetch a Application Module.
*
* @param appModuleId
- * The identifier for the requested application module
+ * The unique identifier of the application module required
*
* @return applicationModule
- * Returns a application Module Object.
+ * Returns an Application Module Object.
*
*
* @param authzToken
@@ -1187,6 +1298,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Update a Application Module.
*
* @param appModuleId
@@ -1208,16 +1320,31 @@ class AiravataHandler : virtual public AiravataIf {
printf("updateApplicationModule\n");
}
+ /**
+ *
+ * Fetch all Application Module Descriptions.
+ *
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
+ * @return list
+ * Returns the list of all Application Module Objects.
+ *
+ *
+ * @param authzToken
+ * @param gatewayId
+ */
void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
// Your implementation goes here
printf("getAllAppModules\n");
}
/**
- * Delete a Application Module.
+ *
+ * Delete an Application Module.
*
* @param appModuleId
- * The identifier for the requested application module to be deleted.
+ * The identifier of the Application Module to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1232,9 +1359,13 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Register a Application Deployment.
*
- * @param applicationModule
+ * Register an Application Deployment.
+ *
+ * @param gatewayId
+ * ID of the gateway which is registering the new Application Deployment.
+ *
+ * @param applicationDeployment
* Application Module Object created from the datamodel.
*
* @return appDeploymentId
@@ -1251,6 +1382,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Fetch a Application Deployment.
*
* @param appDeploymentId
@@ -1269,10 +1401,11 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Update a Application Deployment.
+ *
+ * Update an Application Deployment.
*
* @param appDeploymentId
- * The identifier for the requested application deployment to be updated.
+ * The identifier of the requested application deployment to be updated.
*
* @param appDeployment
* Application Deployment Object created from the datamodel.
@@ -1291,10 +1424,11 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Delete a Application deployment.
+ *
+ * Delete an Application Deployment.
*
* @param appDeploymentId
- * The identifier for the requested application deployment to be deleted.
+ * The unique identifier of application deployment to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1309,10 +1443,14 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Fetch all Application Deployment Descriptions.
*
+ * @param gatewayId
+ * ID of the gateway which need to list all available application deployment documentation.
+ *
* @return list<applicationDeployment.
- * Returns the list of all application Deployment Objects.
+ * Returns the list of all application Deployment Objects.
*
*
* @param authzToken
@@ -1342,9 +1480,10 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Register a Application Interface.
*
- * @param applicationModule
+ * @param applicationInterface
* Application Module Object created from the datamodel.
*
* @return appInterfaceId
@@ -1360,20 +1499,42 @@ class AiravataHandler : virtual public AiravataIf {
printf("registerApplicationInterface\n");
}
+ /**
+ *
+ * Clone an Application Interface.
+ *
+ * @gatewayId
+ * The identifier for the gateway profile to be requested
+ *
+ * @param existingAppInterfaceID
+ * Identifier of the existing Application interface you wich to clone.
+ *
+ * @param newApplicationName
+ * Name for the new application interface.
+ *
+ * @return appInterfaceId
+ * Returns a server-side generated globally unique identifier for the newly cloned application interface.
+ *
+ *
+ * @param authzToken
+ * @param existingAppInterfaceID
+ * @param newApplicationName
+ * @param gatewayId
+ */
void cloneApplicationInterface(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& existingAppInterfaceID, const std::string& newApplicationName, const std::string& gatewayId) {
// Your implementation goes here
printf("cloneApplicationInterface\n");
}
/**
- * Fetch a Application Interface.
+ *
+ * Fetch an Application Interface.
*
* @param appInterfaceId
- * The identifier for the requested application module
+ * The identifier for the requested application interface.
*
* @return applicationInterface
- * Returns a application Interface Object.
- *
+ * Returns an application Interface Object.
*
*
* @param authzToken
@@ -1385,10 +1546,11 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Update a Application Interface.
*
* @param appInterfaceId
- * The identifier for the requested application deployment to be updated.
+ * The identifier of the requested application deployment to be updated.
*
* @param appInterface
* Application Interface Object created from the datamodel.
@@ -1397,7 +1559,6 @@ class AiravataHandler : virtual public AiravataIf {
* Returns a success/failure of the update.
*
*
- *
* @param authzToken
* @param appInterfaceId
* @param applicationInterface
@@ -1408,7 +1569,8 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Delete a Application Interface.
+ *
+ * Delete an Application Interface.
*
* @param appInterfaceId
* The identifier for the requested application interface to be deleted.
@@ -1417,7 +1579,6 @@ class AiravataHandler : virtual public AiravataIf {
* Returns a success/failure of the deletion.
*
*
- *
* @param authzToken
* @param appInterfaceId
*/
@@ -1427,11 +1588,12 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Fetch name and id of Application Interface documents.
+ *
+ * Fetch name and ID of Application Interface documents.
*
*
* @return map<applicationId, applicationInterfaceNames>
- * Returns a list of application interfaces with corresponsing id's
+ * Returns a list of application interfaces with corresponsing ID's
*
*
* @param authzToken
@@ -1443,11 +1605,12 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Fetch all Application Interface documents.
*
*
* @return map<applicationId, applicationInterfaceNames>
- * Returns a list of application interfaces documents
+ * Returns a list of application interfaces documents (Application Interface ID, name, description, Inputs and Outputs objects).
*
*
* @param authzToken
@@ -1459,10 +1622,11 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Fetch the list of Application Inputs.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier of the application interface which need inputs to be fetched.
*
* @return list<application_interface_model.InputDataObjectType>
* Returns a list of application inputs.
@@ -1477,10 +1641,11 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Fetch the list of Application Outputs.
+ *
+ * Fetch list of Application Outputs.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier of the application interface which need outputs to be fetched.
*
* @return list<application_interface_model.OutputDataObjectType>
* Returns a list of application outputs.
@@ -1495,14 +1660,15 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Fetch a list of all deployed Compute Hosts for a given application interfaces.
*
* @param appInterfaceId
- * The identifier for the requested application interface
+ * The identifier for the requested application interface.
*
* @return map<computeResourceId, computeResourceName>
* A map of registered compute resource id's and their corresponding hostnames.
- * Deployments of each modules listed within the interfaces will be listed.
+ * Deployments of each modules listed within the interfaces will be listed.
*
*
* @param authzToken
@@ -1550,6 +1716,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Fetch all registered Compute Resources.
*
* @return A map of registered compute resource id's and thier corresponding hostnames.
@@ -1654,7 +1821,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * Update a Compute Resource.
+ * Update a Storage Resource.
*
* @param storageResourceId
* The identifier for the requested compute resource to be updated.
@@ -1679,7 +1846,7 @@ class AiravataHandler : virtual public AiravataIf {
* Delete a Storage Resource.
*
* @param storageResourceId
- * The identifier for the requested compute resource to be deleted.
+ * The identifier of the requested compute resource to be deleted.
*
* @return status
* Returns a success/failure of the deletion.
@@ -1827,6 +1994,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Add a UNICORE Job Submission details to a compute resource
* App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
*
@@ -1854,10 +2022,13 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ * *
* * This method returns UnicoreJobSubmission object
+ * *
* * @param jobSubmissionInterfaceId
* * The identifier of the JobSubmission Interface to be retrieved.
* * @return UnicoreJobSubmission instance
+ * *
* *
*
* @param authzToken
@@ -1869,6 +2040,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ * *
* * Add a Cloud Job Submission details to a compute resource
* * App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
* *
@@ -1883,6 +2055,7 @@ class AiravataHandler : virtual public AiravataIf {
* *
* * @return status
* * Returns the unique job submission id.
+ * *
* *
*
* @param authzToken
@@ -1896,6 +2069,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ * *
* * This method returns cloudJobSubmission object
* * @param jobSubmissionInterfaceI
* * The identifier of the JobSubmission Interface to be retrieved.
@@ -1911,6 +2085,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Update the given SSH Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -1933,6 +2108,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Update the cloud Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -1955,6 +2131,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Update the UNIOCRE Job Submission details
*
* @param jobSubmissionInterfaceId
@@ -1978,6 +2155,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Add a Local data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2010,6 +2188,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Update the given Local data movement details
*
* @param dataMovementInterfaceId
@@ -2033,7 +2212,8 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * This method returns local datamovement object
+ *
+ * This method returns local datamovement object.
*
* @param dataMovementId
* The identifier of the datamovement Interface to be retrieved.
@@ -2051,6 +2231,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Add a SCP data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2079,6 +2260,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Update the given scp data movement details
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2120,6 +2302,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Add a UNICORE data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2148,6 +2331,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Update a selected UNICORE data movement details
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2172,6 +2356,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* This method returns UNICORE datamovement object
*
* @param dataMovementId
@@ -2190,6 +2375,7 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ *
* Add a GridFTP data movement details to a compute resource
* App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
*
@@ -2453,7 +2639,7 @@ class AiravataHandler : virtual public AiravataIf {
* Fetch the given Gateway Resource Profile.
*
* @param gatewayID
- * The identifier for the requested gateway resource
+ * The identifier for the requested gateway resource.
*
* @return gatewayResourceProfile
* Gateway Resource Profile Object.
@@ -2534,12 +2720,35 @@ class AiravataHandler : virtual public AiravataIf {
printf("addGatewayComputeResourcePreference\n");
}
+ /**
+ * Add a Storage Resource Preference to a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be added.
+ *
+ * @param storageResourceId
+ * Preferences related to a particular compute resource
+ *
+ * @param computeResourcePreference
+ * The ComputeResourcePreference object to be added to the resource profile.
+ *
+ * @return status
+ * Returns a success/failure of the addition. If a profile already exists, this operation will fail.
+ * Instead an update should be used.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageResourceId
+ * @param storagePreference
+ */
bool addGatewayStoragePreference(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& storageResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference& storagePreference) {
// Your implementation goes here
printf("addGatewayStoragePreference\n");
}
/**
+ *
* Fetch a Compute Resource Preference of a registered gateway profile.
*
* @param gatewayID
@@ -2561,12 +2770,31 @@ class AiravataHandler : virtual public AiravataIf {
printf("getGatewayComputeResourcePreference\n");
}
+ /**
+ *
+ * Fetch a Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to request to fetch the particular storage resource preference.
+ *
+ * @param storageResourceId
+ * Identifier of the Stprage Preference required to be fetched.
+ *
+ * @return StoragePreference
+ * Returns the StoragePreference object.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageResourceId
+ */
void getGatewayStoragePreference( ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& storageResourceId) {
// Your implementation goes here
printf("getGatewayStoragePreference\n");
}
/**
+ *
* Fetch all Compute Resource Preferences of a registered gateway profile.
*
* @param gatewayID
@@ -2584,13 +2812,31 @@ class AiravataHandler : virtual public AiravataIf {
printf("getAllGatewayComputeResourcePreferences\n");
}
+ /**
+ * Fetch all Storage Resource Preferences of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier for the gateway profile to be requested
+ *
+ * @return StoragePreference
+ * Returns the StoragePreference object.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ */
void getAllGatewayStoragePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID) {
// Your implementation goes here
printf("getAllGatewayStoragePreferences\n");
}
/**
- * Fetch all gateway profiles registered
+ *
+ * Fetch all Gateway Profiles registered
+ *
+ * @return GatewayResourceProfile
+ * Returns all the GatewayResourcePrifle list object.
+ *
*
*
* @param authzToken
@@ -2626,6 +2872,27 @@ class AiravataHandler : virtual public AiravataIf {
printf("updateGatewayComputeResourcePreference\n");
}
+ /**
+ * Update a Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be updated.
+ *
+ * @param storageId
+ * The Storage resource identifier of the one that you want to update
+ *
+ * @param storagePreference
+ * The storagePreference object to be updated to the resource profile.
+ *
+ * @return status
+ * Returns a success/failure of the updation.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageId
+ * @param storagePreference
+ */
bool updateGatewayStoragePreference(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& storageId, const ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference& storagePreference) {
// Your implementation goes here
printf("updateGatewayStoragePreference\n");
@@ -2653,17 +2920,58 @@ class AiravataHandler : virtual public AiravataIf {
printf("deleteGatewayComputeResourcePreference\n");
}
+ /**
+ * Delete the Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be deleted.
+ *
+ * @param storageId
+ * ID of the storage preference you want to delete.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
+ * @param authzToken
+ * @param gatewayID
+ * @param storageId
+ */
bool deleteGatewayStoragePreference(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& storageId) {
// Your implementation goes here
printf("deleteGatewayStoragePreference\n");
}
+ /**
+ * Delete the Storage Resource Preference of a registered gateway profile.
+ *
+ * @param gatewayID
+ * The identifier of the gateway profile to be deleted.
+ *
+ * @param storageId
+ * ID of the storage preference you want to delete.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
+ * @param authzToken
+ * @param gatewayId
+ */
void getAllWorkflows(std::vector<std::string> & _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
// Your implementation goes here
printf("getAllWorkflows\n");
}
- void getWorkflow( ::Workflow& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) {
+ /**
+ *
+ * API Methods Related for Work-Flow Submission Features.
+ *
+ *
+ * @param authzToken
+ * @param workflowTemplateId
+ */
+ void getWorkflow( ::WorkflowModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) {
// Your implementation goes here
printf("getWorkflow\n");
}
@@ -2673,12 +2981,12 @@ class AiravataHandler : virtual public AiravataIf {
printf("deleteWorkflow\n");
}
- void registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::Workflow& workflow) {
+ void registerWorkflow(std::string& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const ::WorkflowModel& workflow) {
// Your implementation goes here
printf("registerWorkflow\n");
}
- void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::Workflow& workflow) {
+ void updateWorkflow(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const ::WorkflowModel& workflow) {
// Your implementation goes here
printf("updateWorkflow\n");
}
@@ -2694,7 +3002,9 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
- * * Data Manager Related API Methods
+ * *
+ * * Data Manager Related API Methods.
+ * *
* *
*
* @param authzToken
http://git-wip-us.apache.org/repos/asf/airavata/blob/4c790770/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp
index 6c8c6cc..b87ae6d 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp
@@ -30,40 +30,92 @@
+int _kWorkflowStateValues[] = {
+ WorkflowState::CREATED,
+ WorkflowState::STARTED,
+ WorkflowState::EXECUTING,
+ WorkflowState::COMPLETED,
+ WorkflowState::FAILED,
+ WorkflowState::CANCELLING,
+ WorkflowState::CANCELED
+};
+const char* _kWorkflowStateNames[] = {
+ "CREATED",
+ "STARTED",
+ "EXECUTING",
+ "COMPLETED",
+ "FAILED",
+ "CANCELLING",
+ "CANCELED"
+};
+const std::map<int, const char*> _WorkflowState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kWorkflowStateValues, _kWorkflowStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-Workflow::~Workflow() throw() {
+int _kComponentStateValues[] = {
+ ComponentState::CREATED,
+ ComponentState::WAITING,
+ ComponentState::READY,
+ ComponentState::RUNNING,
+ ComponentState::COMPLETED,
+ ComponentState::FAILED,
+ ComponentState::CANCELED
+};
+const char* _kComponentStateNames[] = {
+ "CREATED",
+ "WAITING",
+ "READY",
+ "RUNNING",
+ "COMPLETED",
+ "FAILED",
+ "CANCELED"
+};
+const std::map<int, const char*> _ComponentState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kComponentStateValues, _kComponentStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+WorkflowModel::~WorkflowModel() throw() {
}
-void Workflow::__set_templateId(const std::string& val) {
+void WorkflowModel::__set_templateId(const std::string& val) {
this->templateId = val;
}
-void Workflow::__set_name(const std::string& val) {
+void WorkflowModel::__set_name(const std::string& val) {
this->name = val;
}
-void Workflow::__set_graph(const std::string& val) {
+void WorkflowModel::__set_graph(const std::string& val) {
this->graph = val;
-__isset.graph = true;
}
-void Workflow::__set_image(const std::string& val) {
+void WorkflowModel::__set_gatewayId(const std::string& val) {
+ this->gatewayId = val;
+}
+
+void WorkflowModel::__set_createdUser(const std::string& val) {
+ this->createdUser = val;
+}
+
+void WorkflowModel::__set_image(const std::string& val) {
this->image = val;
__isset.image = true;
}
-void Workflow::__set_workflowInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val) {
+void WorkflowModel::__set_workflowInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val) {
this->workflowInputs = val;
__isset.workflowInputs = true;
}
-void Workflow::__set_workflowOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val) {
+void WorkflowModel::__set_workflowOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val) {
this->workflowOutputs = val;
__isset.workflowOutputs = true;
}
-uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
+void WorkflowModel::__set_creationTime(const int64_t val) {
+ this->creationTime = val;
+__isset.creationTime = true;
+}
+
+uint32_t WorkflowModel::read(::apache::thrift::protocol::TProtocol* iprot) {
apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
uint32_t xfer = 0;
@@ -77,6 +129,9 @@ uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
bool isset_templateId = false;
bool isset_name = false;
+ bool isset_graph = false;
+ bool isset_gatewayId = false;
+ bool isset_createdUser = false;
while (true)
{
@@ -105,20 +160,36 @@ uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
case 3:
if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readString(this->graph);
- this->__isset.graph = true;
+ isset_graph = true;
} else {
xfer += iprot->skip(ftype);
}
break;
case 4:
if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->gatewayId);
+ isset_gatewayId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->createdUser);
+ isset_createdUser = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
xfer += iprot->readBinary(this->image);
this->__isset.image = true;
} else {
xfer += iprot->skip(ftype);
}
break;
- case 5:
+ case 7:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->workflowInputs.clear();
@@ -138,7 +209,7 @@ uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
xfer += iprot->skip(ftype);
}
break;
- case 6:
+ case 8:
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->workflowOutputs.clear();
@@ -158,6 +229,14 @@ uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
xfer += iprot->skip(ftype);
}
break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
default:
xfer += iprot->skip(ftype);
break;
@@ -171,13 +250,19 @@ uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
throw TProtocolException(TProtocolException::INVALID_DATA);
if (!isset_name)
throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_graph)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_gatewayId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_createdUser)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
return xfer;
}
-uint32_t Workflow::write(::apache::thrift::protocol::TProtocol* oprot) const {
+uint32_t WorkflowModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
uint32_t xfer = 0;
apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
- xfer += oprot->writeStructBegin("Workflow");
+ xfer += oprot->writeStructBegin("WorkflowModel");
xfer += oprot->writeFieldBegin("templateId", ::apache::thrift::protocol::T_STRING, 1);
xfer += oprot->writeString(this->templateId);
@@ -187,18 +272,25 @@ uint32_t Workflow::write(::apache::thrift::protocol::TProtocol* oprot) const {
xfer += oprot->writeString(this->name);
xfer += oprot->writeFieldEnd();
- if (this->__isset.graph) {
- xfer += oprot->writeFieldBegin("graph", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->graph);
- xfer += oprot->writeFieldEnd();
- }
+ xfer += oprot->writeFieldBegin("graph", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->graph);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->gatewayId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("createdUser", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->createdUser);
+ xfer += oprot->writeFieldEnd();
+
if (this->__isset.image) {
- xfer += oprot->writeFieldBegin("image", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeFieldBegin("image", ::apache::thrift::protocol::T_STRING, 6);
xfer += oprot->writeBinary(this->image);
xfer += oprot->writeFieldEnd();
}
if (this->__isset.workflowInputs) {
- xfer += oprot->writeFieldBegin("workflowInputs", ::apache::thrift::protocol::T_LIST, 5);
+ xfer += oprot->writeFieldBegin("workflowInputs", ::apache::thrift::protocol::T_LIST, 7);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->workflowInputs.size()));
std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter10;
@@ -211,7 +303,7 @@ uint32_t Workflow::write(::apache::thrift::protocol::TProtocol* oprot) const {
xfer += oprot->writeFieldEnd();
}
if (this->__isset.workflowOutputs) {
- xfer += oprot->writeFieldBegin("workflowOutputs", ::apache::thrift::protocol::T_LIST, 6);
+ xfer += oprot->writeFieldBegin("workflowOutputs", ::apache::thrift::protocol::T_LIST, 8);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->workflowOutputs.size()));
std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter11;
@@ -223,50 +315,868 @@ uint32_t Workflow::write(::apache::thrift::protocol::TProtocol* oprot) const {
}
xfer += oprot->writeFieldEnd();
}
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 9);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
}
-void swap(Workflow &a, Workflow &b) {
+void swap(WorkflowModel &a, WorkflowModel &b) {
using ::std::swap;
swap(a.templateId, b.templateId);
swap(a.name, b.name);
swap(a.graph, b.graph);
+ swap(a.gatewayId, b.gatewayId);
+ swap(a.createdUser, b.createdUser);
swap(a.image, b.image);
swap(a.workflowInputs, b.workflowInputs);
swap(a.workflowOutputs, b.workflowOutputs);
+ swap(a.creationTime, b.creationTime);
swap(a.__isset, b.__isset);
}
-Workflow::Workflow(const Workflow& other12) {
+WorkflowModel::WorkflowModel(const WorkflowModel& other12) {
templateId = other12.templateId;
name = other12.name;
graph = other12.graph;
+ gatewayId = other12.gatewayId;
+ createdUser = other12.createdUser;
image = other12.image;
workflowInputs = other12.workflowInputs;
workflowOutputs = other12.workflowOutputs;
+ creationTime = other12.creationTime;
__isset = other12.__isset;
}
-Workflow& Workflow::operator=(const Workflow& other13) {
+WorkflowModel& WorkflowModel::operator=(const WorkflowModel& other13) {
templateId = other13.templateId;
name = other13.name;
graph = other13.graph;
+ gatewayId = other13.gatewayId;
+ createdUser = other13.createdUser;
image = other13.image;
workflowInputs = other13.workflowInputs;
workflowOutputs = other13.workflowOutputs;
+ creationTime = other13.creationTime;
__isset = other13.__isset;
return *this;
}
-void Workflow::printTo(std::ostream& out) const {
+void WorkflowModel::printTo(std::ostream& out) const {
using ::apache::thrift::to_string;
- out << "Workflow(";
+ out << "WorkflowModel(";
out << "templateId=" << to_string(templateId);
out << ", " << "name=" << to_string(name);
- out << ", " << "graph="; (__isset.graph ? (out << to_string(graph)) : (out << "<null>"));
+ out << ", " << "graph=" << to_string(graph);
+ out << ", " << "gatewayId=" << to_string(gatewayId);
+ out << ", " << "createdUser=" << to_string(createdUser);
out << ", " << "image="; (__isset.image ? (out << to_string(image)) : (out << "<null>"));
out << ", " << "workflowInputs="; (__isset.workflowInputs ? (out << to_string(workflowInputs)) : (out << "<null>"));
out << ", " << "workflowOutputs="; (__isset.workflowOutputs ? (out << to_string(workflowOutputs)) : (out << "<null>"));
+ out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
+ out << ")";
+}
+
+
+ComponentStatus::~ComponentStatus() throw() {
+}
+
+
+void ComponentStatus::__set_state(const ComponentState::type val) {
+ this->state = val;
+}
+
+void ComponentStatus::__set_reason(const std::string& val) {
+ this->reason = val;
+__isset.reason = true;
+}
+
+void ComponentStatus::__set_timeofStateChange(const int64_t val) {
+ this->timeofStateChange = val;
+__isset.timeofStateChange = true;
+}
+
+uint32_t ComponentStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_state = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast14;
+ xfer += iprot->readI32(ecast14);
+ this->state = (ComponentState::type)ecast14;
+ isset_state = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->reason);
+ this->__isset.reason = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeofStateChange);
+ this->__isset.timeofStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_state)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ComponentStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+ xfer += oprot->writeStructBegin("ComponentStatus");
+
+ xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->state);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.reason) {
+ xfer += oprot->writeFieldBegin("reason", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->reason);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.timeofStateChange) {
+ xfer += oprot->writeFieldBegin("timeofStateChange", ::apache::thrift::protocol::T_I64, 3);
+ xfer += oprot->writeI64(this->timeofStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ComponentStatus &a, ComponentStatus &b) {
+ using ::std::swap;
+ swap(a.state, b.state);
+ swap(a.reason, b.reason);
+ swap(a.timeofStateChange, b.timeofStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+ComponentStatus::ComponentStatus(const ComponentStatus& other15) {
+ state = other15.state;
+ reason = other15.reason;
+ timeofStateChange = other15.timeofStateChange;
+ __isset = other15.__isset;
+}
+ComponentStatus& ComponentStatus::operator=(const ComponentStatus& other16) {
+ state = other16.state;
+ reason = other16.reason;
+ timeofStateChange = other16.timeofStateChange;
+ __isset = other16.__isset;
+ return *this;
+}
+void ComponentStatus::printTo(std::ostream& out) const {
+ using ::apache::thrift::to_string;
+ out << "ComponentStatus(";
+ out << "state=" << to_string(state);
+ out << ", " << "reason="; (__isset.reason ? (out << to_string(reason)) : (out << "<null>"));
+ out << ", " << "timeofStateChange="; (__isset.timeofStateChange ? (out << to_string(timeofStateChange)) : (out << "<null>"));
+ out << ")";
+}
+
+
+WorkflowStatus::~WorkflowStatus() throw() {
+}
+
+
+void WorkflowStatus::__set_state(const WorkflowState::type val) {
+ this->state = val;
+}
+
+void WorkflowStatus::__set_timeOfStateChange(const int64_t val) {
+ this->timeOfStateChange = val;
+__isset.timeOfStateChange = true;
+}
+
+void WorkflowStatus::__set_reason(const std::string& val) {
+ this->reason = val;
+__isset.reason = true;
+}
+
+uint32_t WorkflowStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_state = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast17;
+ xfer += iprot->readI32(ecast17);
+ this->state = (WorkflowState::type)ecast17;
+ isset_state = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->reason);
+ this->__isset.reason = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_state)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t WorkflowStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+ xfer += oprot->writeStructBegin("WorkflowStatus");
+
+ xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->state);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.reason) {
+ xfer += oprot->writeFieldBegin("reason", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->reason);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(WorkflowStatus &a, WorkflowStatus &b) {
+ using ::std::swap;
+ swap(a.state, b.state);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.reason, b.reason);
+ swap(a.__isset, b.__isset);
+}
+
+WorkflowStatus::WorkflowStatus(const WorkflowStatus& other18) {
+ state = other18.state;
+ timeOfStateChange = other18.timeOfStateChange;
+ reason = other18.reason;
+ __isset = other18.__isset;
+}
+WorkflowStatus& WorkflowStatus::operator=(const WorkflowStatus& other19) {
+ state = other19.state;
+ timeOfStateChange = other19.timeOfStateChange;
+ reason = other19.reason;
+ __isset = other19.__isset;
+ return *this;
+}
+void WorkflowStatus::printTo(std::ostream& out) const {
+ using ::apache::thrift::to_string;
+ out << "WorkflowStatus(";
+ out << "state=" << to_string(state);
+ out << ", " << "timeOfStateChange="; (__isset.timeOfStateChange ? (out << to_string(timeOfStateChange)) : (out << "<null>"));
+ out << ", " << "reason="; (__isset.reason ? (out << to_string(reason)) : (out << "<null>"));
+ out << ")";
+}
+
+
+EdgeModel::~EdgeModel() throw() {
+}
+
+
+void EdgeModel::__set_edgeId(const std::string& val) {
+ this->edgeId = val;
+}
+
+void EdgeModel::__set_name(const std::string& val) {
+ this->name = val;
+__isset.name = true;
+}
+
+void EdgeModel::__set_status(const ComponentStatus& val) {
+ this->status = val;
+__isset.status = true;
+}
+
+void EdgeModel::__set_description(const std::string& val) {
+ this->description = val;
+__isset.description = true;
+}
+
+uint32_t EdgeModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_edgeId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->edgeId);
+ isset_edgeId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->name);
+ this->__isset.name = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->status.read(iprot);
+ this->__isset.status = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->description);
+ this->__isset.description = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_edgeId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t EdgeModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+ xfer += oprot->writeStructBegin("EdgeModel");
+
+ xfer += oprot->writeFieldBegin("edgeId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->edgeId);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.name) {
+ xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->name);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.status) {
+ xfer += oprot->writeFieldBegin("status", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->status.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.description) {
+ xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->description);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(EdgeModel &a, EdgeModel &b) {
+ using ::std::swap;
+ swap(a.edgeId, b.edgeId);
+ swap(a.name, b.name);
+ swap(a.status, b.status);
+ swap(a.description, b.description);
+ swap(a.__isset, b.__isset);
+}
+
+EdgeModel::EdgeModel(const EdgeModel& other20) {
+ edgeId = other20.edgeId;
+ name = other20.name;
+ status = other20.status;
+ description = other20.description;
+ __isset = other20.__isset;
+}
+EdgeModel& EdgeModel::operator=(const EdgeModel& other21) {
+ edgeId = other21.edgeId;
+ name = other21.name;
+ status = other21.status;
+ description = other21.description;
+ __isset = other21.__isset;
+ return *this;
+}
+void EdgeModel::printTo(std::ostream& out) const {
+ using ::apache::thrift::to_string;
+ out << "EdgeModel(";
+ out << "edgeId=" << to_string(edgeId);
+ out << ", " << "name="; (__isset.name ? (out << to_string(name)) : (out << "<null>"));
+ out << ", " << "status="; (__isset.status ? (out << to_string(status)) : (out << "<null>"));
+ out << ", " << "description="; (__isset.description ? (out << to_string(description)) : (out << "<null>"));
+ out << ")";
+}
+
+
+PortModel::~PortModel() throw() {
+}
+
+
+void PortModel::__set_portId(const std::string& val) {
+ this->portId = val;
+}
+
+void PortModel::__set_name(const std::string& val) {
+ this->name = val;
+__isset.name = true;
+}
+
+void PortModel::__set_status(const ComponentStatus& val) {
+ this->status = val;
+__isset.status = true;
+}
+
+void PortModel::__set_value(const std::string& val) {
+ this->value = val;
+__isset.value = true;
+}
+
+void PortModel::__set_description(const std::string& val) {
+ this->description = val;
+__isset.description = true;
+}
+
+uint32_t PortModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_portId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->portId);
+ isset_portId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->name);
+ this->__isset.name = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->status.read(iprot);
+ this->__isset.status = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->value);
+ this->__isset.value = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->description);
+ this->__isset.description = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_portId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t PortModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+ xfer += oprot->writeStructBegin("PortModel");
+
+ xfer += oprot->writeFieldBegin("portId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->portId);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.name) {
+ xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->name);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.status) {
+ xfer += oprot->writeFieldBegin("status", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->status.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.value) {
+ xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->value);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.description) {
+ xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->description);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(PortModel &a, PortModel &b) {
+ using ::std::swap;
+ swap(a.portId, b.portId);
+ swap(a.name, b.name);
+ swap(a.status, b.status);
+ swap(a.value, b.value);
+ swap(a.description, b.description);
+ swap(a.__isset, b.__isset);
+}
+
+PortModel::PortModel(const PortModel& other22) {
+ portId = other22.portId;
+ name = other22.name;
+ status = other22.status;
+ value = other22.value;
+ description = other22.description;
+ __isset = other22.__isset;
+}
+PortModel& PortModel::operator=(const PortModel& other23) {
+ portId = other23.portId;
+ name = other23.name;
+ status = other23.status;
+ value = other23.value;
+ description = other23.description;
+ __isset = other23.__isset;
+ return *this;
+}
+void PortModel::printTo(std::ostream& out) const {
+ using ::apache::thrift::to_string;
+ out << "PortModel(";
+ out << "portId=" << to_string(portId);
+ out << ", " << "name="; (__isset.name ? (out << to_string(name)) : (out << "<null>"));
+ out << ", " << "status="; (__isset.status ? (out << to_string(status)) : (out << "<null>"));
+ out << ", " << "value="; (__isset.value ? (out << to_string(value)) : (out << "<null>"));
+ out << ", " << "description="; (__isset.description ? (out << to_string(description)) : (out << "<null>"));
+ out << ")";
+}
+
+
+NodeModel::~NodeModel() throw() {
+}
+
+
+void NodeModel::__set_nodeId(const std::string& val) {
+ this->nodeId = val;
+}
+
+void NodeModel::__set_name(const std::string& val) {
+ this->name = val;
+__isset.name = true;
+}
+
+void NodeModel::__set_applicationId(const std::string& val) {
+ this->applicationId = val;
+__isset.applicationId = true;
+}
+
+void NodeModel::__set_applicationName(const std::string& val) {
+ this->applicationName = val;
+__isset.applicationName = true;
+}
+
+void NodeModel::__set_status(const ComponentStatus& val) {
+ this->status = val;
+__isset.status = true;
+}
+
+void NodeModel::__set_description(const std::string& val) {
+ this->description = val;
+__isset.description = true;
+}
+
+uint32_t NodeModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_nodeId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->nodeId);
+ isset_nodeId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->name);
+ this->__isset.name = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationId);
+ this->__isset.applicationId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationName);
+ this->__isset.applicationName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->status.read(iprot);
+ this->__isset.status = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->description);
+ this->__isset.description = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_nodeId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t NodeModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+ xfer += oprot->writeStructBegin("NodeModel");
+
+ xfer += oprot->writeFieldBegin("nodeId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->nodeId);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.name) {
+ xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->name);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationId) {
+ xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->applicationId);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationName) {
+ xfer += oprot->writeFieldBegin("applicationName", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->applicationName);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.status) {
+ xfer += oprot->writeFieldBegin("status", ::apache::thrift::protocol::T_STRUCT, 5);
+ xfer += this->status.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.description) {
+ xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 6);
+ xfer += oprot->writeString(this->description);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(NodeModel &a, NodeModel &b) {
+ using ::std::swap;
+ swap(a.nodeId, b.nodeId);
+ swap(a.name, b.name);
+ swap(a.applicationId, b.applicationId);
+ swap(a.applicationName, b.applicationName);
+ swap(a.status, b.status);
+ swap(a.description, b.description);
+ swap(a.__isset, b.__isset);
+}
+
+NodeModel::NodeModel(const NodeModel& other24) {
+ nodeId = other24.nodeId;
+ name = other24.name;
+ applicationId = other24.applicationId;
+ applicationName = other24.applicationName;
+ status = other24.status;
+ description = other24.description;
+ __isset = other24.__isset;
+}
+NodeModel& NodeModel::operator=(const NodeModel& other25) {
+ nodeId = other25.nodeId;
+ name = other25.name;
+ applicationId = other25.applicationId;
+ applicationName = other25.applicationName;
+ status = other25.status;
+ description = other25.description;
+ __isset = other25.__isset;
+ return *this;
+}
+void NodeModel::printTo(std::ostream& out) const {
+ using ::apache::thrift::to_string;
+ out << "NodeModel(";
+ out << "nodeId=" << to_string(nodeId);
+ out << ", " << "name="; (__isset.name ? (out << to_string(name)) : (out << "<null>"));
+ out << ", " << "applicationId="; (__isset.applicationId ? (out << to_string(applicationId)) : (out << "<null>"));
+ out << ", " << "applicationName="; (__isset.applicationName ? (out << to_string(applicationName)) : (out << "<null>"));
+ out << ", " << "status="; (__isset.status ? (out << to_string(status)) : (out << "<null>"));
+ out << ", " << "description="; (__isset.description ? (out << to_string(description)) : (out << "<null>"));
out << ")";
}