You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2014/04/14 20:30:35 UTC
[33/90] [abbrv] [partial] AIRAVATA-1124
http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2c10f5/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ProvenanceRegistryResource.java
----------------------------------------------------------------------
diff --git a/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ProvenanceRegistryResource.java b/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ProvenanceRegistryResource.java
deleted file mode 100644
index 0431c70..0000000
--- a/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ProvenanceRegistryResource.java
+++ /dev/null
@@ -1,1949 +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.services.registry.rest.resources;
-
-import org.apache.airavata.registry.api.AiravataRegistry2;
-import org.apache.airavata.registry.api.ExecutionErrors;
-import org.apache.airavata.registry.api.impl.ExperimentDataImpl;
-import org.apache.airavata.registry.api.impl.WorkflowExecutionDataImpl;
-import org.apache.airavata.registry.api.workflow.*;
-import org.apache.airavata.rest.mappings.resourcemappings.*;
-import org.apache.airavata.rest.mappings.utils.ResourcePathConstants;
-import org.apache.airavata.rest.mappings.utils.RegPoolUtils;
-import org.apache.airavata.services.registry.rest.utils.WebAppUtil;
-
-import javax.servlet.ServletContext;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * This class is the REST interface for all the provenance data related methods that are exposed
- * by Airavata Registry API
- */
-@Path(ResourcePathConstants.ProvenanceResourcePathConstants.REGISTRY_API_PROVENANCEREGISTRY)
-public class ProvenanceRegistryResource {
-
- @Context
- ServletContext context;
-
- /**
- * --------------------------------- Provenance Registry ----------------------------------*
- */
-
- /**
- * This method will update the experiment execution user
- *
- * @param experimentId experiment ID
- * @param user experiment execution user
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_EXPERIMENT_EXECUTIONUSER)
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateExperimentExecutionUser(@FormParam("experimentId") String experimentId,
- @FormParam("user") String user) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- airavataRegistry.updateExperimentExecutionUser(experimentId, user);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Experiment execution user updated successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_EXPERIMENT_EXECUTIONUSER, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will retrieve experiment execution user
- *
- * @param experimentId experiment ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_EXECUTIONUSER)
- @Produces(MediaType.TEXT_PLAIN)
- public Response getExperimentExecutionUser(@QueryParam("experimentId") String experimentId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- String user = airavataRegistry.getExperimentExecutionUser(experimentId);
- if (user != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(user);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_EXECUTIONUSER, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will retrieve the experiment name for a given experiment ID
- *
- * @param experimentId experiment ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_NAME)
- @Produces(MediaType.TEXT_PLAIN)
- public Response getExperimentName(@QueryParam("experimentId") String experimentId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- String result = airavataRegistry.getExperimentName(experimentId);
- if (result != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(result);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NOT_FOUND);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_NAME, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will update the experiment name
- *
- * @param experimentId experiment ID
- * @param experimentName experiment name
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_EXPERIMENTNAME)
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateExperimentName(@FormParam("experimentId") String experimentId,
- @FormParam("experimentName") String experimentName) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- airavataRegistry.updateExperimentName(experimentId, experimentName);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Experiment Name updated successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_EXPERIMENTNAME, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will retrieve the experiment metadata
- *
- * @param experimentId experiment ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENTMETADATA)
- @Produces(MediaType.TEXT_PLAIN)
- public Response getExperimentMetadata(@QueryParam("experimentId") String experimentId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- String result = airavataRegistry.getExperimentMetadata(experimentId);
- if (result != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(result);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENTMETADATA, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will update the experiment metadata
- *
- * @param experimentId experiment ID
- * @param metadata experiment metadata
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_EXPERIMENTMETADATA)
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateExperimentMetadata(@FormParam("experimentId") String experimentId,
- @FormParam("metadata") String metadata) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- airavataRegistry.updateExperimentMetadata(experimentId, metadata);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Experiment metadata updated successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_EXPERIMENTMETADATA, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
-
- /**
- * This method will retrieve workflow execution name
- *
- * @param workflowInstanceId workflow instance ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOWTEMPLATENAME)
- @Produces(MediaType.TEXT_PLAIN)
- public Response getWorkflowExecutionTemplateName(@QueryParam("workflowInstanceId") String workflowInstanceId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- String result = airavataRegistry.getWorkflowExecutionTemplateName(workflowInstanceId);
- if (result != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(result);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOWTEMPLATENAME, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will set the workflow instance template name
- *
- * @param workflowInstanceId workflow instance id
- * @param templateName template name
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWINSTANCETEMPLATENAME)
- @Produces(MediaType.TEXT_PLAIN)
- public Response setWorkflowInstanceTemplateName(@FormParam("workflowInstanceId") String workflowInstanceId,
- @FormParam("templateName") String templateName) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- airavataRegistry.setWorkflowInstanceTemplateName(workflowInstanceId, templateName);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Workflow template name updated successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWINSTANCETEMPLATENAME, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will get experiment workflow instances for a given experiment ID
- *
- * @param experimentId experiment ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENTWORKFLOWINSTANCES)
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response getExperimentWorkflowInstances(@QueryParam("experimentId") String experimentId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- List<WorkflowExecution> experimentWorkflowInstances = airavataRegistry.getExperimentWorkflowInstances(experimentId);
- WorkflowInstancesList workflowInstancesList = new WorkflowInstancesList();
- WorkflowExecution[] workflowInstances = new WorkflowExecution[experimentWorkflowInstances.size()];
- for (int i = 0; i < experimentWorkflowInstances.size(); i++) {
- workflowInstances[i] = experimentWorkflowInstances.get(i);
- }
- workflowInstancesList.setWorkflowInstances(workflowInstances);
- if (experimentWorkflowInstances.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowInstancesList);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENTWORKFLOWINSTANCES, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will check whether a workflow instance exists
- *
- * @param instanceId workflow instance ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_EXIST_CHECK)
- @Produces(MediaType.TEXT_PLAIN)
- public Response isWorkflowInstanceExists(@QueryParam("instanceId") String instanceId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- Boolean result = airavataRegistry.isWorkflowInstanceExists(instanceId);
- if (result) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("True");
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("False");
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_EXIST_CHECK, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
-
- }
-
- /**
- * This method will check whether a workflow instance exist and create the workflow instance
- * according to createIfNotPresent flag
- *
- * @param instanceId workflow instance ID
- * @param createIfNotPresent flag whether to create a new workflow instance or not
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_EXIST_CREATE)
- @Produces(MediaType.TEXT_PLAIN)
- public Response isWorkflowInstanceExistsThenCreate(@FormParam("instanceId") String instanceId,
- @FormParam("createIfNotPresent") String createIfNotPresent) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- Boolean result = airavataRegistry.isWorkflowInstanceExists(instanceId, Boolean.valueOf(createIfNotPresent));
- if (result) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("True");
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("False");
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_EXIST_CREATE, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will update workflow instance status
- *
- * @param instanceId workflow instance ID
- * @param executionStatus workflow execution status
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWINSTANCESTATUS_INSTANCEID)
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateWorkflowInstanceStatusByInstance(@FormParam("instanceId") String instanceId,
- @FormParam("executionStatus") String executionStatus) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowExecutionStatus.State status = WorkflowExecutionStatus.State.valueOf(executionStatus);
- airavataRegistry.updateWorkflowInstanceStatus(instanceId, status);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Workflow instance status updated successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWINSTANCESTATUS_INSTANCEID, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will update the workflow instance status
- *
- * @param workflowInstanceId workflow instance ID
- * @param executionStatus workflow execution status
- * @param statusUpdateTime workflow status update time
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWINSTANCESTATUS)
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateWorkflowInstanceStatus(@FormParam("workflowInstanceId") String workflowInstanceId,
- @FormParam("executionStatus") String executionStatus,
- @FormParam("statusUpdateTime") String statusUpdateTime) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date formattedDate = dateFormat.parse(statusUpdateTime);
- WorkflowExecutionStatus.State status = WorkflowExecutionStatus.State.valueOf(executionStatus);
- WorkflowExecutionStatus workflowInstanceStatus = new WorkflowExecutionStatus(workflowInstanceId, workflowInstanceId);
- workflowInstanceStatus.setExecutionStatus(status);
- workflowInstanceStatus.setStatusUpdateTime(formattedDate);
- airavataRegistry.updateWorkflowInstanceStatus(workflowInstanceStatus);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Workflow instance status updated successfully...");
- return builder.build();
- } catch (ParseException e) {
- Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
- builder.entity(e.getMessage());
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWINSTANCESTATUS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will retrieve workflow instance statuse for a given workflow instance ID
- *
- * @param instanceId workflow instance ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOWINSTANCESTATUS)
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response getWorkflowInstanceStatus(@QueryParam("instanceId") String instanceId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowExecutionStatus workflowInstanceStatus = airavataRegistry.getWorkflowInstanceStatus(instanceId);
- if (workflowInstanceStatus != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowInstanceStatus);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOWINSTANCESTATUS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will update workflowNodeInput
- *
- * @param nodeID workflow node ID
- * @param workflowInstanceID workflow instance ID
- * @param data input data
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODEINPUT)
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateWorkflowNodeInput(@FormParam("nodeID") String nodeID,
- @FormParam("workflowInstanceId") String workflowInstanceID,
- @FormParam("data") String data) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowExecution workflowExecution = new WorkflowExecution(workflowInstanceID, workflowInstanceID);
- WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(workflowExecution, nodeID);
- airavataRegistry.updateWorkflowNodeInput(workflowInstanceNode, data);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Workflow node input saved successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODEINPUT, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
-
- }
-
- /**
- * This method will update workflow node output
- *
- * @param nodeID workflow node ID
- * @param workflowInstanceID workflow instance ID
- * @param data workflow node output data
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODEOUTPUT)
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateWorkflowNodeOutput(@FormParam("nodeID") String nodeID,
- @FormParam("workflowInstanceId") String workflowInstanceID,
- @FormParam("data") String data) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowExecution workflowExecution = new WorkflowExecution(workflowInstanceID, workflowInstanceID);
- WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(workflowExecution, nodeID);
- airavataRegistry.updateWorkflowNodeOutput(workflowInstanceNode, data);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Workflow node output saved successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODEOUTPUT, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /*
- @GET
- @Path("search/workflowinstancenodeinput")
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response searchWorkflowInstanceNodeInput(@QueryParam("experimentIdRegEx") String experimentIdRegEx,
- @QueryParam("workflowNameRegEx") String workflowNameRegEx,
- @QueryParam("nodeNameRegEx") String nodeNameRegEx) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- List<WorkflowNodeIOData> workflowNodeIODataList = airavataRegistry.searchWorkflowInstanceNodeInput(experimentIdRegEx, workflowNameRegEx, nodeNameRegEx);
- WorkflowNodeIODataMapping[] workflowNodeIODataCollection = new WorkflowNodeIODataMapping[workflowNodeIODataList.size()];
- WorkflowNodeIODataList workflowNodeIOData = new WorkflowNodeIODataList();
- for (int i = 0; i < workflowNodeIODataList.size(); i++) {
- WorkflowNodeIOData nodeIOData = workflowNodeIODataList.get(i);
- WorkflowNodeIODataMapping workflowNodeIODataMapping = new WorkflowNodeIODataMapping();
-
- workflowNodeIODataMapping.setExperimentId(nodeIOData.getExperimentId());
- workflowNodeIODataMapping.setWorkflowId(nodeIOData.getWorkflowId());
- workflowNodeIODataMapping.setWorkflowInstanceId(nodeIOData.getWorkflowInstanceId());
- workflowNodeIODataMapping.setWorkflowName(nodeIOData.getWorkflowName());
- workflowNodeIODataMapping.setWorkflowNodeType(nodeIOData.getNodeType().toString());
- workflowNodeIODataCollection[i] = workflowNodeIODataMapping;
- }
- workflowNodeIOData.setWorkflowNodeIOData(workflowNodeIODataCollection);
- if (workflowNodeIODataList.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowNodeIOData);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (RegistryException e) {
- Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
- return builder.build();
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @GET
- @Path("search/workflowinstancenodeoutput")
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response searchWorkflowInstanceNodeOutput(@QueryParam("experimentIdRegEx") String experimentIdRegEx,
- @QueryParam("workflowNameRegEx") String workflowNameRegEx,
- @QueryParam("nodeNameRegEx") String nodeNameRegEx) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- List<WorkflowNodeIOData> workflowNodeIODataList = airavataRegistry.searchWorkflowInstanceNodeOutput(experimentIdRegEx, workflowNameRegEx, nodeNameRegEx);
- WorkflowNodeIODataMapping[] workflowNodeIODataCollection = new WorkflowNodeIODataMapping[workflowNodeIODataList.size()];
- WorkflowNodeIODataList workflowNodeIOData = new WorkflowNodeIODataList();
- for (int i = 0; i < workflowNodeIODataList.size(); i++) {
- WorkflowNodeIOData nodeIOData = workflowNodeIODataList.get(i);
- WorkflowNodeIODataMapping workflowNodeIODataMapping = new WorkflowNodeIODataMapping();
-
- workflowNodeIODataMapping.setExperimentId(nodeIOData.getExperimentId());
- workflowNodeIODataMapping.setWorkflowId(nodeIOData.getWorkflowId());
- workflowNodeIODataMapping.setWorkflowInstanceId(nodeIOData.getWorkflowInstanceId());
- workflowNodeIODataMapping.setWorkflowName(nodeIOData.getWorkflowName());
- workflowNodeIODataMapping.setWorkflowNodeType(nodeIOData.getNodeType().toString());
- workflowNodeIODataCollection[i] = workflowNodeIODataMapping;
- }
- workflowNodeIOData.setWorkflowNodeIOData(workflowNodeIODataCollection);
- if (workflowNodeIODataList.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowNodeIOData);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (RegistryException e) {
- Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
- return builder.build();
- }finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @GET
- @Path("get/workflowinstancenodeinput")
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response getWorkflowInstanceNodeInput(@QueryParam("workflowInstanceId") String workflowInstanceId,
- @QueryParam("nodeType") String nodeType) {
- // Airavata JPA Registry method returns null at the moment
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- List<WorkflowNodeIOData> workflowNodeIODataList = airavataRegistry.getWorkflowInstanceNodeInput(workflowInstanceId, nodeType);
- WorkflowNodeIODataMapping[] workflowNodeIODataCollection = new WorkflowNodeIODataMapping[workflowNodeIODataList.size()];
- WorkflowNodeIODataList workflowNodeIOData = new WorkflowNodeIODataList();
- for (int i = 0; i < workflowNodeIODataList.size(); i++) {
- WorkflowNodeIOData nodeIOData = workflowNodeIODataList.get(i);
- WorkflowNodeIODataMapping workflowNodeIODataMapping = new WorkflowNodeIODataMapping();
-
- workflowNodeIODataMapping.setExperimentId(nodeIOData.getExperimentId());
- workflowNodeIODataMapping.setWorkflowId(nodeIOData.getWorkflowId());
- workflowNodeIODataMapping.setWorkflowInstanceId(nodeIOData.getWorkflowInstanceId());
- workflowNodeIODataMapping.setWorkflowName(nodeIOData.getWorkflowName());
- workflowNodeIODataMapping.setWorkflowNodeType(nodeIOData.getNodeType().toString());
- workflowNodeIODataCollection[i] = workflowNodeIODataMapping;
- }
- workflowNodeIOData.setWorkflowNodeIOData(workflowNodeIODataCollection);
- if (workflowNodeIODataList.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowNodeIOData);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (RegistryException e) {
- Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
- return builder.build();
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @GET
- @Path("get/workflowinstancenodeoutput")
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response getWorkflowInstanceNodeOutput(@QueryParam("workflowInstanceId") String workflowInstanceId,
- @QueryParam("nodeType") String nodeType) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- List<WorkflowNodeIOData> workflowNodeIODataList = airavataRegistry.getWorkflowInstanceNodeOutput(workflowInstanceId, nodeType);
- WorkflowNodeIODataMapping[] workflowNodeIODataCollection = new WorkflowNodeIODataMapping[workflowNodeIODataList.size()];
- WorkflowNodeIODataList workflowNodeIOData = new WorkflowNodeIODataList();
- for (int i = 0; i < workflowNodeIODataList.size(); i++) {
- WorkflowNodeIOData nodeIOData = workflowNodeIODataList.get(i);
- WorkflowNodeIODataMapping workflowNodeIODataMapping = new WorkflowNodeIODataMapping();
-
- workflowNodeIODataMapping.setExperimentId(nodeIOData.getExperimentId());
- workflowNodeIODataMapping.setWorkflowId(nodeIOData.getWorkflowId());
- workflowNodeIODataMapping.setWorkflowInstanceId(nodeIOData.getWorkflowInstanceId());
- workflowNodeIODataMapping.setWorkflowName(nodeIOData.getWorkflowName());
- workflowNodeIODataMapping.setWorkflowNodeType(nodeIOData.getNodeType().toString());
- workflowNodeIODataCollection[i] = workflowNodeIODataMapping;
- }
- workflowNodeIOData.setWorkflowNodeIOData(workflowNodeIODataCollection);
- if (workflowNodeIODataList.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowNodeIOData);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (RegistryException e) {
- Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
- return builder.build();
- }finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
- */
-
- /**
- * This method will return all the data related to a given experiment. This will include workflow
- * status, input values, output values to the workflow, node statuses etc.
- *
- * @param experimentId experiment ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT)
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response getExperiment(@QueryParam("experimentId") String experimentId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- ExperimentData experimentData = airavataRegistry.getExperiment(experimentId);
- if (experimentData != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(experimentData);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will return all the experiment IDs for a given user
- *
- * @param username experiment execution user
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_ID_USER)
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response getExperimentIdByUser(@QueryParam("username") String username) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- List<String> experiments = airavataRegistry.getExperimentIdByUser(username);
- ExperimentIDList experimentIDList = new ExperimentIDList();
- experimentIDList.setExperimentIDList(experiments);
- if (experiments.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(experimentIDList);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_ID_USER, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will return all the experiments for a given user
- *
- * @param username experiment execution user
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_USER)
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response getExperimentByUser(@QueryParam("username") String username) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- List<ExperimentData> experimentDataList = airavataRegistry.getExperimentByUser(username);
- ExperimentDataList experimentData = new ExperimentDataList();
- List<ExperimentDataImpl> experimentDatas = new ArrayList<ExperimentDataImpl>();
- for (ExperimentData anExperimentDataList : experimentDataList) {
- experimentDatas.add((ExperimentDataImpl)anExperimentDataList);
- }
- experimentData.setExperimentDataList(experimentDatas);
- if (experimentDataList.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(experimentData);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_USER, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENTS)
- @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response getExperiments(@QueryParam("username") String username, @QueryParam("fromDate") String from, @QueryParam("toDate") String to) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- HashMap<String, String> params = new HashMap<String, String>();
- if(username!=null && !username.isEmpty()) params.put("username", username);
- if(from!=null && !from.isEmpty()) params.put("fromDate", from);
- if(to!=null && !to.isEmpty()) params.put("toDate", to);
- List<ExperimentData> experiments = airavataRegistry.getExperiments(params);
- ExperimentDataList experimentData = new ExperimentDataList();
- List<ExperimentDataImpl> experimentDatas = new ArrayList<ExperimentDataImpl>();
- for (ExperimentData anExperimentDataList : experiments) {
- experimentDatas.add((ExperimentDataImpl)anExperimentDataList);
- }
- experimentData.setExperimentDataList(experimentDatas);
- if (experiments.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(experimentData);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_USER, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
-
- /**
- * This method will update the workflow node status
- * * @param workflowInstanceId workflow instance ID
- * @param nodeId node ID
- * @param executionStatus node execution status
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODE_STATUS)
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateWorkflowNodeStatus(@FormParam("workflowInstanceId") String workflowInstanceId,
- @FormParam("nodeId") String nodeId,
- @FormParam("executionStatus") String executionStatus) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowExecutionStatus.State status = WorkflowExecutionStatus.State.valueOf(executionStatus);
- airavataRegistry.updateWorkflowNodeStatus(workflowInstanceId, nodeId, status);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Workflow node status updated successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODE_STATUS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will retrieve workflow status for a given workflow instance and node
- *
- * @param workflowInstanceId workflow instance ID
- * @param nodeId node ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOWNODE_STATUS)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getWorkflowNodeStatus(@QueryParam("workflowInstanceId") String workflowInstanceId,
- @QueryParam("nodeId") String nodeId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowExecution workflowExecution = new WorkflowExecution(workflowInstanceId, workflowInstanceId);
- WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(workflowExecution, nodeId);
- NodeExecutionStatus workflowNodeStatus = airavataRegistry.getWorkflowNodeStatus(workflowInstanceNode);
- if (workflowNodeStatus != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowNodeStatus);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOWNODE_STATUS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will retrieve workflow node started time
- *
- * @param workflowInstanceId workflow instance ID
- * @param nodeId node ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOWNODE_STARTTIME)
- @Produces(MediaType.TEXT_PLAIN)
- public Response getWorkflowNodeStartTime(@QueryParam("workflowInstanceId") String workflowInstanceId,
- @QueryParam("nodeId") String nodeId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowExecution workflowExecution = new WorkflowExecution(workflowInstanceId, workflowInstanceId);
- WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(workflowExecution, nodeId);
- Date workflowNodeStartTime = airavataRegistry.getWorkflowNodeStartTime(workflowInstanceNode);
- if (workflowNodeStartTime != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowNodeStartTime.toString());
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOWNODE_STARTTIME, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will return workflow started time
- *
- * @param workflowInstanceId workflow instance ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOW_STARTTIME)
- @Produces(MediaType.TEXT_PLAIN)
- public Response getWorkflowStartTime(@QueryParam("workflowInstanceId") String workflowInstanceId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowExecution workflowInstance = new WorkflowExecution(workflowInstanceId, workflowInstanceId);
- Date workflowStartTime = airavataRegistry.getWorkflowStartTime(workflowInstance);
- if (workflowStartTime != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowStartTime.toString());
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOW_STARTTIME, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will update workflow node Gram data
- *
- * @param workflowNodeGramData workflow node gram data object as a JSON input
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODE_GRAMDATA)
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateWorkflowNodeGramData(WorkflowNodeGramData workflowNodeGramData) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- airavataRegistry.updateWorkflowNodeGramData(workflowNodeGramData);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Workflow node Gram data updated successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODE_GRAMDATA, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
-
- }
-
- /**
- * This method will return all the information regarding a workflow instance
- *
- * @param workflowInstanceId workflow instance ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOWINSTANCEDATA)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getWorkflowInstanceData(@QueryParam("workflowInstanceId") String workflowInstanceId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowExecutionDataImpl workflowInstanceData = (WorkflowExecutionDataImpl)airavataRegistry.getWorkflowInstanceData(workflowInstanceId);
- if (workflowInstanceData != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowInstanceData);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOWINSTANCEDATA, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method wil check whether a workflow node present
- *
- * @param workflowInstanceId workflow instance ID
- * @param nodeId node ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_NODE_EXIST)
- @Produces(MediaType.TEXT_PLAIN)
- public Response isWorkflowInstanceNodePresent(@QueryParam("workflowInstanceId") String workflowInstanceId,
- @QueryParam("nodeId") String nodeId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- boolean workflowInstanceNodePresent = airavataRegistry.isWorkflowInstanceNodePresent(workflowInstanceId, nodeId);
- if (workflowInstanceNodePresent) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("True");
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("False");
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_NODE_EXIST, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
-
- }
-
- /**
- * This method wil check whether a workflow node present and create a new workflow node according
- * to createIfNotPresent flag
- *
- * @param workflowInstanceId workflow instance Id
- * @param nodeId node Id
- * @param createIfNotPresent flag whether to create a new node or not
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_NODE_EXIST_CREATE)
- @Produces(MediaType.TEXT_PLAIN)
- public Response isWorkflowInstanceNodePresentCreate(@FormParam("workflowInstanceId") String workflowInstanceId,
- @FormParam("nodeId") String nodeId,
- @FormParam("createIfNotPresent") String createIfNotPresent) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- boolean workflowInstanceNodePresent = airavataRegistry.isWorkflowInstanceNodePresent(workflowInstanceId, nodeId, Boolean.getBoolean(createIfNotPresent));
- if (workflowInstanceNodePresent) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("True");
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("False");
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_NODE_EXIST_CREATE, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
-
- }
-
-
- /**
- * This method will return data related to the workflow instance node
- *
- * @param workflowInstanceId workflow instance ID
- * @param nodeId node ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_NODE_DATA)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getWorkflowInstanceNodeData(@QueryParam("workflowInstanceId") String workflowInstanceId,
- @QueryParam("nodeId") String nodeId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- NodeExecutionData workflowInstanceNodeData = airavataRegistry.getWorkflowInstanceNodeData(workflowInstanceId, nodeId);
- if (workflowInstanceNodeData != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(workflowInstanceNodeData);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.WORKFLOWINSTANCE_NODE_DATA, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
-
- }
-
- /**
- * This method will add a workflow instance
- *
- * @param experimentId experiment ID
- * @param workflowInstanceId workflow instance ID
- * @param templateName workflow template name
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_WORKFLOWINSTANCE)
- @Produces(MediaType.TEXT_PLAIN)
- public Response addWorkflowInstance(@FormParam("experimentId") String experimentId,
- @FormParam("workflowInstanceId") String workflowInstanceId,
- @FormParam("templateName") String templateName) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- airavataRegistry.addWorkflowInstance(experimentId, workflowInstanceId, templateName);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Workflow instance added successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_WORKFLOWINSTANCE, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will update the workflow node type
- *
- * @param workflowInstanceId workflow instance ID
- * @param nodeId node ID
- * @param nodeType node type
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODETYPE)
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateWorkflowNodeType(@FormParam("workflowInstanceId") String workflowInstanceId,
- @FormParam("nodeId") String nodeId,
- @FormParam("nodeType") String nodeType) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowExecution workflowExecution = new WorkflowExecution(workflowInstanceId, workflowInstanceId);
- WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(workflowExecution, nodeId);
-
- WorkflowNodeType workflowNodeType = new WorkflowNodeType();
-
- workflowNodeType.setNodeType(WorkflowNodeType.getType(nodeType).getNodeType());
-// workflowNodeType.setNodeType(nodeType);
- airavataRegistry.updateWorkflowNodeType(workflowInstanceNode, workflowNodeType);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Workflow instance node type updated successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_WORKFLOWNODETYPE, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
-
- /**
- * This method will add a new node to workflow instance
- *
- * @param workflowInstanceId workflow instance ID
- * @param nodeId node ID
- * @return HTTP response
- */
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_WORKFLOWINSTANCENODE)
- @Produces(MediaType.TEXT_PLAIN)
- public Response addWorkflowInstanceNode(@FormParam("workflowInstanceId") String workflowInstanceId,
- @FormParam("nodeId") String nodeId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- airavataRegistry.addWorkflowInstanceNode(workflowInstanceId, nodeId);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("Workflow instance node added successfully...");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_WORKFLOWINSTANCENODE, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
-
- /**
- * This method wil check whether the experiment name exists
- *
- * @param experimentName experiment name
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.EXPERIMENTNAME_EXISTS)
- @Produces(MediaType.TEXT_PLAIN)
- public Response isExperimentNameExist(@QueryParam("experimentName") String experimentName) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- boolean experimentNameExist = airavataRegistry.isExperimentNameExist(experimentName);
- if (experimentNameExist) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("True");
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("False");
- return builder.build();
- }
-
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.EXPERIMENTNAME_EXISTS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
-
- }
-
- /**
- * This method will return only information regarding to the experiment. Node information will
- * not be retrieved
- *
- * @param experimentId experiment ID
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_METAINFORMATION)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getExperimentMetaInformation(@QueryParam("experimentId") String experimentId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- ExperimentData experimentMetaInformation =
- airavataRegistry.getExperimentMetaInformation(experimentId);
- if (experimentMetaInformation != null) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(experimentMetaInformation);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_METAINFORMATION, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will return all meta information for all the experiments
- *
- * @param user experiment execution user
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_ALL_EXPERIMENT_METAINFORMATION)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getAllExperimentMetaInformation(@QueryParam("user") String user) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- List<ExperimentData> allExperimentMetaInformation =
- airavataRegistry.getAllExperimentMetaInformation(user);
- ExperimentDataList experimentDataList = new ExperimentDataList();
- List<ExperimentDataImpl> experimentDatas = new ArrayList<ExperimentDataImpl>();
- for (ExperimentData experimentData : allExperimentMetaInformation) {
- experimentDatas.add((ExperimentDataImpl)experimentData);
- }
- experimentDataList.setExperimentDataList(experimentDatas);
- if (allExperimentMetaInformation.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(experimentDataList);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_ALL_EXPERIMENT_METAINFORMATION, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- /**
- * This method will search all the experiments which has the name like given experiment name for
- * a given experiment execution user
- *
- * @param user experiment execution user
- * @param experimentNameRegex experiment name
- * @return HTTP response
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.SEARCH_EXPERIMENTS)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response searchExperiments(@QueryParam("user") String user,
- @QueryParam("experimentNameRegex") String experimentNameRegex) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- List<ExperimentData> experimentDataList =
- airavataRegistry.searchExperiments(user, experimentNameRegex);
- ExperimentDataList experimentData = new ExperimentDataList();
- List<ExperimentDataImpl> experimentDatas = new ArrayList<ExperimentDataImpl>();
- for (ExperimentData experimentData1 : experimentDataList) {
- experimentDatas.add((ExperimentDataImpl)experimentData1);
- }
- experimentData.setExperimentDataList(experimentDatas);
- if (experimentDataList.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(experimentData);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.SEARCH_EXPERIMENTS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
-
- }
-
- /**
- *
- * @param experimentId experiment ID
- * @return
- */
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_ERRORS)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getExperimentExecutionErrors(@QueryParam("experimentId") String experimentId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- ExperimentErrorsList experimentErrorsList = new ExperimentErrorsList();
- List<ExperimentExecutionError> experimentExecutionErrors = airavataRegistry.getExperimentExecutionErrors(experimentId);
- if (experimentExecutionErrors.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- experimentErrorsList.setExperimentExecutionErrorList(experimentExecutionErrors);
- builder.entity(experimentErrorsList);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXPERIMENT_ERRORS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
-
- }
-
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOW_ERRORS)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getWorkflowExecutionErrors(@QueryParam("experimentId") String experimentId,
- @QueryParam("workflowInstanceId") String workflowInstanceId) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- WorkflowErrorsList workflowErrorsList = new WorkflowErrorsList();
- List<WorkflowExecutionError> workflowExecutionErrors = airavataRegistry.getWorkflowExecutionErrors(experimentId, workflowInstanceId);
- if (workflowExecutionErrors.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- workflowErrorsList.setWorkflowExecutionErrorList(workflowExecutionErrors);
- builder.entity(workflowErrorsList);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_WORKFLOW_ERRORS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
-
- }
-
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_NODE_ERRORS)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getNodeExecutionErrors(@QueryParam("experimentId") String experimentId,
- @QueryParam("workflowInstanceId") String workflowInstanceId,
- @QueryParam("nodeId") String nodeId ) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- NodeErrorsList nodeErrorsList = new NodeErrorsList();
- List<NodeExecutionError> nodeExecutionErrors = airavataRegistry.getNodeExecutionErrors(experimentId, workflowInstanceId, nodeId);
- if (nodeExecutionErrors.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- nodeErrorsList.setNodeExecutionErrorList(nodeExecutionErrors);
- builder.entity(nodeErrorsList);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_NODE_ERRORS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_GFAC_ERRORS)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getGFacJobErrors(@QueryParam("experimentId") String experimentId,
- @QueryParam("workflowInstanceId") String workflowInstanceId,
- @QueryParam("nodeId") String nodeId,
- @QueryParam("gfacJobId") String gfacJobId ) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- GFacErrorsList gFacErrorsList = new GFacErrorsList();
- List<ApplicationJobExecutionError> gFacJobErrors = airavataRegistry.getApplicationJobErrors(experimentId, workflowInstanceId, nodeId, gfacJobId);
- if (gFacJobErrors.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- gFacErrorsList.setgFacJobExecutionErrorList(gFacJobErrors);
- builder.entity(gFacErrorsList);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_GFAC_ERRORS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_ALL_GFAC_ERRORS)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getAllGFacJobErrors(@QueryParam("gfacJobId") String gfacJobId ) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- GFacErrorsList gFacErrorsList = new GFacErrorsList();
- List<ApplicationJobExecutionError> gFacJobErrors = airavataRegistry.getApplicationJobErrors(gfacJobId);
- if (gFacJobErrors.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- gFacErrorsList.setgFacJobExecutionErrorList(gFacJobErrors);
- builder.entity(gFacErrorsList);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_ALL_GFAC_ERRORS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @GET
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXECUTION_ERRORS)
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response getExecutionErrors(@QueryParam("experimentId") String experimentId,
- @QueryParam("workflowInstanceId") String workflowInstanceId,
- @QueryParam("nodeId") String nodeId,
- @QueryParam("gfacJobId") String gfacJobId,
- @QueryParam("sourceFilter") String sourceFilter) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- ExecutionErrorsList executionErrorsList = new ExecutionErrorsList();
- String[] sourceList = sourceFilter.split(",");
- List<ExecutionErrors.Source> sourceFilters = new ArrayList<ExecutionErrors.Source>();
- for (String source : sourceList){
- ExecutionErrors.Source errorSource = ExecutionErrors.Source.valueOf(source);
- sourceFilters.add(errorSource);
- }
- List<ExecutionError> executionErrors = airavataRegistry.getExecutionErrors(experimentId, workflowInstanceId, nodeId, gfacJobId, sourceFilters.toArray(new ExecutionErrors.Source[]{}));
- if (executionErrors.size() != 0) {
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- executionErrorsList.setExecutionErrors(executionErrors);
- builder.entity(executionErrorsList);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.GET_EXECUTION_ERRORS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_EXPERIMENT_ERROR)
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- @Produces(MediaType.TEXT_PLAIN)
- public Response addExperimentError(ExperimentExecutionError error) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- int errorID = airavataRegistry.addExperimentError(error);
- if (errorID != 0){
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(errorID);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_EXPERIMENT_ERROR, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_WORKFLOW_ERROR)
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- @Produces(MediaType.TEXT_PLAIN)
- public Response addWorkflowError(WorkflowExecutionError error) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- int errorID = airavataRegistry.addWorkflowExecutionError(error);
- if (errorID != 0){
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(errorID);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_WORKFLOW_ERROR, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_NODE_ERROR)
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- @Produces(MediaType.TEXT_PLAIN)
- public Response addNodeExecutionError(NodeExecutionError error) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- int errorID = airavataRegistry.addNodeExecutionError(error);
- if (errorID != 0){
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(errorID);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_NODE_ERROR, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_GFAC_ERROR)
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- @Produces(MediaType.TEXT_PLAIN)
- public Response addGFacJobExecutionError(ApplicationJobExecutionError error) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- int errorID = airavataRegistry.addApplicationJobExecutionError(error);
- if (errorID != 0){
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(errorID);
- return builder.build();
- } else {
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- }
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_GFAC_ERROR, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_APPLICATION_JOB)
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- @Produces(MediaType.TEXT_PLAIN)
- public Response addApplicationJob(ApplicationJob job) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- airavataRegistry.addApplicationJob(job);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("GFac Job added successfully");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.ADD_APPLICATION_JOB, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_APPLICATION_JOB)
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateApplicationJob(ApplicationJob job) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- airavataRegistry.updateApplicationJob(job);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("GFac Job updated successfully");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_APPLICATION_JOB, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_APPLICATION_JOB_STATUS)
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateApplicationJobStatus(@FormParam("gfacJobID") String gfacJobID,
- @FormParam("gfacJobStatus") String gfacJobStatus,
- @FormParam("statusUpdateDate") String statusUpdatedDate) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- ApplicationJob.ApplicationJobStatus status = ApplicationJob.ApplicationJobStatus.valueOf(gfacJobStatus);
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date formattedDate = dateFormat.parse(statusUpdatedDate);
- airavataRegistry.updateApplicationJobStatus(gfacJobID, status, formattedDate);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("GFac Job status updated successfully");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_APPLICATION_JOB_STATUS, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_APPLICATION_JOB_DATA)
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateApplicationJobData(@FormParam("gfacJobID") String gfacJobID,
- @FormParam("jobdata") String jobdata) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- airavataRegistry.updateApplicationJobData(gfacJobID, jobdata);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("GFac Job data updated successfully");
- return builder.build();
- } catch (Throwable e) {
- return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_APPLICATION_JOB_DATA, e);
- } finally {
- if (airavataRegistry != null) {
- RegPoolUtils.releaseRegistry(context, airavataRegistry);
- }
- }
- }
-
- @POST
- @Path(ResourcePathConstants.ProvenanceResourcePathConstants.UPDATE_APPLICATION_JOB_SUBMITTED_TIME)
- @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateApplicationJobSubmittedTime(@FormParam("gfacJobID") String gfacJobID,
- @FormParam("submittedDate") String submittedDate) {
- AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
- try {
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date formattedDate = dateFormat.parse(submittedDate);
- airavataRegistry.updateApplicationJobSubmittedTime(gfacJobID, formattedDate);
- Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity("GFac Job data submitted date upda
<TRUNCATED>