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:08:45 UTC

[27/47] git commit: Added c++ client samples for integrattion of airavata with any other application's c++ interface

Added c++ client samples for integrattion of airavata with any other application's c++ interface


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

Branch: refs/heads/master
Commit: f891b7dcbc7ce214fa9a0e2b1e73f2fd2c838e24
Parents: 210ebad
Author: ixxi-2013 <na...@gmail.com>
Authored: Thu Jul 10 18:19:55 2014 +0200
Committer: ixxi-2013 <na...@gmail.com>
Committed: Thu Jul 10 18:19:55 2014 +0200

----------------------------------------------------------------------
 .../airavata-client-properties.ini              |     6 +
 .../main/resources/client samples/compile.sh    |     5 +
 .../main/resources/client samples/compile.sh~   |     5 +
 .../resources/client samples/createExperiment   |   Bin 0 -> 2015358 bytes
 .../client samples/createExperiment.cpp         |   162 +
 .../client samples/createExperiment.cpp~        |   161 +
 .../main/resources/client samples/createProject |   Bin 0 -> 2007964 bytes
 .../resources/client samples/createProject.cpp  |   105 +
 .../resources/client samples/createProject.cpp~ |   105 +
 .../client samples/getExperimentOutputs         |   Bin 0 -> 2007971 bytes
 .../client samples/getExperimentOutputs.cpp     |   108 +
 .../client samples/getExperimentOutputs.cpp~    |   108 +
 .../client samples/getExperimentStatus          |   Bin 0 -> 2007970 bytes
 .../client samples/getExperimentStatus.cpp      |   105 +
 .../client samples/getExperimentStatus.cpp~     |   105 +
 .../resources/client samples/launchExperiment   |   Bin 0 -> 2007967 bytes
 .../client samples/launchExperiment.cpp         |   104 +
 .../client samples/launchExperiment.cpp~        |   104 +
 .../src/main/resources/client samples/test.cpp~ |    55 +
 .../src/main/resources/client samples/test:c~   |     0
 .../main/resources/lib/airavata/Airavata.cpp    | 26734 +++++++++++++++++
 .../src/main/resources/lib/airavata/Airavata.h  | 11188 +++++++
 .../lib/airavata/Airavata_server.skeleton.cpp   |   399 +
 .../lib/airavata/ApplicationCatalogAPI.cpp      |  9387 ++++++
 .../lib/airavata/ApplicationCatalogAPI.h        |  4069 +++
 .../ApplicationCatalogAPI_server.skeleton.cpp   |   169 +
 .../main/resources/lib/airavata/Workflow.cpp    |  2497 ++
 .../src/main/resources/lib/airavata/Workflow.h  |  1154 +
 .../lib/airavata/Workflow_server.skeleton.cpp   |    74 +
 .../lib/airavata/airavataAPI_constants.cpp      |    19 +
 .../lib/airavata/airavataAPI_constants.h        |    25 +
 .../lib/airavata/airavataAPI_types.cpp          |    13 +
 .../resources/lib/airavata/airavataAPI_types.h  |    30 +
 .../airavata/airavataDataModel_constants.cpp    |    17 +
 .../lib/airavata/airavataDataModel_constants.h  |    24 +
 .../lib/airavata/airavataDataModel_types.cpp    |    13 +
 .../lib/airavata/airavataDataModel_types.h      |    24 +
 .../lib/airavata/airavataErrors_constants.cpp   |    17 +
 .../lib/airavata/airavataErrors_constants.h     |    24 +
 .../lib/airavata/airavataErrors_types.cpp       |   820 +
 .../lib/airavata/airavataErrors_types.h         |   509 +
 .../applicationCatalogAPI_constants.cpp         |    19 +
 .../airavata/applicationCatalogAPI_constants.h  |    25 +
 .../airavata/applicationCatalogAPI_types.cpp    |    13 +
 .../lib/airavata/applicationCatalogAPI_types.h  |    27 +
 .../applicationCatalogDataModel_constants.cpp   |    19 +
 .../applicationCatalogDataModel_constants.h     |    25 +
 .../applicationCatalogDataModel_types.cpp       |  1327 +
 .../applicationCatalogDataModel_types.h         |   713 +
 .../applicationDeploymentModel_constants.cpp    |    19 +
 .../applicationDeploymentModel_constants.h      |    25 +
 .../applicationDeploymentModel_types.cpp        |   497 +
 .../airavata/applicationDeploymentModel_types.h |   275 +
 .../applicationInterfaceModel_constants.cpp     |    19 +
 .../applicationInterfaceModel_constants.h       |    25 +
 .../applicationInterfaceModel_types.cpp         |   470 +
 .../airavata/applicationInterfaceModel_types.h  |   298 +
 .../airavata/computeResourceModel_constants.cpp |    19 +
 .../airavata/computeResourceModel_constants.h   |    25 +
 .../lib/airavata/computeResourceModel_types.cpp |  1515 +
 .../lib/airavata/computeResourceModel_types.h   |   842 +
 .../lib/airavata/experimentModel_constants.cpp  |    23 +
 .../lib/airavata/experimentModel_constants.h    |    27 +
 .../lib/airavata/experimentModel_types.cpp      |  3339 ++
 .../lib/airavata/experimentModel_types.cpp~     |  3339 ++
 .../lib/airavata/experimentModel_types.h        |  2077 ++
 .../airavata/gatewayProfileModel_constants.cpp  |    19 +
 .../airavata/gatewayProfileModel_constants.h    |    25 +
 .../lib/airavata/gatewayProfileModel_types.cpp  |   293 +
 .../lib/airavata/gatewayProfileModel_types.h    |   197 +
 .../gatewayResourceProfileModel_constants.cpp   |    19 +
 .../gatewayResourceProfileModel_constants.h     |    25 +
 .../gatewayResourceProfileModel_types.cpp       |   293 +
 .../gatewayResourceProfileModel_types.h         |   197 +
 .../lib/airavata/workflowAPI_constants.cpp      |    19 +
 .../lib/airavata/workflowAPI_constants.h        |    25 +
 .../lib/airavata/workflowAPI_types.cpp          |    13 +
 .../resources/lib/airavata/workflowAPI_types.h  |    30 +
 .../airavata/workflowDataModel_constants.cpp    |    19 +
 .../lib/airavata/workflowDataModel_constants.h  |    25 +
 .../lib/airavata/workflowDataModel_types.cpp    |   108 +
 .../lib/airavata/workflowDataModel_types.h      |    82 +
 .../lib/airavata/workspaceModel_constants.cpp   |    17 +
 .../lib/airavata/workspaceModel_constants.h     |    24 +
 .../lib/airavata/workspaceModel_types.cpp       |   464 +
 .../lib/airavata/workspaceModel_types.h         |   273 +
 .../lib/thrift/TApplicationException.cpp        |    80 +
 .../lib/thrift/TApplicationException.h          |   115 +
 .../resources/lib/thrift/TDispatchProcessor.h   |   142 +
 .../src/main/resources/lib/thrift/TLogging.h    |   193 +
 .../src/main/resources/lib/thrift/TProcessor.h  |   233 +
 .../resources/lib/thrift/TReflectionLocal.h     |    96 +
 .../src/main/resources/lib/thrift/Thrift.cpp    |   125 +
 .../src/main/resources/lib/thrift/Thrift.h      |   202 +
 .../resources/lib/thrift/VirtualProfiling.cpp   |   455 +
 .../lib/thrift/async/TAsyncBufferProcessor.h    |    46 +
 .../lib/thrift/async/TAsyncChannel.cpp          |    34 +
 .../resources/lib/thrift/async/TAsyncChannel.h  |    66 +
 .../lib/thrift/async/TAsyncDispatchProcessor.h  |   149 +
 .../lib/thrift/async/TAsyncProcessor.h          |    97 +
 .../thrift/async/TAsyncProtocolProcessor.cpp    |    51 +
 .../lib/thrift/async/TAsyncProtocolProcessor.h  |    57 +
 .../lib/thrift/async/TEvhttpClientChannel.cpp   |   162 +
 .../lib/thrift/async/TEvhttpClientChannel.h     |    76 +
 .../lib/thrift/async/TEvhttpServer.cpp          |   169 +
 .../resources/lib/thrift/async/TEvhttpServer.h  |    71 +
 .../lib/thrift/concurrency/BoostMonitor.cpp     |   211 +
 .../lib/thrift/concurrency/BoostMutex.cpp       |    56 +
 .../thrift/concurrency/BoostThreadFactory.cpp   |   180 +
 .../lib/thrift/concurrency/BoostThreadFactory.h |    75 +
 .../lib/thrift/concurrency/Exception.h          |    64 +
 .../lib/thrift/concurrency/FunctionRunner.h     |   121 +
 .../lib/thrift/concurrency/Monitor.cpp          |   221 +
 .../resources/lib/thrift/concurrency/Monitor.h  |   130 +
 .../resources/lib/thrift/concurrency/Mutex.cpp  |   353 +
 .../resources/lib/thrift/concurrency/Mutex.h    |   188 +
 .../thrift/concurrency/PlatformThreadFactory.h  |    44 +
 .../thrift/concurrency/PosixThreadFactory.cpp   |   341 +
 .../lib/thrift/concurrency/PosixThreadFactory.h |   130 +
 .../lib/thrift/concurrency/StdMonitor.cpp       |   217 +
 .../lib/thrift/concurrency/StdMutex.cpp         |    55 +
 .../lib/thrift/concurrency/StdThreadFactory.cpp |   171 +
 .../lib/thrift/concurrency/StdThreadFactory.h   |    72 +
 .../resources/lib/thrift/concurrency/Thread.h   |   152 +
 .../lib/thrift/concurrency/ThreadManager.cpp    |   583 +
 .../lib/thrift/concurrency/ThreadManager.h      |   202 +
 .../lib/thrift/concurrency/TimerManager.cpp     |   305 +
 .../lib/thrift/concurrency/TimerManager.h       |   130 +
 .../resources/lib/thrift/concurrency/Util.cpp   |    41 +
 .../resources/lib/thrift/concurrency/Util.h     |   152 +
 .../src/main/resources/lib/thrift/config.h      |   427 +
 .../main/resources/lib/thrift/cxxfunctional.h   |   126 +
 .../lib/thrift/processor/PeekProcessor.cpp      |   127 +
 .../lib/thrift/processor/PeekProcessor.h        |    78 +
 .../lib/thrift/processor/StatsProcessor.h       |   266 +
 .../thrift/processor/TMultiplexedProcessor.h    |   218 +
 .../lib/thrift/protocol/TBase64Utils.cpp        |    79 +
 .../lib/thrift/protocol/TBase64Utils.h          |    42 +
 .../lib/thrift/protocol/TBinaryProtocol.h       |   282 +
 .../lib/thrift/protocol/TBinaryProtocol.tcc     |   465 +
 .../lib/thrift/protocol/TCompactProtocol.h      |   289 +
 .../lib/thrift/protocol/TCompactProtocol.tcc    |   818 +
 .../lib/thrift/protocol/TDebugProtocol.cpp      |   358 +
 .../lib/thrift/protocol/TDebugProtocol.h        |   227 +
 .../lib/thrift/protocol/TDenseProtocol.cpp      |   768 +
 .../lib/thrift/protocol/TDenseProtocol.h        |   254 +
 .../lib/thrift/protocol/TJSONProtocol.cpp       |  1023 +
 .../lib/thrift/protocol/TJSONProtocol.h         |   339 +
 .../thrift/protocol/TMultiplexedProtocol.cpp    |    47 +
 .../lib/thrift/protocol/TMultiplexedProtocol.h  |   103 +
 .../resources/lib/thrift/protocol/TProtocol.h   |   697 +
 .../lib/thrift/protocol/TProtocolDecorator.h    |   133 +
 .../lib/thrift/protocol/TProtocolException.h    |   104 +
 .../lib/thrift/protocol/TProtocolTap.h          |   188 +
 .../lib/thrift/protocol/TVirtualProtocol.h      |   564 +
 .../lib/thrift/qt/TQIODeviceTransport.cpp       |   179 +
 .../lib/thrift/qt/TQIODeviceTransport.h         |    64 +
 .../resources/lib/thrift/qt/TQTcpServer.cpp     |   157 +
 .../main/resources/lib/thrift/qt/TQTcpServer.h  |    72 +
 .../resources/lib/thrift/qt/moc_TQTcpServer.cpp |   100 +
 .../lib/thrift/server/TNonblockingServer.cpp    |  1567 +
 .../lib/thrift/server/TNonblockingServer.h      |   944 +
 .../resources/lib/thrift/server/TServer.cpp     |    47 +
 .../main/resources/lib/thrift/server/TServer.h  |   315 +
 .../lib/thrift/server/TSimpleServer.cpp         |   153 +
 .../resources/lib/thrift/server/TSimpleServer.h |   102 +
 .../lib/thrift/server/TThreadPoolServer.cpp     |   211 +
 .../lib/thrift/server/TThreadPoolServer.h       |   136 +
 .../lib/thrift/server/TThreadedServer.cpp       |   241 +
 .../lib/thrift/server/TThreadedServer.h         |   145 +
 .../src/main/resources/lib/thrift/stamp-h2      |     1 +
 .../main/resources/lib/thrift/thrift-config.h   |    24 +
 .../lib/thrift/transport/PlatformSocket.h       |    96 +
 .../lib/thrift/transport/TBufferTransports.cpp  |   391 +
 .../lib/thrift/transport/TBufferTransports.h    |   735 +
 .../lib/thrift/transport/TFDTransport.cpp       |    97 +
 .../lib/thrift/transport/TFDTransport.h         |    75 +
 .../lib/thrift/transport/TFileTransport.cpp     |  1069 +
 .../lib/thrift/transport/TFileTransport.h       |   474 +
 .../lib/thrift/transport/THttpClient.cpp        |   117 +
 .../lib/thrift/transport/THttpClient.h          |    49 +
 .../lib/thrift/transport/THttpServer.cpp        |   152 +
 .../lib/thrift/transport/THttpServer.h          |    64 +
 .../lib/thrift/transport/THttpTransport.cpp     |   252 +
 .../lib/thrift/transport/THttpTransport.h       |   107 +
 .../resources/lib/thrift/transport/TPipe.cpp    |   217 +
 .../main/resources/lib/thrift/transport/TPipe.h |    96 +
 .../lib/thrift/transport/TPipeServer.cpp        |   402 +
 .../lib/thrift/transport/TPipeServer.h          |    93 +
 .../lib/thrift/transport/TSSLServerSocket.cpp   |    47 +
 .../lib/thrift/transport/TSSLServerSocket.h     |    59 +
 .../lib/thrift/transport/TSSLSocket.cpp         |   671 +
 .../resources/lib/thrift/transport/TSSLSocket.h |   315 +
 .../lib/thrift/transport/TServerSocket.cpp      |   490 +
 .../lib/thrift/transport/TServerSocket.h        |    86 +
 .../lib/thrift/transport/TServerTransport.h     |    92 +
 .../lib/thrift/transport/TShortReadTransport.h  |    97 +
 .../thrift/transport/TSimpleFileTransport.cpp   |    67 +
 .../lib/thrift/transport/TSimpleFileTransport.h |    41 +
 .../resources/lib/thrift/transport/TSocket.cpp  |   813 +
 .../resources/lib/thrift/transport/TSocket.h    |   309 +
 .../lib/thrift/transport/TSocketPool.cpp        |   254 +
 .../lib/thrift/transport/TSocketPool.h          |   196 +
 .../resources/lib/thrift/transport/TTransport.h |   270 +
 .../thrift/transport/TTransportException.cpp    |    31 +
 .../lib/thrift/transport/TTransportException.h  |   115 +
 .../lib/thrift/transport/TTransportUtils.cpp    |   178 +
 .../lib/thrift/transport/TTransportUtils.h      |   330 +
 .../lib/thrift/transport/TVirtualTransport.h    |   146 +
 .../lib/thrift/transport/TZlibTransport.cpp     |   399 +
 .../lib/thrift/transport/TZlibTransport.h       |   249 +
 .../lib/thrift/windows/GetTimeOfDay.cpp         |   112 +
 .../resources/lib/thrift/windows/GetTimeOfDay.h |    43 +
 .../resources/lib/thrift/windows/Operators.h    |    40 +
 .../resources/lib/thrift/windows/SocketPair.cpp |   102 +
 .../resources/lib/thrift/windows/SocketPair.h   |    37 +
 .../resources/lib/thrift/windows/StdAfx.cpp     |     0
 .../main/resources/lib/thrift/windows/StdAfx.h  |     0
 .../lib/thrift/windows/TWinsockSingleton.cpp    |    73 +
 .../lib/thrift/windows/TWinsockSingleton.h      |    88 +
 .../lib/thrift/windows/TargetVersion.h          |     0
 .../resources/lib/thrift/windows/WinFcntl.cpp   |   104 +
 .../resources/lib/thrift/windows/WinFcntl.h     |    48 +
 .../main/resources/lib/thrift/windows/config.h  |    90 +
 .../resources/lib/thrift/windows/force_inc.h    |     0
 .../resources/lib/thrift/windows/tr1/functional |     0
 226 files changed, 105384 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/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..132c3f4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini	
