Repository: airavata
Updated Branches:
  refs/heads/master a0c1cbde9 -> 712652888


Adding data models for within workspace and parent to experiment  and defualt 
values for all id's- AIRAVATA-1017


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/71265288
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/71265288
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/71265288

Branch: refs/heads/master
Commit: 7126528886030d0f6325f35d55dc122d28af74d2
Parents: a0c1cbd
Author: Suresh Marru <[email protected]>
Authored: Mon Feb 17 16:08:46 2014 -0500
Committer: Suresh Marru <[email protected]>
Committed: Mon Feb 17 16:08:46 2014 -0500

----------------------------------------------------------------------
 .../airavataAPI.thrift                          | 30 ++++++----
 .../airavataDataModel.thrift                    |  5 +-
 .../experimentModel.thrift                      | 55 ++++++++++--------
 .../workspaceModel.thrift                       | 59 ++++++++++++++++++++
 4 files changed, 114 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/71265288/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 1ea10a3..6a39c7b 100644
--- a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
+++ b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
@@ -94,7 +94,7 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take 
corrective action.
    *
   */
-  string createExperiment(1: experimentModel.BasicMetadata 
basicExperimentMetadata)
+  string createExperiment(1: experimentModel.Experiment experiment)
     throws (1: airavataErrors.InvalidRequestException ire,
             2: airavataErrors.AiravataClientException ace,
             3: airavataErrors.AiravataSystemException ase)
@@ -132,7 +132,7 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take 
corrective action.
    *
   */
