Repository: airavata
Updated Branches:
  refs/heads/master de76d8941 -> 8c0287ec4


http://git-wip-us.apache.org/repos/asf/airavata/blob/8c0287ec/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift 
b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
index a8613e0..354bae6 100644
--- a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
+++ b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
@@ -27,6 +27,7 @@
 include "airavataErrors.thrift"
 include "airavataDataModel.thrift"
 include "experimentModel.thrift"
+include "workspaceModel.thrift"
 
 namespace java org.apache.airavata.api
 namespace php Airavata.API
@@ -60,40 +61,96 @@ service Airavata {
   string GetAPIVersion(),
   
   /**
-   * Create an experiment for the specified user belonging to the gateway. The 
gateway identity is not explicitly passed
-   *   but inferred from the authentication header. This experiment is just a 
persistent place holder. The client
-   *   has to subsequently configure and launch the created experiment. No 
action is taken on Airavata Server except
-   *   registering the experiment in a persistent store.
+   * Create a Project
    *
-   * @param basicExperimentMetadata
-   *    The create experiment will require the basic experiment metadata like 
the name and description, intended user,
-   *      the gateway identifer and if the experiment should be shared public 
by defualt. During the creation of an experiment
-   *      the ExperimentMetadata is a required field.
-   *
-   * @return
-   *   The server-side generated airavata experiment globally unique 
identifier.
-   *
-   * @throws org.apache.airavata.api.error.InvalidRequestException
-   *    For any incorrect forming of the request itself.
-   *
-   * @throws org.apache.airavata.api.error.AiravataClientException
-   *    The following list of exceptions are thrown which Airavata Client can 
take corrective actions to resolve:
-   *
-   *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as 
a one time administrative
-   *         step, then Airavata Registry will not have a provenance area 
setup. The client has to follow
-   *         gateway registration steps and retry this request.
-   *
-   *      AUTHENTICATION_FAILURE - How Authentication will be implemented is 
yet to be determined.
-   *         For now this is a place holder.
+  */
+  string createProject (1: required workspaceModel.Project project,
+                        2: required string userName)
+      throws (1: airavataErrors.InvalidRequestException ire,
+              2: airavataErrors.AiravataClientException ace,
+              3: airavataErrors.AiravataSystemException ase)
+
+/**
+   * Update a Project
    *
-   *      INVALID_AUTHORIZATION - This will throw an authorization exception. 
When a more robust security hand-shake
-   *         is implemented, the authorization will be more substantial.
+  */
+  void updateProject (1: required workspaceModel.Project project)
+      throws (1: airavataErrors.InvalidRequestException ire,
+              2: airavataErrors.AiravataClientException ace,
+              3: airavataErrors.AiravataSystemException ase)
+
+/**
+   * Get a Project by ID
    *
-   * @throws org.apache.airavata.api.error.AiravataSystemException
-   *    This exception will be thrown for any Airavata Server side issues and 
if the problem cannot be corrected by the client
-   *       rather an Airavata Administrator will be notified to take 
corrective action.
+  */
+  workspaceModel.Project getProject (1: required string projectId)
+        throws (1: airavataErrors.InvalidRequestException ire,
+                2: airavataErrors.AiravataClientException ace,
+                3: airavataErrors.AiravataSystemException ase)
+
+/**
+   * Get all Project by user
    *
   */
+  list<workspaceModel.Project> getAllUserProjects (1: required string userName)
+        throws (1: airavataErrors.InvalidRequestException ire,
+                2: airavataErrors.AiravataClientException ace,
+                3: airavataErrors.AiravataSystemException ase)
+
+  /**
+     * Get all Experiments within a Project
+     *
+  */
+  list<experimentModel.Experiment> getAllExperimentsInProject(1: required 
string projectId)
+          throws (1: airavataErrors.InvalidRequestException ire,
+                  2: airavataErrors.AiravataClientException ace,
+                  3: airavataErrors.AiravataSystemException ase)
+
+  /**
+     * Get all Experiments by user
+     *
+  */
+  list<experimentModel.Experiment> getAllUserExperiments(1: required string 
userName)
+            throws (1: airavataErrors.InvalidRequestException ire,
+                    2: airavataErrors.AiravataClientException ace,
+                    3: airavataErrors.AiravataSystemException ase)
+
+  /**
+     * Create an experiment for the specified user belonging to the gateway. 
The gateway identity is not explicitly passed
+     *   but inferred from the authentication header. This experiment is just 
a persistent place holder. The client
+     *   has to subsequently configure and launch the created experiment. No 
action is taken on Airavata Server except
+     *   registering the experiment in a persistent store.
+     *
+     * @param basicExperimentMetadata
+     *    The create experiment will require the basic experiment metadata 
like the name and description, intended user,
+     *      the gateway identifer and if the experiment should be shared 
public by defualt. During the creation of an experiment
+     *      the ExperimentMetadata is a required field.
+     *
+     * @return
+     *   The server-side generated airavata experiment globally unique 
identifier.
+     *
+     * @throws org.apache.airavata.api.error.InvalidRequestException
+     *    For any incorrect forming of the request itself.
+     *
+     * @throws org.apache.airavata.api.error.AiravataClientException
+     *    The following list of exceptions are thrown which Airavata Client 
can take corrective actions to resolve:
+     *
+     *      UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata 
as a one time administrative
+     *         step, then Airavata Registry will not have a provenance area 
setup. The client has to follow
+     *         gateway registration steps and retry this request.
+     *
+     *      AUTHENTICATION_FAILURE - How Authentication will be implemented is 
yet to be determined.
+     *         For now this is a place holder.
+     *
+     *      INVALID_AUTHORIZATION - This will throw an authorization 
exception. When a more robust security hand-shake
+     *         is implemented, the authorization will be more substantial.
+     *
+     * @throws org.apache.airavata.api.error.AiravataSystemException
+     *    This exception will be thrown for any Airavata Server side issues 
and if the problem cannot be corrected by the client
+     *       rather an Airavata Administrator will be notified to take 
corrective action.
+     *
+    */
+
   string createExperiment(1: required experimentModel.Experiment experiment)
     throws (1: airavataErrors.InvalidRequestException ire,
             2: airavataErrors.AiravataClientException ace,
@@ -388,11 +445,4 @@ service Airavata {
             2: airavataErrors.ExperimentNotFoundException enf,
             3: airavataErrors.AiravataClientException ace,
             4: airavataErrors.AiravataSystemException ase)
-
-    string createProject (1: string projectName, 2: string userName)
-            throws (1: airavataErrors.InvalidRequestException ire,
-                    2: airavataErrors.ExperimentNotFoundException enf,
-                    3: airavataErrors.AiravataClientException ace,
-                    4: airavataErrors.AiravataSystemException ase)
-
 }

Reply via email to