@@ -0,0 +1,6 @@
+[airavata]
+AIRAVATA_SERVER = "localhost"
+AIRAVATA_PORT = 8930
+AIRAVATA_TIMEOUT = 5000
+APP_CATALOG_SERVER = "gw111.iu.xsede.org"
+APP_CATALOG_PORT = 8931

http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/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/f891b7dc/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..a4286ee
--- /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/f891b7dc/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..3aba779
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/f891b7dc/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..7a899e7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp	
@@ -0,0 +1,162 @@
+#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 !=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/f891b7dc/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..b82e995
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp~	
@@ -0,0 +1,161 @@
+#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, char*& airavata_server, char*& 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 !=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/f891b7dc/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..4bf3bd2
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/f891b7dc/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/f891b7dc/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..6e28622
--- /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] [name]";
+					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/f891b7dc/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..8d16b5f
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/f891b7dc/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/f891b7dc/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..6b6eab7
--- /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;
+				}
+				transport->close();
+				
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/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..cff68b0
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/f891b7dc/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/f891b7dc/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..39b15a4
--- /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;
+				transport->close();
+				
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/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..05d75e0
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/f891b7dc/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();
+				
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/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..a7a7551
--- /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 [experiment ID]";
+					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/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~
new file mode 100644
index 0000000..24bf1af
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~	
@@ -0,0 +1,55 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+
+#include <thrift/transport/TSocket.h>
+#include <thrift/transport/TBufferTransports.h>
+#include <thrift/protocol/TBinaryProtocol.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"
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+
+ 
+int main(int argc, char **argv) {
+	boost::shared_ptr<TSocket> socket(new TSocket("localhost", 8930));
+  			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;
+				project.owner=argv[1];
+				project.name=argv[2];
+				std::string _return;
+				airavataclient.createProject(_return,project);
+				cout << _return;
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test:c~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test:c~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test:c~
new file mode 100644
index 0000000..e69de29