You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2014/07/12 06:09:02 UTC

[44/47] git commit: renamed client samples to client_samples

renamed client samples to client_samples


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

Branch: refs/heads/master
Commit: bceaed3aba8b7d5c4a5cb006ff915f8274cafc32
Parents: ff8f14c
Author: ixxi-2013 <na...@gmail.com>
Authored: Sat Jul 12 04:45:48 2014 +0200
Committer: ixxi-2013 <na...@gmail.com>
Committed: Sat Jul 12 04:45:48 2014 +0200

----------------------------------------------------------------------
 .../airavata-client-properties.ini              |   4 +
 .../airavata-client-properties.ini~             |   4 +
 .../main/resources/client_samples/compile.sh    |   5 +
 .../main/resources/client_samples/compile.sh~   |   5 +
 .../resources/client_samples/createExperiment   | Bin 0 -> 2015352 bytes
 .../client_samples/createExperiment.cpp         | 157 +++++++++++++++++++
 .../client_samples/createExperiment.cpp~        | 157 +++++++++++++++++++
 .../main/resources/client_samples/createProject | Bin 0 -> 2003862 bytes
 .../resources/client_samples/createProject.cpp  | 100 ++++++++++++
 .../resources/client_samples/createProject.cpp~ | 105 +++++++++++++
 .../client_samples/getExperimentOutputs         | Bin 0 -> 2007965 bytes
 .../client_samples/getExperimentOutputs.cpp     | 104 ++++++++++++
 .../client_samples/getExperimentOutputs.cpp~    | 108 +++++++++++++
 .../client_samples/getExperimentStatus          | Bin 0 -> 2003868 bytes
 .../client_samples/getExperimentStatus.cpp      | 101 ++++++++++++
 .../client_samples/getExperimentStatus.cpp~     | 105 +++++++++++++
 .../resources/client_samples/launchExperiment   | Bin 0 -> 2007961 bytes
 .../client_samples/launchExperiment.cpp         |  99 ++++++++++++
 .../client_samples/launchExperiment.cpp~        | 104 ++++++++++++
 19 files changed, 1158 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini
