You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2012/09/26 20:36:10 UTC

svn commit: r1390649 - in /airavata/trunk/modules/registry/airavata-registry-service: ./ src/main/java/org/apache/airavata/registry/services/

Author: lahiru
Date: Wed Sep 26 18:36:09 2012
New Revision: 1390649

URL: http://svn.apache.org/viewvc?rev=1390649&view=rev
Log:
applying AIRAVATA-556.3.patch

Added:
    airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ConfigurationRegistryService.java
    airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/DescriptorRegistryService.java
    airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ProjectsRegistryService.java
    airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ProvenanceRegistryService.java
    airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/PublishedWorkflowRegistryService.java
    airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/UserWorkflowRegistryService.java
Modified:
    airavata/trunk/modules/registry/airavata-registry-service/pom.xml

Modified: airavata/trunk/modules/registry/airavata-registry-service/pom.xml
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-registry-service/pom.xml?rev=1390649&r1=1390648&r2=1390649&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-registry-service/pom.xml (original)
+++ airavata/trunk/modules/registry/airavata-registry-service/pom.xml Wed Sep 26 18:36:09 2012
@@ -64,9 +64,31 @@
             <artifactId>airavata-jpa-registry</artifactId>
             <version>${project.version}</version>
         </dependency>
-
-
+        <dependency>
+            <groupId>com.sun.jersey</groupId>
+            <artifactId>jersey-servlet</artifactId>
+            <version>${jersey.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.jersey</groupId>
+            <artifactId>jersey-json</artifactId>
+            <version>${jersey.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.jersey.contribs</groupId>
+            <artifactId>jersey-multipart</artifactId>
+            <version>${jersey.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.jersey</groupId>
+            <artifactId>jersey-server</artifactId>
+            <version>${jersey.version}</version>
+        </dependency>
 	</dependencies>
+    <properties>
+        <jersey.version>1.13</jersey.version>
+    </properties>
+
     <build>
         <plugins>
             <plugin>

Added: airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ConfigurationRegistryService.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ConfigurationRegistryService.java?rev=1390649&view=auto
==============================================================================
--- airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ConfigurationRegistryService.java (added)
+++ airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ConfigurationRegistryService.java Wed Sep 26 18:36:09 2012
@@ -0,0 +1,38 @@
+package org.apache.airavata.registry.services;
+
+
+import javax.ws.rs.core.Response;
+import java.net.URI;
+import java.util.Date;
+
+public interface ConfigurationRegistryService{
+    public Response getConfiguration(String key);
+    public Response getConfigurationList(String key);
+    public Response setConfiguration(String key, String value, Date expire);
+    public Response addConfiguration(String key, String value, Date expire);
+    public Response removeAllConfiguration(String key);
+    public Response removeConfiguration(String key, String value);
+
+    public Response getGFacURIs();
+    public Response getWorkflowInterpreterURIs();
+    public Response getEventingServiceURI();
+    public Response getMessageBoxURI();
+
+    public Response addGFacURI(URI uri);
+    public Response addWorkflowInterpreterURI(URI uri);
+    public Response setEventingURI(URI uri);
+    public Response setMessageBoxURI(URI uri);
+
+    public Response addGFacURI(URI uri, Date expire);
+    public Response addWorkflowInterpreterURI(URI uri, Date expire);
+    public Response setEventingURI(URI uri, Date expire);
+    public Response setMessageBoxURI(URI uri, Date expire);
+
+    public Response removeGFacURI(URI uri);
+    public Response removeAllGFacURI();
+    public Response removeWorkflowInterpreterURI(URI uri);
+    public Response removeAllWorkflowInterpreterURI();
+    public Response unsetEventingURI();
+    public Response unsetMessageBoxURI();
+
+}

Added: airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/DescriptorRegistryService.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/DescriptorRegistryService.java?rev=1390649&view=auto
==============================================================================
--- airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/DescriptorRegistryService.java (added)
+++ airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/DescriptorRegistryService.java Wed Sep 26 18:36:09 2012
@@ -0,0 +1,47 @@
+package org.apache.airavata.registry.services;
+
+import org.apache.airavata.common.registry.api.exception.RegistryException;
+import org.apache.airavata.registry.api.exception.gateway.DescriptorAlreadyExistsException;
+import org.apache.airavata.registry.api.exception.gateway.DescriptorDoesNotExistsException;
+import org.apache.airavata.registry.api.exception.gateway.MalformedDescriptorException;
+
+import javax.ws.rs.core.Response;
+
+public interface DescriptorRegistryService{
+    /*Note
+	 * Name changes of the descriptors should not be allowed
+	 */
+
+    //---------Host Descriptor data------------
+    public Response isHostDescriptorExists(String descriptorName)throws RegistryException;
+    public Response addHostDescriptor(String descriptor) throws DescriptorAlreadyExistsException, RegistryException;
+    public Response updateHostDescriptor(String descriptor)throws DescriptorDoesNotExistsException, RegistryException;
+    public Response getHostDescriptor(String hostName)throws DescriptorDoesNotExistsException,MalformedDescriptorException, RegistryException;
+    public Response removeHostDescriptor(String hostName)throws DescriptorDoesNotExistsException, RegistryException;
+    public Response getHostDescriptors()throws MalformedDescriptorException, RegistryException;
+    public Response getHostDescriptorMetadata(String hostName)throws DescriptorDoesNotExistsException, RegistryException;
+
+    //---------Service Descriptor data------------
+    public Response isServiceDescriptorExists(String descriptorName)throws RegistryException;
+    public Response addServiceDescriptor(String descriptor)throws DescriptorAlreadyExistsException, RegistryException;
+    public Response updateServiceDescriptor(String descriptor)throws DescriptorDoesNotExistsException, RegistryException;
+    public Response getServiceDescriptor(String serviceName)throws DescriptorDoesNotExistsException,MalformedDescriptorException, RegistryException;
+    public Response removeServiceDescriptor(String serviceName)throws DescriptorDoesNotExistsException, RegistryException;
+    public Response getServiceDescriptors()throws MalformedDescriptorException, RegistryException;
+    public Response getServiceDescriptorMetadata(String serviceName)throws DescriptorDoesNotExistsException, RegistryException;
+
+    //---------Application Descriptor data------------
+    public Response isApplicationDescriptorExists(String serviceName, String hostName, String descriptorName)throws RegistryException;
+    public Response addApplicationDescriptor(String serviceDescription, String hostDescriptor, String descriptor)throws DescriptorAlreadyExistsException, RegistryException;
+    public Response addApplicationDesc(String serviceName, String hostName, String descriptor)throws DescriptorAlreadyExistsException, RegistryException;
+    public Response udpateApplicationDescriptor(String serviceDescription, String hostDescriptor, String descriptor)throws DescriptorDoesNotExistsException, RegistryException;
+    public Response updateApplicationDescriptor(String serviceName, String hostName, String descriptor)throws DescriptorDoesNotExistsException, RegistryException;
+    public Response getApplicationDescriptor(String serviceName, String hostname, String applicationName)throws DescriptorDoesNotExistsException, MalformedDescriptorException, RegistryException;
+    public Response getApplicationDescriptors(String serviceName, String hostname)throws MalformedDescriptorException, RegistryException;
+    public Response getApplicationDescriptors(String serviceName)throws MalformedDescriptorException, RegistryException;
+    public Response getApplicationDescriptors()throws MalformedDescriptorException, RegistryException;
+    public Response removeApplicationDescriptor(String serviceName, String hostName, String applicationName)throws DescriptorDoesNotExistsException, RegistryException;
+    public Response getApplicationDescriptorMetadata(String serviceName, String hostName, String applicationName)throws DescriptorDoesNotExistsException, RegistryException;
+
+
+}

Added: airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ProjectsRegistryService.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ProjectsRegistryService.java?rev=1390649&view=auto
==============================================================================
--- airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ProjectsRegistryService.java (added)
+++ airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ProjectsRegistryService.java Wed Sep 26 18:36:09 2012
@@ -0,0 +1,30 @@
+package org.apache.airavata.registry.services;
+
+
+import org.apache.airavata.common.registry.api.exception.RegistryException;
+import org.apache.airavata.registry.api.AiravataExperiment;
+import org.apache.airavata.registry.api.exception.worker.ExperimentDoesNotExistsException;
+import org.apache.airavata.registry.api.exception.worker.WorkspaceProjectAlreadyExistsException;
+import org.apache.airavata.registry.api.exception.worker.WorkspaceProjectDoesNotExistsException;
+
+import javax.ws.rs.core.Response;
+import java.util.Date;
+
+public interface ProjectsRegistryService {
+    //------------Project management
+    public Response isWorkspaceProjectExists(String projectName) throws RegistryException;
+    public Response isWorkspaceProjectExists(String projectName, String createIfNotExists) throws RegistryException;
+    public Response addWorkspaceProject(String projectName) throws WorkspaceProjectAlreadyExistsException, RegistryException;
+    public Response updateWorkspaceProject(String projectName) throws WorkspaceProjectDoesNotExistsException, RegistryException;
+    public Response deleteWorkspaceProject(String projectName) throws WorkspaceProjectDoesNotExistsException, RegistryException;
+    public Response getWorkspaceProject(String projectName) throws WorkspaceProjectDoesNotExistsException, RegistryException;
+    public Response getWorkspaceProjects() throws RegistryException;
+
+    //------------Experiment management
+    public Response addExperiment(String projectName, AiravataExperiment experiment) throws WorkspaceProjectDoesNotExistsException, ExperimentDoesNotExistsException, RegistryException;
+    public Response removeExperiment(String experimentId) throws ExperimentDoesNotExistsException;
+    public Response getExperiments() throws RegistryException;
+    public Response getExperiments(String projectName)throws RegistryException;
+    public Response getExperiments(Date from, Date to)throws RegistryException;
+    public Response getExperiments(String projectName, Date from, Date to) throws RegistryException;
+}

Added: airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ProvenanceRegistryService.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ProvenanceRegistryService.java?rev=1390649&view=auto
==============================================================================
--- airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ProvenanceRegistryService.java (added)
+++ airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/ProvenanceRegistryService.java Wed Sep 26 18:36:09 2012
@@ -0,0 +1,251 @@
+package org.apache.airavata.registry.services;
+
+import org.apache.airavata.common.registry.api.exception.RegistryException;
+import org.apache.airavata.registry.api.workflow.WorkflowInstanceNodeStatus;
+import org.apache.airavata.registry.api.workflow.WorkflowNodeGramData;
+
+import javax.ws.rs.core.Response;
+import java.util.Date;
+
+public interface ProvenanceRegistryService {
+    /*------------------------------------------- Experiment data ---------------------------------------------*/
+
+    /**
+     * Returns true if the experiment exists
+     * @param experimentId
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response isExperimentExists(String experimentId) throws RegistryException;
+
+    public Response isExperimentExists(String experimentId, boolean createIfNotPresent) throws RegistryException;
+
+    /**
+     * Save the username of the user who runs this experiment
+     * @param experimentId
+     * @param user
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response updateExperimentExecutionUser(String experimentId, String user) throws RegistryException;
+
+    /**
+     * Retrieve the user who is runing the experiment
+     * @param experimentId
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response getExperimentExecutionUser(String experimentId) throws RegistryException;
+
+    /**
+     * Get the name of the workflow intance
+     * @param experimentId
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response getExperimentName(String experimentId) throws RegistryException;
+
+    /**
+     * Save a name for this workflow execution
+     * @param experimentId
+     * @param experimentName
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response updateExperimentName(String experimentId, String experimentName)throws RegistryException;
+
+    /**
+     * Return the metadata information saved for the experiment
+     * @param experimentId
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response getExperimentMetadata(String experimentId) throws RegistryException;
+
+    /**
+     * Save the metadata for the experiment
+     * @param experimentId
+     * @param metadata
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response updateExperimentMetadata(String experimentId, String metadata) throws RegistryException;
+
+    /**
+     * Return the template name of the workflow that this intance was created from
+     * @param workflowInstanceId
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response getWorkflowExecutionTemplateName(String workflowInstanceId) throws RegistryException;
+
+    /**
+     * Save the template name of the workflow that this intance was created from
+     * @param workflowInstanceId
+     * @param templateName
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response setWorkflowInstanceTemplateName(String workflowInstanceId, String templateName) throws RegistryException;
+
+    public Response getExperimentWorkflowInstances(String experimentId) throws RegistryException;
+
+    /*-------------------------------------- Experiment Workflow instance node data ----------------------------------------*/
+
+    public Response isWorkflowInstanceExists(String instanceId) throws RegistryException;
+
+    public Response isWorkflowInstanceExists(String instanceId, boolean createIfNotPresent) throws RegistryException;
+
+    /**
+     * Save a status for this workflow execution with the current time at the moment
+     * @param instanceId
+     * @param executionStatus - contains the status
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response updateWorkflowInstanceStatus(String instanceId, String executionStatus)throws RegistryException;
+
+    /**
+     * Save a status for this workflow execution
+     * @param experimentID
+     * @param workflowInstanceID
+     * @param executionStatus
+     * @param statusUpdateTime
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response updateWorkflowInstanceStatus(String experimentID,
+                                                 String workflowInstanceID,
+                                                 String executionStatus,
+                                                 Date statusUpdateTime)throws RegistryException;
+
+
+    /**
+     * Return the status of the execution
+     * @param instanceId
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response getWorkflowInstanceStatus(String instanceId)throws RegistryException;
+
+    /**
+     *  Save the input data of a node in the workflow instance of an experiment
+     * @param experimentID
+     * @param nodeID
+     * @param workflowInstanceID
+     * @param data
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response updateWorkflowNodeInput(String experimentID, String nodeID, String workflowInstanceID, String data) throws RegistryException;
+
+
+    /**
+     * Save the output data of a node in the workflow instance of an experiment
+     * @param experimentID
+     * @param nodeID
+     * @param workflowInstanceID
+     * @param data
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response updateWorkflowNodeOutput(String experimentID, String nodeID, String workflowInstanceID, String data)throws RegistryException;
+
+    /**
+     * Return a list of data passed as input for service node which regex matched nodeId, workflow template id & experiment id
+     * @param experimentIdRegEx
+     * @param workflowNameRegEx - this is the workflowName or workflow template Id of an experiment
+     * @param nodeNameRegEx - nodeId
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response searchWorkflowInstanceNodeInput(String experimentIdRegEx, String workflowNameRegEx, String nodeNameRegEx)throws RegistryException;
+
+    /**
+     * Return a list of data returned as output from service node which regex matched nodeId, workflow template id & experiment id
+     * @param experimentIdRegEx
+     * @param workflowNameRegEx - this is the workflowName or workflow template Id of an experiment
+     * @param nodeNameRegEx - nodeId
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response searchWorkflowInstanceNodeOutput(String experimentIdRegEx, String workflowNameRegEx, String nodeNameRegEx)throws RegistryException;
+
+    public Response getWorkflowInstanceNodeInput(String workflowInstanceId, String nodeType)throws RegistryException;
+
+    public Response getWorkflowInstanceNodeOutput(String workflowInstanceId, String nodeType)throws RegistryException;
+
+
+    /*---------------------------------------  Retrieving Experiment ------------------------------------------*/
+    /**
+     * Return workflow execution object fully populated with data currently avaialble for that experiment
+     * @param experimentId
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response getExperiment(String experimentId) throws RegistryException;
+
+    /**
+     * Return experiment ids of experiments launched by the given user
+     * @param user - a regex user id
+     * @return - experiment id list
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response getExperimentIdByUser(String user) throws RegistryException;
+
+    /**
+     * Return experiments launched by the given user
+     * @param user
+     * @return experiment object list each populated by current data of that experiment
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response getExperimentByUser(String user) throws RegistryException;
+
+    /**
+     * Return the pageNo set of experiments launched by the given user if grouped in to pages of size pageSize
+     * @param user
+     * @param pageSize
+     * @param pageNo
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response getExperimentByUser(String user, int pageSize, int pageNo) throws RegistryException;
+
+    /**
+     * This will update the workflowStatus for given experimentID,workflowInstanceID combination.
+     * @param workflowStatusNode
+     * @return
+     * @throws org.apache.airavata.common.registry.api.exception.RegistryException
+     */
+    public Response updateWorkflowNodeStatus(WorkflowInstanceNodeStatus workflowStatusNode)throws RegistryException;
+
+    public Response updateWorkflowNodeStatus(String workflowInstanceId, String nodeId, String executionStatus)throws RegistryException;
+
+    public Response updateWorkflowNodeStatus(String workflowInstanceId, String executionStatus)throws RegistryException;
+
+    public Response getWorkflowNodeStatus(String workflowInstanceId, String nodeId)throws RegistryException;
+
+    public Response getWorkflowNodeStartTime(String workflowInstanceId, String nodeId)throws RegistryException;
+
+    public Response getWorkflowStartTime(String workflowInstanceId)throws RegistryException;
+
+    /**
+     * This will store the gram specific data in to repository, this can be called before submitting the workflow in to Grid
+     * @param workflowNodeGramData
+     * @return
+     */
+    public Response updateWorkflowNodeGramData(WorkflowNodeGramData workflowNodeGramData)throws RegistryException;
+
+    public Response getWorkflowInstanceData(String workflowInstanceId)throws RegistryException;
+
+    public Response isWorkflowInstanceNodePresent(String workflowInstanceId, String nodeId)throws RegistryException;
+
+    public Response isWorkflowInstanceNodePresent(String workflowInstanceId, String nodeId, boolean createIfNotPresent)throws RegistryException;
+
+    public Response getWorkflowInstanceNodeData(String workflowInstanceId, String nodeId)throws RegistryException;
+
+    public Response addWorkflowInstance(String experimentId, String workflowInstanceId, String templateName) throws RegistryException;
+
+    public Response updateWorkflowNodeType(String workflowInstanceId, String nodeId, String nodeType) throws RegistryException;
+
+    public Response addWorkflowInstanceNode(String workflowInstance, String nodeId) throws RegistryException;
+}

Added: airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/PublishedWorkflowRegistryService.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/PublishedWorkflowRegistryService.java?rev=1390649&view=auto
==============================================================================
--- airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/PublishedWorkflowRegistryService.java (added)
+++ airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/PublishedWorkflowRegistryService.java Wed Sep 26 18:36:09 2012
@@ -0,0 +1,21 @@
+package org.apache.airavata.registry.services;
+
+import org.apache.airavata.common.registry.api.exception.RegistryException;
+import org.apache.airavata.registry.api.exception.gateway.PublishedWorkflowAlreadyExistsException;
+import org.apache.airavata.registry.api.exception.gateway.PublishedWorkflowDoesNotExistsException;
+import org.apache.airavata.registry.api.exception.worker.UserWorkflowDoesNotExistsException;
+
+import javax.ws.rs.core.Response;
+
+public interface PublishedWorkflowRegistryService {
+    public Response isPublishedWorkflowExists(String workflowName) throws RegistryException;
+    public Response publishWorkflow(String workflowName, String publishWorkflowName) throws PublishedWorkflowAlreadyExistsException, UserWorkflowDoesNotExistsException, RegistryException;
+    public Response publishWorkflow(String workflowName) throws PublishedWorkflowAlreadyExistsException, UserWorkflowDoesNotExistsException, RegistryException;
+
+    public Response getPublishedWorkflowGraphXML(String workflowName) throws PublishedWorkflowDoesNotExistsException, RegistryException;
+    public Response getPublishedWorkflowNames() throws RegistryException;
+    public Response getPublishedWorkflows() throws RegistryException;
+    public Response getPublishedWorkflowMetadata(String workflowName) throws RegistryException;
+
+    public Response removePublishedWorkflow(String workflowName)throws PublishedWorkflowDoesNotExistsException, RegistryException;
+}

Added: airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/UserWorkflowRegistryService.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/UserWorkflowRegistryService.java?rev=1390649&view=auto
==============================================================================
--- airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/UserWorkflowRegistryService.java (added)
+++ airavata/trunk/modules/registry/airavata-registry-service/src/main/java/org/apache/airavata/registry/services/UserWorkflowRegistryService.java Wed Sep 26 18:36:09 2012
@@ -0,0 +1,21 @@
+package org.apache.airavata.registry.services;
+
+
+import org.apache.airavata.common.registry.api.exception.RegistryException;
+import org.apache.airavata.registry.api.exception.worker.UserWorkflowAlreadyExistsException;
+import org.apache.airavata.registry.api.exception.worker.UserWorkflowDoesNotExistsException;
+
+import javax.ws.rs.core.Response;
+
+public interface UserWorkflowRegistryService {
+    public Response isWorkflowExists(String workflowName) throws RegistryException;
+    public Response addWorkflow(String workflowName, String workflowGraphXml) throws UserWorkflowAlreadyExistsException, RegistryException;
+    public Response updateWorkflow(String workflowName, String workflowGraphXml) throws UserWorkflowDoesNotExistsException, RegistryException;
+
+    public Response getWorkflowGraphXML(String workflowName) throws UserWorkflowDoesNotExistsException, RegistryException;
+    public Response getWorkflows() throws RegistryException;
+
+    public Response getWorkflowMetadata(String workflowName) throws RegistryException;
+
+    public Response removeWorkflow(String workflowName) throws UserWorkflowDoesNotExistsException, RegistryException;
+}