-  experimentModel.BasicMetadata getBasicExperimentMetadata(1: string 
airavataExperimentId)
+  experimentModel.Experiment getBasicExperiment(1: string airavataExperimentId)
     throws (1: airavataErrors.InvalidRequestException ire,
             2: airavataErrors.ExperimentNotFoundException enf,
             3: airavataErrors.AiravataClientException ace,
@@ -177,8 +177,8 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take 
corrective action.
    *
   */
-  void configureExperiment(1: string airavataExperimentId,
-                           2: experimentModel.ConfigurationData 
experimentConfigurationData)
+  void updateExperiment(1: string airavataExperimentId,
+                           2: experimentModel.Experiment experiment)
     throws (1: airavataErrors.InvalidRequestException ire,
             2: airavataErrors.ExperimentNotFoundException enf,
             3: airavataErrors.AiravataClientException ace,
@@ -217,7 +217,7 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take 
corrective action.
    *
   */
-  experimentModel.ConfigurationData getExperimentConfiguration(1: string 
airavataExperimentId)
+  experimentModel.ExperimentStatus getExperimentStatus(1: string 
airavataExperimentId)
     throws (1: airavataErrors.InvalidRequestException ire,
             2: airavataErrors.ExperimentNotFoundException enf,
             3: airavataErrors.AiravataClientException ace,
@@ -266,7 +266,7 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take 
corrective action.
    *
   */
-  void launchConfiguredExperiment(1: string airavataExperimentId
+  void launchExperiment(1: string airavataExperimentId
                                   2: string airavataCredStoreToken)
     throws (1: airavataErrors.InvalidRequestException ire,
             2: airavataErrors.ExperimentNotFoundException enf,
@@ -317,8 +317,8 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take 
corrective action.
    *
   */
-  string configureAndLaunchExperiment (1: string airavataExperimentId
-                                       2: experimentModel.ConfigurationData 
experimentConfigurationData,
+  string updateAndLaunchExperiment (1: string airavataExperimentId
+                                       2: experimentModel.Experiment 
experiment,
                                        3: string airavataCredStoreToken)
     throws (1: airavataErrors.InvalidRequestException ire,
             2: airavataErrors.ExperimentNotFoundException enf,
@@ -364,8 +364,8 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take 
corrective action.
    *
   */
-  string cloneExperimentConfiguration(1: string airavataExperimentIdToBeCloned,
-                                      2: experimentModel.BasicMetadata 
basicExperimentMetadata)
+  string cloneExperiment(1: string airavataExperimentIdToBeCloned,
+                                      2: experimentModel.Experiment 
updatedExperiment)
     throws (1: airavataErrors.InvalidRequestException ire,
             2: airavataErrors.ExperimentNotFoundException enf,
             3: airavataErrors.AiravataClientException ace,
@@ -410,4 +410,14 @@ service Airavata {
             3: airavataErrors.AiravataClientException ace,
             4: airavataErrors.AiravataSystemException ase)
 
+    string registerGateway (1: string gatewayName)
+        throws (1: airavataErrors.InvalidRequestException ire,
+                2: airavataErrors.ExperimentNotFoundException enf,
+                3: airavataErrors.AiravataClientException ace,
+                4: airavataErrors.AiravataSystemException ase)
+
+    bool registerUser(1: string userName, 2: string gatewayName)
+
+    string createProject (1: string projectName, string userName)
+
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/71265288/airavata-api/thrift-interface-descriptions/airavataDataModel.thrift
----------------------------------------------------------------------
diff --git 
a/airavata-api/thrift-interface-descriptions/airavataDataModel.thrift 
b/airavata-api/thrift-interface-descriptions/airavataDataModel.thrift
index b062205..1e9b635 100644
--- a/airavata-api/thrift-interface-descriptions/airavataDataModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/airavataDataModel.thrift
@@ -18,7 +18,7 @@
  *
  */
 
-include "experimentModel.thrift"
+include "workspaceModel.thrift"
 
 namespace java org.apache.airavata.model
 namespace php Airavata.Model
@@ -28,3 +28,6 @@ namespace php Airavata.Model
  *   language specific Airavata Client SDK's will translate this neutral data 
model into an
  *   appropriate form for passing to the Airavata Server Execution API Calls.
 */
+
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/71265288/airavata-api/thrift-interface-descriptions/experimentModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/experimentModel.thrift 
b/airavata-api/thrift-interface-descriptions/experimentModel.thrift
index 4d84441..31f15ed 100644
--- a/airavata-api/thrift-interface-descriptions/experimentModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/experimentModel.thrift
@@ -18,8 +18,8 @@
  *
  */
 
-namespace java org.apache.airavata.model.experiment
-namespace php Airavata.Model.Experiment
+namespace java org.apache.airavata.model.workspace.experiment
+namespace php Airavata.Model.Workspace.Experiment
 
 /*
  * This file describes the definitions of the Airavata Experiment Data 
Structures. Each of the
@@ -49,6 +49,10 @@ namespace php Airavata.Model.Experiment
  *
 */
 
+const string DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
+const string DEFAULT_PROJECT_NAME = "DEFAULT"
+const string SINGLE_APP_NODE_NAME = "SINGLE_APP_NODE"
+
 enum ExperimentState {
     CREATED,
     VALIDATED,
@@ -80,21 +84,23 @@ struct WorkflowNodeStatus {
     2: optional i64 timeOfStateChange
 }
 
-enum ExecutionState {
-    AUTHENTICATED,
+enum TaskState {
+    WAITING,
+    STARTED,
     PRE_PROCESSING,
     CONFIGURING_WORKSPACE,
     INPUT_DATA_STAGING,
     OUTPUT_DATA_STAGING,
     POST_PROCESSING,
+    EXECUTING,
     CANCELED,
     COMPLETED,
     FAILED,
     UNKNOWN
 }
 
-struct ExecutionStatus {
-    1: required ExecutionState executionState,
+struct TaskStatus {
+    1: required TaskState executionState,
     2: optional i64 timeOfStateChange
 }
 
@@ -236,7 +242,7 @@ struct UserConfigurationData {
 }
 
 struct ErrorDetails {
-    1: required string errorID = "DO_NO_SET_BY_CLIENT",
+    1: required string errorID = DEFAULT_ID,
     2: optional i64 creationTime,
     3: optional string actualErrorMessage,
     4: optional string userFriendlyMessage,
@@ -248,7 +254,7 @@ struct ErrorDetails {
 }
 
 struct JobDetails {
-    1: required string jobID,
+    1: required string jobID = DEFAULT_ID,
     2: required string jobDescription,
     3: optional i64 creationTime,
     4: optional JobStatus jobStatus,
@@ -257,7 +263,7 @@ struct JobDetails {
 }
 
 struct DataTransferDetails {
-    1: required string transferID,
+    1: required string transferID = DEFAULT_ID,
     2: optional i64 creationTime,
     3: required string transferDescription,
     4: optional TransferStatus transferStatus,
@@ -270,16 +276,16 @@ struct DataTransferDetails {
  *
 */
 struct TaskDetails {
-    1: required string taskID,
+    1: required string taskID = DEFAULT_ID,
     2: optional i64 creationTime,
     3: optional string applicationId,
     4: optional string applicationVersion,
     5: optional list<DataObjectType> applicationInputs,
     6: optional list<DataObjectType> applicationOutputs,
-    7: optional ComputationalResourceScheduling executionScheduling,
+    7: optional ComputationalResourceScheduling taskScheduling,
     8: optional AdvancedInputDataHandling advancedInputDataHandling,
     9: optional AdvancedOutputDataHandling advancedOutputDataHandling,
-    10: optional ExecutionStatus executionStatus,
+    10: optional TaskStatus taskStatus,
     11: optional list<JobDetails> jobDetailsList,
     12: optional list<DataTransferDetails> dataTransferDetailsList,
     13: optional list<ErrorDetails> errors
@@ -290,9 +296,9 @@ struct TaskDetails {
 * nodeInstanceId - unique node identifier for each run
 */
 struct WorkflowNodeDetails {
-    1: required string nodeInstanceId = "DO_NO_SET_BY_CLIENT",
+    1: required string nodeInstanceId = DEFAULT_ID,
     2: optional i64 creationTime,
-    3: required string nodeName = "SIMPLE_APP_NODE",
+    3: required string nodeName = SINGLE_APP_NODE_NAME,
     4: optional list<DataObjectType> nodeInputs,
     5: optional list<DataObjectType> nodeOutputs,
     6: optional WorkflowNodeStatus workflowNodeStatus,
@@ -318,8 +324,8 @@ struct WorkflowNodeDetails {
 */
 
 struct Experiment {
-    1: required string experimentID = "DO_NO_SET_BY_CLIENT"
-    2: required string projectID = "DEFAULT",
+    1: required string experimentID = DEFAULT_ID,
+    2: required string projectID = DEFAULT_PROJECT_NAME
     3: optional i64 creationTime,
     4: required string userName,
     5: required string name,
@@ -328,11 +334,12 @@ struct Experiment {
     8: optional string applicationVersion,
     9: optional string workflowTemplateId,
     10: optional string workflowTemplateVersion,
-    11: optional string workflowExecutionInstanceId,
-    12: optional list<DataObjectType> experimentInputs,
-    13: optional list<DataObjectType> experimentOutputs,
-    14: optional ExecutionStatus experimentStatus,
-    15: optional list<ExecutionStatus> stateChangeList,
-    16: optional list<WorkflowNodeDetails> workflowNodeDetailsList,
-    17: optional list<ErrorDetails> errors
-}
\ No newline at end of file
+    11: optional UserConfigurationData userConfigurationData,
+    12: optional string workflowExecutionInstanceId,
+    13: optional list<DataObjectType> experimentInputs,
+    14: optional list<DataObjectType> experimentOutputs,
+    15: optional ExperimentStatus experimentStatus,
+    16: optional list<WorkflowNodeStatus> stateChangeList,
+    17: optional list<WorkflowNodeDetails> workflowNodeDetailsList,
+    18: optional list<ErrorDetails> errors
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/71265288/airavata-api/thrift-interface-descriptions/workspaceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/workspaceModel.thrift 
b/airavata-api/thrift-interface-descriptions/workspaceModel.thrift
new file mode 100644
index 0000000..4d01495
--- /dev/null
+++ b/airavata-api/thrift-interface-descriptions/workspaceModel.thrift
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ *
+ */
+
+include "experimentModel.thrift"
+
+namespace java org.apache.airavata.model.workspace
+namespace php Airavata.Model.Workspace
+
+/*
+ * This file describes the definitions of the Airavata Workspace. The 
workspace is a container for all user data
+ *   organized as Projects and Experiment within them.
+ *
+ * The Experiment data model is divided into 6 categories: experiment 
metadata, experiment configuration
+ *   data, experiment generated data, experiment monitoring data, provenance 
data and error handling data.
+ *
+ *
+*/
+
+struct Group {
+    1: required string groupName,
+    2: optional string description
+}
+
+struct Project {
+    1: required string projectID = experimentModel.DEFUALT_PROJECT_NAME,
+    2: required string owner,
+    3: required string name,
+    4: optional string description
+    5: optional i64 creationTime
+    6: optional list<string> sharedUsers,
+    7: optional list<string> sharedGroups
+}
+
+struct User {
+    1: required string userName,
+    2: optional list<Group> groupList
+}
+
+struct Gateway {
+    1: required string gatewayId = DEFUALT_ID
+    2: required string name,
+}
\ No newline at end of file

Reply via email to