new file mode 100644
index 0000000..b0335fd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini
@@ -0,0 +1,4 @@
+[airavata]
+AIRAVATA_SERVER = "localhost"
+AIRAVATA_PORT = 9930
+AIRAVATA_TIMEOUT = 5000

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~
new file mode 100644
index 0000000..b2e2095
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~
@@ -0,0 +1,4 @@
+[airavata]
+AIRAVATA_SERVER = "localhost"
+AIRAVATA_PORT = 8930
+AIRAVATA_TIMEOUT = 5000

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh
new file mode 100755
index 0000000..05e21b5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh
@@ -0,0 +1,5 @@
+g++ -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings   -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H  `pkg-config --cflags glib-2.0` createProject.cpp `pkg-config --libs glib-2.0` -lthrift -o createProject
+g++ -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings   -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H  `pkg-config --cflags glib-2.0` createExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o createExperiment
+g++ -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings   -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H  `pkg-config --cflags glib-2.0` launchExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o launchExperiment
+g++ -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings   -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H  `pkg-config --cflags glib-2.0` getExperimentStatus.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentStatus
+g++ -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings   -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H  `pkg-config --cflags glib-2.0` getExperimentOutputs.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentOutputs

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~
new file mode 100755
index 0000000..5d3bf8f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~
@@ -0,0 +1,5 @@
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings   -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H  `pkg-config --cflags glib-2.0` createProject.cpp `pkg-config --libs glib-2.0` -lthrift -o createProject
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings   -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H  `pkg-config --cflags glib-2.0` createExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o createExperiment
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings   -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H  `pkg-config --cflags glib-2.0` launchExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o launchExperiment
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings   -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H  `pkg-config --cflags glib-2.0` getExperimentStatus.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentStatus
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings   -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H  `pkg-config --cflags glib-2.0` getExperimentOutputs.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentOutputs

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment
new file mode 100755
index 0000000..05a09f0
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment differ

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp
new file mode 100644
index 0000000..8d43ddc
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp
@@ -0,0 +1,157 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+        gchar *airavata_server;
+        gint airavata_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+        Settings *conf;
+        GKeyFile *keyfile;
+        GKeyFileFlags flags;
+        GError *error = NULL;        
+        keyfile = g_key_file_new ();        				
+        if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+                g_error (error->message);
+        } else {                
+                conf = g_slice_new (Settings);
+                conf->airavata_server    = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+                airavata_server = conf->airavata_server;
+                conf->airavata_port      = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+                airavata_port = conf->airavata_port;
+                conf->airavata_timeout  = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+                airavata_timeout = conf->airavata_timeout;                
+        }				
+
+}
+
+
+int main(int argc, char **argv)
+{
+        
+        int airavata_port, airavata_timeout;
+        string airavata_server;
+				char* cfgfile;
+				cfgfile = "./airavata-client-properties.ini";
+        readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);				
+				airavata_server.erase(0,1);
+				airavata_server.erase(airavata_server.length()-1,1);			
+			  boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+				socket->setSendTimeout(airavata_timeout);
+  			boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));	
+  			boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+				AiravataClient airavataclient(protocol);
+				transport->open();
+				
+				if(argc !=4){
+					cout << "Usage: ./createExperiment <username> <experiment_name> <project_ID>";
+					return 0;
+				}
+				/* ComputationalResourceScheduling data for Trestles*/
+        ComputationalResourceScheduling cmRST;
+        cmRST.__set_resourceHostId("trestles.sdsc.edu");
+        cmRST.__set_computationalProjectAccount("sds128");
+        cmRST.__set_totalCPUCount(1);
+        cmRST.__set_nodeCount(1);
+        cmRST.__set_numberOfThreads(0);
+        cmRST.__set_queueName("normal");
+        cmRST.__set_wallTimeLimit(15);
+        cmRST.__set_jobStartTime(0);
+        cmRST.__set_totalPhysicalMemory(0);
+
+
+				UserConfigurationData userConfigurationData;
+        userConfigurationData.__set_airavataAutoSchedule(0);
+        userConfigurationData.__set_overrideManualScheduledParams(0);
+        userConfigurationData.__set_computationalResourceScheduling(cmRST);
+       
+				
+				/*Application ID for Trestles */
+        char* appId = "SimpleEcho2";        
+
+				 /* Experiment input and output data. */
+        DataObjectType input;
+        input.__set_key("echo_input");
+        input.__set_value("echo_output=Hello World");
+        input.__set_type(DataType::STRING);
+				std::vector<DataObjectType> exInputs;
+				exInputs.push_back(input);				
+        DataObjectType output;
+        output.__set_key("echo_output");
+        output.__set_value("");
+        output.__set_type(DataType::STRING);
+				std::vector<DataObjectType> exOutputs;
+				exOutputs.push_back(output);
+        
+        
+				char* user = argv[1];
+        char* exp_name = argv[2];
+        char* proj = argv[3];
+
+        Experiment experiment;
+        experiment.__set_projectID(proj);
+        experiment.__set_userName(user);
+        experiment.__set_name(exp_name);
+        experiment.__set_applicationId(appId);
+        experiment.__set_userConfigurationData(userConfigurationData);
+        experiment.__set_experimentInputs(exInputs);
+        experiment.__set_experimentOutputs(exOutputs);
+								
+				string _return = "";
+        airavataclient.createExperiment(_return, experiment);
+
+        if (_return!="")
+        {
+            
+            cout << "Experiment " << _return <<" created! \n    ";
+        }
+        else
+        {
+            cout << "Failed to create experiment. \n";
+        }
+				transport->close();
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~
new file mode 100644
index 0000000..f4941df
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~
@@ -0,0 +1,157 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+        gchar *airavata_server;
+        gint airavata_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+        Settings *conf;
+        GKeyFile *keyfile;
+        GKeyFileFlags flags;
+        GError *error = NULL;        
+        keyfile = g_key_file_new ();        				
+        if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+                g_error (error->message);
+        } else {                
+                conf = g_slice_new (Settings);
+                conf->airavata_server    = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+                airavata_server = conf->airavata_server;
+                conf->airavata_port      = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+                airavata_port = conf->airavata_port;
+                conf->airavata_timeout  = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+                airavata_timeout = conf->airavata_timeout;                
+        }				
+
+}
+
+
+int main(int argc, char **argv)
+{
+        
+        int airavata_port, airavata_timeout;
+        string airavata_server;
+				char* cfgfile;
+				cfgfile = "./airavata-client-properties.ini";
+        readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);				
+				airavata_server.erase(0,1);
+				airavata_server.erase(airavata_server.length()-1,1);			
+			  boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+				socket->setSendTimeout(airavata_timeout);
+  			boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));	
+  			boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+				AiravataClient airavataclient(protocol);
+				transport->open();
+				
+				if(argc !=4){
+					cout << "Usage: ./createExperiment <username> <experiment_name> <project_ID>";
+					return 0;
+				}
+				/* ComputationalResourceScheduling data for Trestles*/
+        ComputationalResourceScheduling cmRST;
+        cmRST.__set_resourceHostId("trestles.sdsc.edu");
+        cmRST.__set_computationalProjectAccount("sds128");
+        cmRST.__set_totalCPUCount(1);
+        cmRST.__set_nodeCount(1);
+        cmRST.__set_numberOfThreads(0);
+        cmRST.__set_queueName("normal");
+        cmRST.__set_wallTimeLimit(15);
+        cmRST.__set_jobStartTime(0);
+        cmRST.__set_totalPhysicalMemory(0);
+
+
+				UserConfigurationData userConfigurationData;
+        userConfigurationData.__set_airavataAutoSchedule(0);
+        userConfigurationData.__set_overrideManualScheduledParams(0);
+        userConfigurationData.__set_computationalResourceScheduling(cmRST);
+       
+				
+				/*Application ID for Trestles */
+        char* appId = "SimpleEcho2";        
+
+				 /* Experiment input and output data. */
+        DataObjectType input;
+        input.__set_key("echo_input");
+        input.__set_value("echo_output=Hello World");
+        input.__set_type(DataType::STRING);
+				std::vector<DataObjectType> exInputs;
+				exInputs.push_back(input);				
+        DataObjectType output;
+        output.__set_key("echo_output");
+        output.__set_value("");
+        output.__set_type(DataType::STRING);
+				std::vector<DataObjectType> exOutputs;
+				exOutputs.push_back(output);
+        
+        
+				char* user = argv[1];
+        char* exp_name = argv[2];
+        char* proj = argv[3];
+
+        Experiment experiment;
+        experiment.__set_projectID(proj);
+        experiment.__set_userName(user);
+        experiment.__set_name(exp_name);
+        experiment.__set_applicationId(appId);
+        experiment.__set_userConfigurationData(userConfigurationData);
+        experiment.__set_experimentInputs(exInputs);
+        experiment.__set_experimentOutputs(exOutputs);
+								
+				string _return = "";
+        airavataclient.createExperiment(_return, experiment);
+
+        if (_return!="")
+        {
+            
+            cout << "Experiment " << _return <<" created! \n    ";
+        }
+        else
+        {
+            cout << "Failed to create experiment. \n";
+        }
+				transport->close();
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject
new file mode 100755
index 0000000..d742e86
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject differ

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp
new file mode 100644
index 0000000..b259f58
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp
@@ -0,0 +1,100 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+        gchar *airavata_server, *app_catalog_server;
+        gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+        Settings *conf;
+        GKeyFile *keyfile;
+        GKeyFileFlags flags;
+        GError *error = NULL;        
+        keyfile = g_key_file_new ();        				
+        if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+                g_error (error->message);
+        } else {                
+                conf = g_slice_new (Settings);
+                conf->airavata_server    = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+                airavata_server = conf->airavata_server;
+                conf->airavata_port      = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+                airavata_port = conf->airavata_port;
+                conf->airavata_timeout  = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+                airavata_timeout = conf->airavata_timeout;                
+        }				
+
+}
+
+
+int main(int argc, char **argv)
+{
+        
+        int airavata_port, airavata_timeout;
+        string airavata_server;
+				char* cfgfile;
+				cfgfile = "./airavata-client-properties.ini";
+        readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);				
+				airavata_server.erase(0,1);
+				airavata_server.erase(airavata_server.length()-1,1);			
+			  boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+				socket->setSendTimeout(airavata_timeout);
+  			boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));	
+  			boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+				AiravataClient airavataclient(protocol);
+				transport->open();
+				
+				apache::airavata::model::workspace::Project project;
+				if(argc !=3){
+					cout << "Usage: ./createProject <owner> <projectName>";
+					return 0;
+				}
+				project.owner=argv[1];
+				project.name=argv[2];
+				std::string _return;
+				airavataclient.createProject(_return,project);
+				cout << _return << "\n";
+				transport->close();
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~
new file mode 100644
index 0000000..8e9125c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~
@@ -0,0 +1,105 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+        gchar *airavata_server, *app_catalog_server;
+        gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+        Settings *conf;
+        GKeyFile *keyfile;
+        GKeyFileFlags flags;
+        GError *error = NULL;        
+        keyfile = g_key_file_new ();        				
+        if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+                g_error (error->message);
+        } else {
+                
+                conf = g_slice_new (Settings);
+                conf->airavata_server    = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+                airavata_server = conf->airavata_server;
+                conf->airavata_port      = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+                airavata_port = conf->airavata_port;
+                conf->airavata_timeout  = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+                airavata_timeout = conf->airavata_timeout;
+                conf->app_catalog_server  = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+                app_catalog_server = conf->app_catalog_server;
+                conf->app_catalog_port      = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+                app_catalog_port = conf->app_catalog_port;
+        }				
+
+}
+
+
+int main(int argc, char **argv)
+{
+        
+        int airavata_port, app_catalog_port, airavata_timeout;
+        string airavata_server, app_catalog_server;
+				char* cfgfile;
+				cfgfile = "./airavata-client-properties.ini";
+        readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);				
+				airavata_server.erase(0,1);
+				airavata_server.erase(airavata_server.length()-1,1);			
+			  boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+				socket->setSendTimeout(airavata_timeout);
+  			boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));	
+  			boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+				AiravataClient airavataclient(protocol);
+				transport->open();
+				
+				apache::airavata::model::workspace::Project project;
+				if(argc !=3){
+					cout << "Usage: ./createProject <owner> <projectName>";
+					return 0;
+				}
+				project.owner=argv[1];
+				project.name=argv[2];
+				std::string _return;
+				airavataclient.createProject(_return,project);
+				cout << _return << "\n";
+				transport->close();
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs
new file mode 100755
index 0000000..583fb1d
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs differ

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp
new file mode 100644
index 0000000..9a279ec
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp
@@ -0,0 +1,104 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+        gchar *airavata_server, *app_catalog_server;
+        gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+        Settings *conf;
+        GKeyFile *keyfile;
+        GKeyFileFlags flags;
+        GError *error = NULL;        
+        keyfile = g_key_file_new ();        				
+        if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+                g_error (error->message);
+        } else {                
+                conf = g_slice_new (Settings);
+                conf->airavata_server    = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+                airavata_server = conf->airavata_server;
+                conf->airavata_port      = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+                airavata_port = conf->airavata_port;
+                conf->airavata_timeout  = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+                airavata_timeout = conf->airavata_timeout;                
+        }				
+
+}
+
+
+int main(int argc, char **argv)
+{
+        
+        int airavata_port, airavata_timeout;
+        string airavata_server;
+				char* cfgfile;
+				cfgfile = "./airavata-client-properties.ini";
+        readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);				
+				airavata_server.erase(0,1);
+				airavata_server.erase(airavata_server.length()-1,1);			
+			  boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+				socket->setSendTimeout(airavata_timeout);
+  			boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));	
+  			boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+				AiravataClient airavataclient(protocol);
+				transport->open();
+				
+				
+				if(argc !=2){
+					cout << "Usage: ./getExperimentOutputs <experimentID>";
+					return 0;
+				}
+				char* expId = argv[1];			
+				std::vector<DataObjectType> _return;
+   			airavataclient.getExperimentOutputs(_return, expId);
+				int i;
+				for(i=0; i<_return.size();i++){
+					cout << _return[i].value <<"\n";
+				}
+				transport->close();
+				
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~
new file mode 100644
index 0000000..0264a0c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~
@@ -0,0 +1,108 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+        gchar *airavata_server, *app_catalog_server;
+        gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+        Settings *conf;
+        GKeyFile *keyfile;
+        GKeyFileFlags flags;
+        GError *error = NULL;        
+        keyfile = g_key_file_new ();        				
+        if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+                g_error (error->message);
+        } else {
+                
+                conf = g_slice_new (Settings);
+                conf->airavata_server    = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+                airavata_server = conf->airavata_server;
+                conf->airavata_port      = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+                airavata_port = conf->airavata_port;
+                conf->airavata_timeout  = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+                airavata_timeout = conf->airavata_timeout;
+                conf->app_catalog_server  = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+                app_catalog_server = conf->app_catalog_server;
+                conf->app_catalog_port      = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+                app_catalog_port = conf->app_catalog_port;
+        }				
+
+}
+
+int main(int argc, char **argv)
+{
+        
+        int airavata_port, app_catalog_port, airavata_timeout;
+        string airavata_server, app_catalog_server;
+				char* cfgfile;
+				cfgfile = "./airavata-client-properties.ini";
+        readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);				
+				airavata_server.erase(0,1);
+				airavata_server.erase(airavata_server.length()-1,1);			
+			  boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+				socket->setSendTimeout(airavata_timeout);
+  			boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));	
+  			boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+				AiravataClient airavataclient(protocol);
+				transport->open();
+				
+				
+				if(argc !=2){
+					cout << "Usage: ./getExperimentOutputs <experimentID>";
+					return 0;
+				}
+				char* expId = argv[1];			
+				std::vector<DataObjectType> _return;
+   			airavataclient.getExperimentOutputs(_return, expId);
+				int i;
+				for(i=0; i<_return.size();i++){
+					cout << _return[i].value <<"\n";
+				}
+				transport->close();
+				
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus
new file mode 100755
index 0000000..17821bf
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus differ

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp
new file mode 100644
index 0000000..611ddac
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp
@@ -0,0 +1,101 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+        gchar *airavata_server, *app_catalog_server;
+        gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+        Settings *conf;
+        GKeyFile *keyfile;
+        GKeyFileFlags flags;
+        GError *error = NULL;        
+        keyfile = g_key_file_new ();        				
+        if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+                g_error (error->message);
+        } else {                
+                conf = g_slice_new (Settings);
+                conf->airavata_server    = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+                airavata_server = conf->airavata_server;
+                conf->airavata_port      = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+                airavata_port = conf->airavata_port;
+                conf->airavata_timeout  = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+                airavata_timeout = conf->airavata_timeout;                
+        }				
+
+}
+
+
+int main(int argc, char **argv)
+{
+        
+        int airavata_port, airavata_timeout;
+        string airavata_server;
+				char* cfgfile;
+				cfgfile = "./airavata-client-properties.ini";
+        readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);				
+				airavata_server.erase(0,1);
+				airavata_server.erase(airavata_server.length()-1,1);			
+			  boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+				socket->setSendTimeout(airavata_timeout);
+  			boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));	
+  			boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+				AiravataClient airavataclient(protocol);
+				transport->open();
+				
+				
+				if(argc !=2){
+					cout << "Usage: ./getExperimentStatus <experimentID>";
+					return 0;
+				}
+				char* expId = argv[1];			
+				ExperimentStatus _return;		
+   			airavataclient.getExperimentStatus(_return, expId);
+   			cout << _return.experimentState <<"\n";
+				transport->close();
+				
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~
new file mode 100644
index 0000000..75c44ee
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~
@@ -0,0 +1,105 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+        gchar *airavata_server, *app_catalog_server;
+        gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+        Settings *conf;
+        GKeyFile *keyfile;
+        GKeyFileFlags flags;
+        GError *error = NULL;        
+        keyfile = g_key_file_new ();        				
+        if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+                g_error (error->message);
+        } else {
+                
+                conf = g_slice_new (Settings);
+                conf->airavata_server    = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+                airavata_server = conf->airavata_server;
+                conf->airavata_port      = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+                airavata_port = conf->airavata_port;
+                conf->airavata_timeout  = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+                airavata_timeout = conf->airavata_timeout;
+                conf->app_catalog_server  = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+                app_catalog_server = conf->app_catalog_server;
+                conf->app_catalog_port      = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+                app_catalog_port = conf->app_catalog_port;
+        }				
+
+}
+
+int main(int argc, char **argv)
+{
+        
+        int airavata_port, app_catalog_port, airavata_timeout;
+        string airavata_server, app_catalog_server;
+				char* cfgfile;
+				cfgfile = "./airavata-client-properties.ini";
+        readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);				
+				airavata_server.erase(0,1);
+				airavata_server.erase(airavata_server.length()-1,1);			
+			  boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+				socket->setSendTimeout(airavata_timeout);
+  			boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));	
+  			boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+				AiravataClient airavataclient(protocol);
+				transport->open();
+				
+				
+				if(argc !=2){
+					cout << "Usage: ./getExperimentStatus <experimentID>";
+					return 0;
+				}
+				char* expId = argv[1];			
+				ExperimentStatus _return;		
+   			airavataclient.getExperimentStatus(_return, expId);
+   			cout << _return.experimentState <<"\n";
+				transport->close();
+				
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment
new file mode 100755
index 0000000..145de0a
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment differ

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp
new file mode 100644
index 0000000..8c26881
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp
@@ -0,0 +1,99 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+        gchar *airavata_server, *app_catalog_server;
+        gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+        Settings *conf;
+        GKeyFile *keyfile;
+        GKeyFileFlags flags;
+        GError *error = NULL;        
+        keyfile = g_key_file_new ();        				
+        if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+                g_error (error->message);
+        } else {                
+                conf = g_slice_new (Settings);
+                conf->airavata_server    = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+                airavata_server = conf->airavata_server;
+                conf->airavata_port      = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+                airavata_port = conf->airavata_port;
+                conf->airavata_timeout  = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+                airavata_timeout = conf->airavata_timeout;                
+        }				
+
+}
+
+
+int main(int argc, char **argv)
+{
+        
+        int airavata_port, airavata_timeout;
+        string airavata_server;
+				char* cfgfile;
+				cfgfile = "./airavata-client-properties.ini";
+        readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);				
+				airavata_server.erase(0,1);
+				airavata_server.erase(airavata_server.length()-1,1);			
+			  boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+				socket->setSendTimeout(airavata_timeout);
+  			boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));	
+  			boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+				AiravataClient airavataclient(protocol);
+				transport->open();
+				
+				
+				if(argc !=2){
+					cout << "Usage: ./launchExperiment <experimentID>";
+					return 0;
+				}
+				char* expId = argv[1];					
+   			airavataclient.launchExperiment(expId, "airavataToken");
+   			cout << "Experiment " << expId << " is launched.\n";
+				transport->close();
+				
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~
new file mode 100644
index 0000000..d3b8337
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~
@@ -0,0 +1,104 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+        gchar *airavata_server, *app_catalog_server;
+        gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+        Settings *conf;
+        GKeyFile *keyfile;
+        GKeyFileFlags flags;
+        GError *error = NULL;        
+        keyfile = g_key_file_new ();        				
+        if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+                g_error (error->message);
+        } else {
+                
+                conf = g_slice_new (Settings);
+                conf->airavata_server    = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+                airavata_server = conf->airavata_server;
+                conf->airavata_port      = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+                airavata_port = conf->airavata_port;
+                conf->airavata_timeout  = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+                airavata_timeout = conf->airavata_timeout;
+                conf->app_catalog_server  = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+                app_catalog_server = conf->app_catalog_server;
+                conf->app_catalog_port      = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+                app_catalog_port = conf->app_catalog_port;
+        }				
+
+}
+
+
+int main(int argc, char **argv)
+{
+        
+        int airavata_port, app_catalog_port, airavata_timeout;
+        string airavata_server, app_catalog_server;
+				char* cfgfile;
+				cfgfile = "./airavata-client-properties.ini";
+        readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);				
+				airavata_server.erase(0,1);
+				airavata_server.erase(airavata_server.length()-1,1);			
+			  boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+				socket->setSendTimeout(airavata_timeout);
+  			boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));	
+  			boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+				AiravataClient airavataclient(protocol);
+				transport->open();
+				
+				
+				if(argc !=2){
+					cout << "Usage: ./launchExperiment <experimentID>";
+					return 0;
+				}
+				char* expId = argv[1];					
+   			airavataclient.launchExperiment(expId, "airavataToken");
+   			cout << "Experiment " << expId << " is launched.\n";
+				transport->close();
+				
+}