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 2015/07/21 06:41:44 UTC

[01/44] airavata git commit: changing few API methods to adhere to security solution.

Repository: airavata
Updated Branches:
  refs/heads/master 7211c2f70 -> 796fc3da4


http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/ttypes.py
new file mode 100644
index 0000000..476e97c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/ttypes.py
@@ -0,0 +1,178 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+
+class ComputationalResourceSchedulingModel:
+  """
+  ComputationalResourceSchedulingModel:
+
+
+
+  Attributes:
+   - resourceHostId
+   - totalCPUCount
+   - nodeCount
+   - numberOfThreads
+   - queueName
+   - wallTimeLimit
+   - totalPhysicalMemory
+   - chessisNumber
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'resourceHostId', None, None, ), # 1
+    (2, TType.I32, 'totalCPUCount', None, None, ), # 2
+    (3, TType.I32, 'nodeCount', None, None, ), # 3
+    (4, TType.I32, 'numberOfThreads', None, None, ), # 4
+    (5, TType.STRING, 'queueName', None, None, ), # 5
+    (6, TType.I32, 'wallTimeLimit', None, None, ), # 6
+    (7, TType.I32, 'totalPhysicalMemory', None, None, ), # 7
+    (8, TType.STRING, 'chessisNumber', None, None, ), # 8
+  )
+
+  def __init__(self, resourceHostId=None, totalCPUCount=None, nodeCount=None, numberOfThreads=None, queueName=None, wallTimeLimit=None, totalPhysicalMemory=None, chessisNumber=None,):
+    self.resourceHostId = resourceHostId
+    self.totalCPUCount = totalCPUCount
+    self.nodeCount = nodeCount
+    self.numberOfThreads = numberOfThreads
+    self.queueName = queueName
+    self.wallTimeLimit = wallTimeLimit
+    self.totalPhysicalMemory = totalPhysicalMemory
+    self.chessisNumber = chessisNumber
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.resourceHostId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.totalCPUCount = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.I32:
+          self.nodeCount = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I32:
+          self.numberOfThreads = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.queueName = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.I32:
+          self.wallTimeLimit = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.I32:
+          self.totalPhysicalMemory = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.chessisNumber = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ComputationalResourceSchedulingModel')
+    if self.resourceHostId is not None:
+      oprot.writeFieldBegin('resourceHostId', TType.STRING, 1)
+      oprot.writeString(self.resourceHostId)
+      oprot.writeFieldEnd()
+    if self.totalCPUCount is not None:
+      oprot.writeFieldBegin('totalCPUCount', TType.I32, 2)
+      oprot.writeI32(self.totalCPUCount)
+      oprot.writeFieldEnd()
+    if self.nodeCount is not None:
+      oprot.writeFieldBegin('nodeCount', TType.I32, 3)
+      oprot.writeI32(self.nodeCount)
+      oprot.writeFieldEnd()
+    if self.numberOfThreads is not None:
+      oprot.writeFieldBegin('numberOfThreads', TType.I32, 4)
+      oprot.writeI32(self.numberOfThreads)
+      oprot.writeFieldEnd()
+    if self.queueName is not None:
+      oprot.writeFieldBegin('queueName', TType.STRING, 5)
+      oprot.writeString(self.queueName)
+      oprot.writeFieldEnd()
+    if self.wallTimeLimit is not None:
+      oprot.writeFieldBegin('wallTimeLimit', TType.I32, 6)
+      oprot.writeI32(self.wallTimeLimit)
+      oprot.writeFieldEnd()
+    if self.totalPhysicalMemory is not None:
+      oprot.writeFieldBegin('totalPhysicalMemory', TType.I32, 7)
+      oprot.writeI32(self.totalPhysicalMemory)
+      oprot.writeFieldEnd()
+    if self.chessisNumber is not None:
+      oprot.writeFieldBegin('chessisNumber', TType.STRING, 8)
+      oprot.writeString(self.chessisNumber)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.resourceHostId)
+    value = (value * 31) ^ hash(self.totalCPUCount)
+    value = (value * 31) ^ hash(self.nodeCount)
+    value = (value * 31) ^ hash(self.numberOfThreads)
+    value = (value * 31) ^ hash(self.queueName)
+    value = (value * 31) ^ hash(self.wallTimeLimit)
+    value = (value * 31) ^ hash(self.totalPhysicalMemory)
+    value = (value * 31) ^ hash(self.chessisNumber)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/constants.py
new file mode 100644
index 0000000..99717a9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/ttypes.py
new file mode 100644
index 0000000..35540cf
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/ttypes.py
@@ -0,0 +1,108 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+
+class AuthzToken:
+  """
+  Attributes:
+   - accessToken
+   - claimsMap
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'accessToken', None, None, ), # 1
+    (2, TType.MAP, 'claimsMap', (TType.STRING,None,TType.STRING,None), None, ), # 2
+  )
+
+  def __init__(self, accessToken=None, claimsMap=None,):
+    self.accessToken = accessToken
+    self.claimsMap = claimsMap
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.accessToken = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.MAP:
+          self.claimsMap = {}
+          (_ktype1, _vtype2, _size0 ) = iprot.readMapBegin()
+          for _i4 in xrange(_size0):
+            _key5 = iprot.readString();
+            _val6 = iprot.readString();
+            self.claimsMap[_key5] = _val6
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('AuthzToken')
+    if self.accessToken is not None:
+      oprot.writeFieldBegin('accessToken', TType.STRING, 1)
+      oprot.writeString(self.accessToken)
+      oprot.writeFieldEnd()
+    if self.claimsMap is not None:
+      oprot.writeFieldBegin('claimsMap', TType.MAP, 2)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.claimsMap))
+      for kiter7,viter8 in self.claimsMap.items():
+        oprot.writeString(kiter7)
+        oprot.writeString(viter8)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.accessToken is None:
+      raise TProtocol.TProtocolException(message='Required field accessToken is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.accessToken)
+    value = (value * 31) ^ hash(self.claimsMap)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/constants.py
new file mode 100644
index 0000000..99717a9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/ttypes.py
new file mode 100644
index 0000000..236df98
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/ttypes.py
@@ -0,0 +1,539 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class ExperimentState:
+  CREATED = 0
+  VALIDATED = 1
+  SCHEDULED = 2
+  LAUNCHED = 3
+  EXECUTING = 4
+  CANCELING = 5
+  CANCELED = 6
+  COMPLETED = 7
+  FAILED = 8
+
+  _VALUES_TO_NAMES = {
+    0: "CREATED",
+    1: "VALIDATED",
+    2: "SCHEDULED",
+    3: "LAUNCHED",
+    4: "EXECUTING",
+    5: "CANCELING",
+    6: "CANCELED",
+    7: "COMPLETED",
+    8: "FAILED",
+  }
+
+  _NAMES_TO_VALUES = {
+    "CREATED": 0,
+    "VALIDATED": 1,
+    "SCHEDULED": 2,
+    "LAUNCHED": 3,
+    "EXECUTING": 4,
+    "CANCELING": 5,
+    "CANCELED": 6,
+    "COMPLETED": 7,
+    "FAILED": 8,
+  }
+
+class TaskState:
+  CREATED = 0
+  EXECUTING = 1
+  COMPLETED = 2
+  FAILED = 3
+  CANCELED = 4
+
+  _VALUES_TO_NAMES = {
+    0: "CREATED",
+    1: "EXECUTING",
+    2: "COMPLETED",
+    3: "FAILED",
+    4: "CANCELED",
+  }
+
+  _NAMES_TO_VALUES = {
+    "CREATED": 0,
+    "EXECUTING": 1,
+    "COMPLETED": 2,
+    "FAILED": 3,
+    "CANCELED": 4,
+  }
+
+class ProcessState:
+  CREATED = 0
+  VALIDATED = 1
+  PRE_PROCESSING = 2
+  CONFIGURING_WORKSPACE = 3
+  INPUT_DATA_STAGING = 4
+  EXECUTING = 5
+  MONITORING = 6
+  OUTPUT_DATA_STAGING = 7
+  POST_PROCESSING = 8
+  COMPLETED = 9
+  FAILED = 10
+  CANCELLING = 11
+  CANCELED = 12
+
+  _VALUES_TO_NAMES = {
+    0: "CREATED",
+    1: "VALIDATED",
+    2: "PRE_PROCESSING",
+    3: "CONFIGURING_WORKSPACE",
+    4: "INPUT_DATA_STAGING",
+    5: "EXECUTING",
+    6: "MONITORING",
+    7: "OUTPUT_DATA_STAGING",
+    8: "POST_PROCESSING",
+    9: "COMPLETED",
+    10: "FAILED",
+    11: "CANCELLING",
+    12: "CANCELED",
+  }
+
+  _NAMES_TO_VALUES = {
+    "CREATED": 0,
+    "VALIDATED": 1,
+    "PRE_PROCESSING": 2,
+    "CONFIGURING_WORKSPACE": 3,
+    "INPUT_DATA_STAGING": 4,
+    "EXECUTING": 5,
+    "MONITORING": 6,
+    "OUTPUT_DATA_STAGING": 7,
+    "POST_PROCESSING": 8,
+    "COMPLETED": 9,
+    "FAILED": 10,
+    "CANCELLING": 11,
+    "CANCELED": 12,
+  }
+
+class JobState:
+  SUBMITTED = 0
+  QUEUED = 1
+  ACTIVE = 2
+  COMPLETE = 3
+  CANCELED = 4
+  FAILED = 5
+  SUSPENDED = 6
+  UNKNOWN = 7
+
+  _VALUES_TO_NAMES = {
+    0: "SUBMITTED",
+    1: "QUEUED",
+    2: "ACTIVE",
+    3: "COMPLETE",
+    4: "CANCELED",
+    5: "FAILED",
+    6: "SUSPENDED",
+    7: "UNKNOWN",
+  }
+
+  _NAMES_TO_VALUES = {
+    "SUBMITTED": 0,
+    "QUEUED": 1,
+    "ACTIVE": 2,
+    "COMPLETE": 3,
+    "CANCELED": 4,
+    "FAILED": 5,
+    "SUSPENDED": 6,
+    "UNKNOWN": 7,
+  }
+
+
+class ExperimentStatus:
+  """
+  Status: A generic status object.
+
+  state:
+    State .
+
+  timeOfStateChange:
+    time the status was last updated.
+
+  reason:
+    User friendly reason on how the state is inferred.
+
+
+  Attributes:
+   - state
+   - timeOfStateChange
+   - reason
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'state', None, None, ), # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+    (3, TType.STRING, 'reason', None, None, ), # 3
+  )
+
+  def __init__(self, state=None, timeOfStateChange=None, reason=None,):
+    self.state = state
+    self.timeOfStateChange = timeOfStateChange
+    self.reason = reason
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.state = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I64:
+          self.timeOfStateChange = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.reason = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ExperimentStatus')
+    if self.state is not None:
+      oprot.writeFieldBegin('state', TType.I32, 1)
+      oprot.writeI32(self.state)
+      oprot.writeFieldEnd()
+    if self.timeOfStateChange is not None:
+      oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+      oprot.writeI64(self.timeOfStateChange)
+      oprot.writeFieldEnd()
+    if self.reason is not None:
+      oprot.writeFieldBegin('reason', TType.STRING, 3)
+      oprot.writeString(self.reason)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.state is None:
+      raise TProtocol.TProtocolException(message='Required field state is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.state)
+    value = (value * 31) ^ hash(self.timeOfStateChange)
+    value = (value * 31) ^ hash(self.reason)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class ProcessStatus:
+  """
+  Attributes:
+   - state
+   - timeOfStateChange
+   - reason
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'state', None, None, ), # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+    (3, TType.STRING, 'reason', None, None, ), # 3
+  )
+
+  def __init__(self, state=None, timeOfStateChange=None, reason=None,):
+    self.state = state
+    self.timeOfStateChange = timeOfStateChange
+    self.reason = reason
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.state = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I64:
+          self.timeOfStateChange = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.reason = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ProcessStatus')
+    if self.state is not None:
+      oprot.writeFieldBegin('state', TType.I32, 1)
+      oprot.writeI32(self.state)
+      oprot.writeFieldEnd()
+    if self.timeOfStateChange is not None:
+      oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+      oprot.writeI64(self.timeOfStateChange)
+      oprot.writeFieldEnd()
+    if self.reason is not None:
+      oprot.writeFieldBegin('reason', TType.STRING, 3)
+      oprot.writeString(self.reason)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.state is None:
+      raise TProtocol.TProtocolException(message='Required field state is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.state)
+    value = (value * 31) ^ hash(self.timeOfStateChange)
+    value = (value * 31) ^ hash(self.reason)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class TaskStatus:
+  """
+  Attributes:
+   - state
+   - timeOfStateChange
+   - reason
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'state', None, None, ), # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+    (3, TType.STRING, 'reason', None, None, ), # 3
+  )
+
+  def __init__(self, state=None, timeOfStateChange=None, reason=None,):
+    self.state = state
+    self.timeOfStateChange = timeOfStateChange
+    self.reason = reason
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.state = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I64:
+          self.timeOfStateChange = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.reason = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('TaskStatus')
+    if self.state is not None:
+      oprot.writeFieldBegin('state', TType.I32, 1)
+      oprot.writeI32(self.state)
+      oprot.writeFieldEnd()
+    if self.timeOfStateChange is not None:
+      oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+      oprot.writeI64(self.timeOfStateChange)
+      oprot.writeFieldEnd()
+    if self.reason is not None:
+      oprot.writeFieldBegin('reason', TType.STRING, 3)
+      oprot.writeString(self.reason)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.state is None:
+      raise TProtocol.TProtocolException(message='Required field state is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.state)
+    value = (value * 31) ^ hash(self.timeOfStateChange)
+    value = (value * 31) ^ hash(self.reason)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class JobStatus:
+  """
+  Attributes:
+   - jobState
+   - timeOfStateChange
+   - reason
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'jobState', None, None, ), # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ), # 2
+    (3, TType.STRING, 'reason', None, None, ), # 3
+  )
+
+  def __init__(self, jobState=None, timeOfStateChange=None, reason=None,):
+    self.jobState = jobState
+    self.timeOfStateChange = timeOfStateChange
+    self.reason = reason
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.jobState = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I64:
+          self.timeOfStateChange = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.reason = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('JobStatus')
+    if self.jobState is not None:
+      oprot.writeFieldBegin('jobState', TType.I32, 1)
+      oprot.writeI32(self.jobState)
+      oprot.writeFieldEnd()
+    if self.timeOfStateChange is not None:
+      oprot.writeFieldBegin('timeOfStateChange', TType.I64, 2)
+      oprot.writeI64(self.timeOfStateChange)
+      oprot.writeFieldEnd()
+    if self.reason is not None:
+      oprot.writeFieldBegin('reason', TType.STRING, 3)
+      oprot.writeString(self.reason)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.jobState is None:
+      raise TProtocol.TProtocolException(message='Required field jobState is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.jobState)
+    value = (value * 31) ^ hash(self.timeOfStateChange)
+    value = (value * 31) ^ hash(self.reason)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/constants.py
new file mode 100644
index 0000000..99717a9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
new file mode 100644
index 0000000..9f229f1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
@@ -0,0 +1,366 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.commons.ttypes
+import apache.airavata.model.status.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class TaskTypes:
+  """
+  TaskTypes: An enumerated list of TaskTypes. Task being generic, the task type will provide the concrete interpretation.
+
+  """
+  ENV_SETUP = 0
+  DATA_STAGING = 1
+  JOB_SUBMISSION = 2
+  ENV_CLEANUP = 3
+  MONITORING = 4
+
+  _VALUES_TO_NAMES = {
+    0: "ENV_SETUP",
+    1: "DATA_STAGING",
+    2: "JOB_SUBMISSION",
+    3: "ENV_CLEANUP",
+    4: "MONITORING",
+  }
+
+  _NAMES_TO_VALUES = {
+    "ENV_SETUP": 0,
+    "DATA_STAGING": 1,
+    "JOB_SUBMISSION": 2,
+    "ENV_CLEANUP": 3,
+    "MONITORING": 4,
+  }
+
+
+class TaskModel:
+  """
+  TaskModel: A structure holding the generic task details.
+
+  taskDetail:
+    A friendly description of the task, usally used to communicate information to users.
+
+  subTaskModel:
+    A generic byte object for the Task developer to store internal serialized data into registry catalogs.
+
+  Attributes:
+   - taskId
+   - taskType
+   - parentProcessId
+   - creationTime
+   - lastUpdateTime
+   - taskStatus
+   - taskDetail
+   - subTaskModel
+   - taskError
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'taskId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+    (2, TType.I32, 'taskType', None, None, ), # 2
+    (3, TType.STRING, 'parentProcessId', None, None, ), # 3
+    (4, TType.I64, 'creationTime', None, None, ), # 4
+    (5, TType.I64, 'lastUpdateTime', None, None, ), # 5
+    (6, TType.STRUCT, 'taskStatus', (apache.airavata.model.status.ttypes.TaskStatus, apache.airavata.model.status.ttypes.TaskStatus.thrift_spec), None, ), # 6
+    (7, TType.STRING, 'taskDetail', None, None, ), # 7
+    (8, TType.STRING, 'subTaskModel', None, None, ), # 8
+    (9, TType.STRUCT, 'taskError', (apache.airavata.model.commons.ttypes.ErrorModel, apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec), None, ), # 9
+  )
+
+  def __init__(self, taskId=thrift_spec[1][4], taskType=None, parentProcessId=None, creationTime=None, lastUpdateTime=None, taskStatus=None, taskDetail=None, subTaskModel=None, taskError=None,):
+    self.taskId = taskId
+    self.taskType = taskType
+    self.parentProcessId = parentProcessId
+    self.creationTime = creationTime
+    self.lastUpdateTime = lastUpdateTime
+    self.taskStatus = taskStatus
+    self.taskDetail = taskDetail
+    self.subTaskModel = subTaskModel
+    self.taskError = taskError
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.taskId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.taskType = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.parentProcessId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.I64:
+          self.lastUpdateTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRUCT:
+          self.taskStatus = apache.airavata.model.status.ttypes.TaskStatus()
+          self.taskStatus.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRING:
+          self.taskDetail = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.subTaskModel = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRUCT:
+          self.taskError = apache.airavata.model.commons.ttypes.ErrorModel()
+          self.taskError.read(iprot)
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('TaskModel')
+    if self.taskId is not None:
+      oprot.writeFieldBegin('taskId', TType.STRING, 1)
+      oprot.writeString(self.taskId)
+      oprot.writeFieldEnd()
+    if self.taskType is not None:
+      oprot.writeFieldBegin('taskType', TType.I32, 2)
+      oprot.writeI32(self.taskType)
+      oprot.writeFieldEnd()
+    if self.parentProcessId is not None:
+      oprot.writeFieldBegin('parentProcessId', TType.STRING, 3)
+      oprot.writeString(self.parentProcessId)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 4)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.lastUpdateTime is not None:
+      oprot.writeFieldBegin('lastUpdateTime', TType.I64, 5)
+      oprot.writeI64(self.lastUpdateTime)
+      oprot.writeFieldEnd()
+    if self.taskStatus is not None:
+      oprot.writeFieldBegin('taskStatus', TType.STRUCT, 6)
+      self.taskStatus.write(oprot)
+      oprot.writeFieldEnd()
+    if self.taskDetail is not None:
+      oprot.writeFieldBegin('taskDetail', TType.STRING, 7)
+      oprot.writeString(self.taskDetail)
+      oprot.writeFieldEnd()
+    if self.subTaskModel is not None:
+      oprot.writeFieldBegin('subTaskModel', TType.STRING, 8)
+      oprot.writeString(self.subTaskModel)
+      oprot.writeFieldEnd()
+    if self.taskError is not None:
+      oprot.writeFieldBegin('taskError', TType.STRUCT, 9)
+      self.taskError.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.taskId is None:
+      raise TProtocol.TProtocolException(message='Required field taskId is unset!')
+    if self.taskType is None:
+      raise TProtocol.TProtocolException(message='Required field taskType is unset!')
+    if self.parentProcessId is None:
+      raise TProtocol.TProtocolException(message='Required field parentProcessId is unset!')
+    if self.creationTime is None:
+      raise TProtocol.TProtocolException(message='Required field creationTime is unset!')
+    if self.lastUpdateTime is None:
+      raise TProtocol.TProtocolException(message='Required field lastUpdateTime is unset!')
+    if self.taskStatus is None:
+      raise TProtocol.TProtocolException(message='Required field taskStatus is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.taskId)
+    value = (value * 31) ^ hash(self.taskType)
+    value = (value * 31) ^ hash(self.parentProcessId)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.lastUpdateTime)
+    value = (value * 31) ^ hash(self.taskStatus)
+    value = (value * 31) ^ hash(self.taskDetail)
+    value = (value * 31) ^ hash(self.subTaskModel)
+    value = (value * 31) ^ hash(self.taskError)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class DataStagingTaskModel:
+  """
+  DataStagingTaskModel: A structure holding the data staging task details.
+
+  Source and Destination locations includes standard representation of protocol, host, port and path
+    A friendly description of the task, usally used to communicate information to users.
+
+
+  Attributes:
+   - source
+   - destination
+   - transferStartTime
+   - transferEndTime
+   - transferRate
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'source', None, None, ), # 1
+    (2, TType.STRING, 'destination', None, None, ), # 2
+    (3, TType.I64, 'transferStartTime', None, None, ), # 3
+    (4, TType.I64, 'transferEndTime', None, None, ), # 4
+    (5, TType.STRING, 'transferRate', None, None, ), # 5
+  )
+
+  def __init__(self, source=None, destination=None, transferStartTime=None, transferEndTime=None, transferRate=None,):
+    self.source = source
+    self.destination = destination
+    self.transferStartTime = transferStartTime
+    self.transferEndTime = transferEndTime
+    self.transferRate = transferRate
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.source = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.destination = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.I64:
+          self.transferStartTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I64:
+          self.transferEndTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.transferRate = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('DataStagingTaskModel')
+    if self.source is not None:
+      oprot.writeFieldBegin('source', TType.STRING, 1)
+      oprot.writeString(self.source)
+      oprot.writeFieldEnd()
+    if self.destination is not None:
+      oprot.writeFieldBegin('destination', TType.STRING, 2)
+      oprot.writeString(self.destination)
+      oprot.writeFieldEnd()
+    if self.transferStartTime is not None:
+      oprot.writeFieldBegin('transferStartTime', TType.I64, 3)
+      oprot.writeI64(self.transferStartTime)
+      oprot.writeFieldEnd()
+    if self.transferEndTime is not None:
+      oprot.writeFieldBegin('transferEndTime', TType.I64, 4)
+      oprot.writeI64(self.transferEndTime)
+      oprot.writeFieldEnd()
+    if self.transferRate is not None:
+      oprot.writeFieldBegin('transferRate', TType.STRING, 5)
+      oprot.writeString(self.transferRate)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.source is None:
+      raise TProtocol.TProtocolException(message='Required field source is unset!')
+    if self.destination is None:
+      raise TProtocol.TProtocolException(message='Required field destination is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.source)
+    value = (value * 31) ^ hash(self.destination)
+    value = (value * 31) ^ hash(self.transferStartTime)
+    value = (value * 31) ^ hash(self.transferEndTime)
+    value = (value * 31) ^ hash(self.transferRate)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
index 73269eb..b88a91b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
@@ -7,13 +7,17 @@
 #
 
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.commons.ttypes
 import apache.airavata.model.workspace.ttypes
 import apache.airavata.api.error.ttypes
 import apache.airavata.model.messaging.event.ttypes
 import apache.airavata.model.security.ttypes
+import apache.airavata.model.experiment.ttypes
 import apache.airavata.model.job.ttypes
 import apache.airavata.model.task.ttypes
 import apache.airavata.model.process.ttypes
+import apache.airavata.model.scheduling.ttypes
+import apache.airavata.model.status.ttypes
 
 
 from thrift.transport import TTransport

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/constants.py
index f9a2df5..99717a9 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/constants.py
@@ -9,4 +9,3 @@
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
 from ttypes import *
 
-DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/ttypes.py
index aa8c76c..20ce908 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workflow/ttypes.py
@@ -8,6 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
 import apache.airavata.model.application.io.ttypes
+import apache.airavata.model.commons.ttypes
 
 
 from thrift.transport import TTransport

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workspace/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workspace/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workspace/ttypes.py
index a480781..a3bba10 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workspace/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/workspace/ttypes.py
@@ -7,6 +7,8 @@
 #
 
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.commons.ttypes
+
 
 from thrift.transport import TTransport
 from thrift.protocol import TBinaryProtocol, TProtocol
@@ -111,7 +113,7 @@ class Project:
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'projectID', None, None, ), # 1
+    (1, TType.STRING, 'projectID', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
     (2, TType.STRING, 'owner', None, None, ), # 2
     (3, TType.STRING, 'name', None, None, ), # 3
     (4, TType.STRING, 'description', None, None, ), # 4
@@ -120,7 +122,7 @@ class Project:
     (7, TType.LIST, 'sharedGroups', (TType.STRING,None), None, ), # 7
   )
 
-  def __init__(self, projectID=None, owner=None, name=None, description=None, creationTime=None, sharedUsers=None, sharedGroups=None,):
+  def __init__(self, projectID=thrift_spec[1][4], owner=None, name=None, description=None, creationTime=None, sharedUsers=None, sharedGroups=None,):
     self.projectID = projectID
     self.owner = owner
     self.name = name

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
index 7278b65..8f3b17e 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
@@ -25,6 +25,7 @@ import org.apache.airavata.model.error.InvalidRequestException;
 import org.apache.airavata.model.experiment.ExperimentSummaryModel;
 import org.apache.airavata.model.experiment.UserConfigurationDataModel;
 import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel;
+import org.apache.airavata.model.security.AuthzToken;
 import org.apache.airavata.model.util.ExperimentModelUtil;
 import org.apache.airavata.model.workspace.Gateway;
 import org.apache.airavata.model.workspace.Project;
@@ -91,7 +92,7 @@ public class CreateLaunchBES {
             Gateway gateway = new Gateway();
             gateway.setGatewayId("testGatewayId2");
             gateway.setGatewayName("testGateway2");
-            gatewayId = airavataClient.addGateway(gateway);
+            gatewayId = airavataClient.addGateway(new AuthzToken(""), gateway);
             System.out.println(gatewayId);
         } catch (AiravataSystemException e) {
             e.printStackTrace();
@@ -107,13 +108,13 @@ public class CreateLaunchBES {
 
     public static void getGateway(String gatewayId) {
         try {
-            Gateway gateway = airavataClient.getGateway(gatewayId);
+            Gateway gateway = airavataClient.getGateway(new AuthzToken(""), gatewayId);
             gateway.setDomain("testDomain");
-            airavataClient.updateGateway(gatewayId, gateway);
+            airavataClient.updateGateway(new AuthzToken(""), gatewayId, gateway);
             List<Gateway> allGateways = airavataClient.getAllGateways();
             System.out.println(allGateways.size());
             if (airavataClient.isGatewayExist(gatewayId)) {
-                Gateway gateway1 = airavataClient.getGateway(gatewayId);
+                Gateway gateway1 = airavataClient.getGateway(new AuthzToken(""), gatewayId);
                 System.out.println(gateway1.getGatewayName());
             }
             boolean b = airavataClient.deleteGateway("testGatewayId2");

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
index 0dd240a..76e1737 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
@@ -118,7 +118,7 @@ public class CreateLaunchExperiment {
             Gateway gateway = new Gateway();
             gateway.setGatewayId("testGatewayId2");
             gateway.setGatewayName("testGateway2");
-            gatewayId = airavataClient.addGateway(gateway);
+            gatewayId = airavataClient.addGateway(new AuthzToken(""), gateway);
             System.out.println(gatewayId);
         } catch (AiravataSystemException e) {
             e.printStackTrace();
@@ -134,13 +134,13 @@ public class CreateLaunchExperiment {
 
     public static void getGateway(String gatewayId) {
         try {
-            Gateway gateway = airavataClient.getGateway(gatewayId);
+            Gateway gateway = airavataClient.getGateway(new AuthzToken(""), gatewayId);
             gateway.setDomain("testDomain");
-            airavataClient.updateGateway(gatewayId, gateway);
+            airavataClient.updateGateway(new AuthzToken(""), gatewayId, gateway);
             List<Gateway> allGateways = airavataClient.getAllGateways();
             System.out.println(allGateways.size());
             if (airavataClient.isGatewayExist(gatewayId)) {
-                Gateway gateway1 = airavataClient.getGateway(gatewayId);
+                Gateway gateway1 = airavataClient.getGateway(new AuthzToken(""), gatewayId);
                 System.out.println(gateway1.getGatewayName());
             }
             boolean b = airavataClient.deleteGateway("testGatewayId2");

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
index 7a0b10c..3d3c49d 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
@@ -39,6 +39,7 @@ import org.apache.airavata.model.application.io.DataType;
 import org.apache.airavata.model.application.io.InputDataObjectType;
 import org.apache.airavata.model.application.io.OutputDataObjectType;
 import org.apache.airavata.model.error.AiravataClientException;
+import org.apache.airavata.model.security.AuthzToken;
 import org.apache.airavata.model.workspace.Gateway;
 import org.apache.thrift.TException;
 
@@ -95,7 +96,7 @@ public class RegisterSampleData {
         Gateway gateway = new Gateway();
         gateway.setGatewayName("Sample");
         gateway.setGatewayId("sample");
-        return airavataClient.addGateway(gateway);
+        return airavataClient.addGateway(new AuthzToken(""), gateway);
     }
 
     private void registerGatewayProfile() throws TException {

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/thrift-interface-descriptions/airavata-api/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-api/airavata_api.thrift b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
index 17ed284..6a666de 100644
--- a/thrift-interface-descriptions/airavata-api/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
@@ -77,20 +77,23 @@ service Airavata {
                 3: airavata_errors.AiravataSystemException ase,
                 4: airavata_errors.AuthorizationException ae)
 
-  string addGateway(1: required workspace_model.Gateway gateway)
+  string addGateway(1: required security_model.AuthzToken authzToken, 2: required workspace_model.Gateway gateway)
          throws (1: airavata_errors.InvalidRequestException ire,
                  2: airavata_errors.AiravataClientException ace,
-                 3: airavata_errors.AiravataSystemException ase)
+                 3: airavata_errors.AiravataSystemException ase,
+                 4: airavata_errors.AuthorizationException ae)
 
-  void updateGateway(1: required string gatewayId, 2: required workspace_model.Gateway updatedGateway)
+  void updateGateway(1: required security_model.AuthzToken authzToken, 2: required string gatewayId, 3: required workspace_model.Gateway updatedGateway)
          throws (1: airavata_errors.InvalidRequestException ire,
                  2: airavata_errors.AiravataClientException ace,
-                 3: airavata_errors.AiravataSystemException ase)
+                 3: airavata_errors.AiravataSystemException ase,
+                 4: airavata_errors.AuthorizationException ae)
 
-  workspace_model.Gateway getGateway(1: required string gatewayId)
+  workspace_model.Gateway getGateway(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
            throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase)
+                   3: airavata_errors.AiravataSystemException ase,
+                   4: airavata_errors.AuthorizationException ae)
 
   bool deleteGateway(1: required string gatewayId)
              throws (1: airavata_errors.InvalidRequestException ire,


[29/44] airavata git commit: Merge branch 'sprint3_pr2' into sprint4_pr1

Posted by sm...@apache.org.
Merge branch 'sprint3_pr2' into sprint4_pr1


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

Branch: refs/heads/master
Commit: b515beeb1844b45867e573cfe9d064e42f918e30
Parents: b7e914e 4fae741
Author: hasinitg <ha...@gmail.com>
Authored: Fri Jul 17 01:57:03 2015 +0530
Committer: hasinitg <ha...@gmail.com>
Committed: Fri Jul 17 01:57:03 2015 +0530

----------------------------------------------------------------------
 airavata-api/airavata-api-server/pom.xml        |   10 +
 .../airavata/api/server/AiravataAPIServer.java  |   13 +-
 .../server/handler/AiravataServerHandler.java   |  169 +-
 .../api/server/security/SecurityCheck.java      |   36 +
 .../server/security/SecurityInterceptor.java    |   65 +
 .../api/server/security/SecurityModule.java     |   39 +
 .../java/org/apache/airavata/api/Airavata.java  | 1408 ++++++++-
 .../main/resources/lib/airavata/Airavata.cpp    |  341 ++-
 .../src/main/resources/lib/airavata/Airavata.h  |  285 +-
 .../lib/airavata/Airavata_server.skeleton.cpp   |   23 +-
 .../lib/airavata/airavata_api_constants.cpp     |   36 +
 .../lib/airavata/airavata_api_constants.h       |   42 +
 .../lib/airavata/airavata_api_types.cpp         |   33 +
 .../resources/lib/airavata/airavata_api_types.h |   55 +
 .../lib/airavata/airavata_commons_constants.cpp |   36 +
 .../lib/airavata/airavata_commons_constants.h   |   42 +
 .../lib/airavata/airavata_commons_types.cpp     |  504 ++++
 .../lib/airavata/airavata_commons_types.h       |  221 ++
 .../airavata/airavata_data_models_constants.cpp |   34 +
 .../airavata/airavata_data_models_constants.h   |   41 +
 .../lib/airavata/airavata_data_models_types.cpp |   33 +
 .../lib/airavata/airavata_data_models_types.h   |   52 +
 .../lib/airavata/airavata_errors_constants.cpp  |   34 +
 .../lib/airavata/airavata_errors_constants.h    |   41 +
 .../lib/airavata/airavata_errors_types.cpp      | 1169 ++++++++
 .../lib/airavata/airavata_errors_types.h        |  538 ++++
 .../application_deployment_model_constants.cpp  |   34 +
 .../application_deployment_model_constants.h    |   41 +
 .../application_deployment_model_types.cpp      |  781 +++++
 .../application_deployment_model_types.h        |  284 ++
 .../application_interface_model_constants.cpp   |   34 +
 .../application_interface_model_constants.h     |   41 +
 .../application_interface_model_types.cpp       |  297 ++
 .../application_interface_model_types.h         |  124 +
 .../application_io_models_constants.cpp         |   34 +
 .../airavata/application_io_models_constants.h  |   41 +
 .../airavata/application_io_models_types.cpp    |  637 +++++
 .../lib/airavata/application_io_models_types.h  |  287 ++
 .../compute_resource_model_constants.cpp        |   34 +
 .../airavata/compute_resource_model_constants.h |   41 +
 .../airavata/compute_resource_model_types.cpp   | 2663 ++++++++++++++++++
 .../lib/airavata/compute_resource_model_types.h | 1006 +++++++
 .../lib/airavata/experiment_model_constants.cpp |   34 +
 .../lib/airavata/experiment_model_constants.h   |   41 +
 .../lib/airavata/experiment_model_types.cpp     | 1444 ++++++++++
 .../lib/airavata/experiment_model_types.h       |  510 ++++
 ...gateway_resource_profile_model_constants.cpp |   34 +
 .../gateway_resource_profile_model_constants.h  |   41 +
 .../gateway_resource_profile_model_types.cpp    |  420 +++
 .../gateway_resource_profile_model_types.h      |  191 ++
 .../lib/airavata/job_model_constants.cpp        |   34 +
 .../lib/airavata/job_model_constants.h          |   41 +
 .../resources/lib/airavata/job_model_types.cpp  |  282 ++
 .../resources/lib/airavata/job_model_types.h    |  136 +
 .../lib/airavata/messaging_events_constants.cpp |   34 +
 .../lib/airavata/messaging_events_constants.h   |   41 +
 .../lib/airavata/messaging_events_types.cpp     | 1964 +++++++++++++
 .../lib/airavata/messaging_events_types.h       |  756 +++++
 .../lib/airavata/process_model_constants.cpp    |   34 +
 .../lib/airavata/process_model_constants.h      |   41 +
 .../lib/airavata/process_model_types.cpp        |  581 ++++
 .../lib/airavata/process_model_types.h          |  223 ++
 .../lib/airavata/scheduling_model_constants.cpp |   34 +
 .../lib/airavata/scheduling_model_constants.h   |   41 +
 .../lib/airavata/scheduling_model_types.cpp     |  279 ++
 .../lib/airavata/scheduling_model_types.h       |  144 +
 .../lib/airavata/security_model_constants.cpp   |   34 +
 .../lib/airavata/security_model_constants.h     |   41 +
 .../lib/airavata/security_model_types.cpp       |  172 ++
 .../lib/airavata/security_model_types.h         |   93 +
 .../lib/airavata/status_models_constants.cpp    |   34 +
 .../lib/airavata/status_models_constants.h      |   41 +
 .../lib/airavata/status_models_types.cpp        |  683 +++++
 .../lib/airavata/status_models_types.h          |  344 +++
 .../lib/airavata/task_model_constants.cpp       |   34 +
 .../lib/airavata/task_model_constants.h         |   41 +
 .../resources/lib/airavata/task_model_types.cpp |  507 ++++
 .../resources/lib/airavata/task_model_types.h   |  221 ++
 .../airavata/workflow_data_model_constants.cpp  |   34 +
 .../airavata/workflow_data_model_constants.h    |   41 +
 .../lib/airavata/workflow_data_model_types.cpp  |  277 ++
 .../lib/airavata/workflow_data_model_types.h    |  124 +
 .../lib/airavata/workspace_model_constants.cpp  |   34 +
 .../lib/airavata/workspace_model_constants.h    |   41 +
 .../lib/airavata/workspace_model_types.cpp      |  709 +++++
 .../lib/airavata/workspace_model_types.h        |  300 ++
 .../resources/lib/Airavata/API/Airavata.php     |  420 ++-
 .../Model/AppCatalog/AppDeployment/Types.php    |    8 -
 .../Model/AppCatalog/AppInterface/Types.php     |    8 -
 .../Model/AppCatalog/ComputeResource/Types.php  |    8 -
 .../lib/Airavata/Model/Application/Io/Types.php |  657 +++++
 .../lib/Airavata/Model/Commons/Types.php        |  475 ++++
 .../lib/Airavata/Model/Experiment/Types.php     | 1478 ++++++++++
 .../Airavata/Model/Messaging/Event/Types.php    |    8 -
 .../lib/Airavata/Model/Process/Types.php        |  620 ++++
 .../lib/Airavata/Model/Scheduling/Types.php     |  261 ++
 .../lib/Airavata/Model/Security/Types.php       |  152 +
 .../lib/Airavata/Model/Status/Types.php         |  607 ++++
 .../resources/lib/Airavata/Model/Task/Types.php |  491 ++++
 .../main/resources/lib/Airavata/Model/Types.php |    8 -
 .../lib/Airavata/Model/Workspace/Types.php      |    2 +-
 .../resources/lib/Airavata/Model/job/Types.php  |  261 ++
 .../lib/apache/airavata/api/Airavata-remote     |   80 +-
 .../lib/apache/airavata/api/Airavata.py         |  374 ++-
 .../model/appcatalog/appdeployment/constants.py |    1 -
 .../model/appcatalog/appdeployment/ttypes.py    |    2 +
 .../model/appcatalog/appinterface/constants.py  |    1 -
 .../model/appcatalog/appinterface/ttypes.py     |    1 +
 .../appcatalog/computeresource/constants.py     |    1 -
 .../model/appcatalog/computeresource/ttypes.py  |    2 +
 .../airavata/model/application/__init__.py      |    0
 .../airavata/model/application/io/__init__.py   |    1 +
 .../airavata/model/application/io/constants.py  |   11 +
 .../airavata/model/application/io/ttypes.py     |  468 +++
 .../apache/airavata/model/commons/__init__.py   |    1 +
 .../apache/airavata/model/commons/constants.py  |   12 +
 .../lib/apache/airavata/model/commons/ttypes.py |  335 +++
 .../airavata/model/experiment/__init__.py       |    1 +
 .../airavata/model/experiment/constants.py      |   11 +
 .../apache/airavata/model/experiment/ttypes.py  |  944 +++++++
 .../lib/apache/airavata/model/job/__init__.py   |    1 +
 .../lib/apache/airavata/model/job/constants.py  |   11 +
 .../lib/apache/airavata/model/job/ttypes.py     |  183 ++
 .../airavata/model/messaging/event/constants.py |    1 -
 .../airavata/model/messaging/event/ttypes.py    |    1 +
 .../apache/airavata/model/process/__init__.py   |    1 +
 .../apache/airavata/model/process/constants.py  |   11 +
 .../lib/apache/airavata/model/process/ttypes.py |  360 +++
 .../airavata/model/scheduling/__init__.py       |    1 +
 .../airavata/model/scheduling/constants.py      |   11 +
 .../apache/airavata/model/scheduling/ttypes.py  |  178 ++
 .../apache/airavata/model/security/__init__.py  |    1 +
 .../apache/airavata/model/security/constants.py |   11 +
 .../apache/airavata/model/security/ttypes.py    |  108 +
 .../apache/airavata/model/status/__init__.py    |    1 +
 .../apache/airavata/model/status/constants.py   |   11 +
 .../lib/apache/airavata/model/status/ttypes.py  |  539 ++++
 .../lib/apache/airavata/model/task/__init__.py  |    1 +
 .../lib/apache/airavata/model/task/constants.py |   11 +
 .../lib/apache/airavata/model/task/ttypes.py    |  366 +++
 .../lib/apache/airavata/model/ttypes.py         |    4 +
 .../apache/airavata/model/workflow/constants.py |    1 -
 .../apache/airavata/model/workflow/ttypes.py    |    1 +
 .../apache/airavata/model/workspace/ttypes.py   |    6 +-
 .../client/samples/CreateLaunchBES.java         |   15 +-
 .../client/samples/CreateLaunchExperiment.java  |   30 +-
 .../samples/CreateLaunchExperimentUS3.java      |    9 +-
 .../client/samples/RegisterSampleData.java      |    3 +-
 .../org/apache/airavata/model/Workflow.java     |    2 +-
 .../ApplicationDeploymentDescription.java       |    2 +-
 .../appdeployment/ApplicationModule.java        |    2 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |    2 +-
 .../ApplicationInterfaceDescription.java        |    2 +-
 .../appcatalog/computeresource/BatchQueue.java  |    2 +-
 .../computeresource/CloudJobSubmission.java     |    2 +-
 .../ComputeResourceDescription.java             |    2 +-
 .../computeresource/DataMovementInterface.java  |    2 +-
 .../computeresource/GlobusJobSubmission.java    |    2 +-
 .../computeresource/GridFTPDataMovement.java    |    2 +-
 .../computeresource/JobSubmissionInterface.java |    2 +-
 .../computeresource/LOCALDataMovement.java      |    2 +-
 .../computeresource/LOCALSubmission.java        |    2 +-
 .../computeresource/ResourceJobManager.java     |    2 +-
 .../computeresource/SCPDataMovement.java        |    2 +-
 .../computeresource/SSHJobSubmission.java       |    2 +-
 .../computeresource/UnicoreDataMovement.java    |    2 +-
 .../computeresource/UnicoreJobSubmission.java   |    2 +-
 .../ComputeResourcePreference.java              |    2 +-
 .../gatewayprofile/GatewayResourceProfile.java  |    2 +-
 .../application/io/InputDataObjectType.java     |    2 +-
 .../application/io/OutputDataObjectType.java    |    2 +-
 .../airavata/model/commons/ErrorModel.java      |    2 +-
 .../model/commons/ValidationResults.java        |    2 +-
 .../airavata/model/commons/ValidatorResult.java |    2 +-
 .../model/error/AiravataClientException.java    |    2 +-
 .../model/error/AiravataSystemException.java    |    2 +-
 .../model/error/AuthenticationException.java    |    2 +-
 .../model/error/AuthorizationException.java     |    2 +-
 .../error/ExperimentNotFoundException.java      |    2 +-
 .../model/error/InvalidRequestException.java    |    2 +-
 .../model/error/LaunchValidationException.java  |    2 +-
 .../model/error/ProjectNotFoundException.java   |    2 +-
 .../airavata/model/error/TimedOutException.java |    2 +-
 .../airavata/model/error/ValidationResults.java |    2 +-
 .../airavata/model/error/ValidatorResult.java   |    2 +-
 .../model/experiment/ExperimentModel.java       |    2 +-
 .../model/experiment/ExperimentStatistics.java  |    2 +-
 .../experiment/ExperimentSummaryModel.java      |    2 +-
 .../experiment/UserConfigurationDataModel.java  |    2 +-
 .../org/apache/airavata/model/job/JobModel.java |    2 +-
 .../event/ExperimentStatusChangeEvent.java      |    2 +-
 .../model/messaging/event/JobIdentifier.java    |    2 +-
 .../messaging/event/JobStatusChangeEvent.java   |    2 +-
 .../event/JobStatusChangeRequestEvent.java      |    2 +-
 .../airavata/model/messaging/event/Message.java |    2 +-
 .../messaging/event/ProcessIdentifier.java      |    2 +-
 .../event/ProcessStatusChangeEvent.java         |    2 +-
 .../event/ProcessStatusChangeRequestEvent.java  |    2 +-
 .../messaging/event/ProcessSubmitEvent.java     |    2 +-
 .../messaging/event/ProcessTerminateEvent.java  |    2 +-
 .../model/messaging/event/TaskIdentifier.java   |    2 +-
 .../messaging/event/TaskOutputChangeEvent.java  |    2 +-
 .../messaging/event/TaskStatusChangeEvent.java  |    2 +-
 .../event/TaskStatusChangeRequestEvent.java     |    2 +-
 .../airavata/model/process/ProcessModel.java    |    2 +-
 .../ComputationalResourceSchedulingModel.java   |    2 +-
 .../airavata/model/security/AuthzToken.java     |    2 +-
 .../airavata/model/status/ExperimentStatus.java |    2 +-
 .../apache/airavata/model/status/JobStatus.java |    2 +-
 .../airavata/model/status/ProcessStatus.java    |    2 +-
 .../airavata/model/status/TaskStatus.java       |    2 +-
 .../model/task/DataStagingTaskModel.java        |    2 +-
 .../apache/airavata/model/task/TaskModel.java   |    2 +-
 .../airavata/model/workspace/Gateway.java       |    2 +-
 .../apache/airavata/model/workspace/Group.java  |    2 +-
 .../airavata/model/workspace/Project.java       |    2 +-
 .../apache/airavata/model/workspace/User.java   |    2 +-
 .../airavata-api/airavata_api.thrift            |   26 +-
 218 files changed, 31856 insertions(+), 759 deletions(-)
----------------------------------------------------------------------



[34/44] airavata git commit: fixed all compilation errors in the java client samples after the API changes.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CancelExperiments.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CancelExperiments.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CancelExperiments.java
index 8d41295..45856df 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CancelExperiments.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CancelExperiments.java
@@ -24,6 +24,7 @@ package org.apache.airavata.client.samples;
 import org.apache.airavata.model.error.*;
 import org.apache.airavata.api.Airavata;
 import org.apache.airavata.api.client.AiravataClientFactory;
+import org.apache.airavata.model.security.AuthzToken;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -60,7 +61,7 @@ public class CancelExperiments {
             throws TException {
         try {
         	String tokenId = "-0bbb-403b-a88a-42b6dbe198e9";
-            client.terminateExperiment(expId, tokenId);
+            client.terminateExperiment(new AuthzToken(""), expId, tokenId);
         } catch (ExperimentNotFoundException e) {
             logger.error("Error occured while launching the experiment...", e.getMessage());
             throw new ExperimentNotFoundException(e);

http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
index 0fa3278..d5ba6a1 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
@@ -69,7 +69,8 @@ public class CreateLaunchBES {
 
     public static void getAvailableAppInterfaceComputeResources(String appInterfaceId) {
         try {
-            Map<String, String> availableAppInterfaceComputeResources = airavataClient.getAvailableAppInterfaceComputeResources(appInterfaceId);
+            Map<String, String> availableAppInterfaceComputeResources = airavataClient.
+                    getAvailableAppInterfaceComputeResources(new AuthzToken(""), appInterfaceId);
             for (String key : availableAppInterfaceComputeResources.keySet()) {
                 System.out.println("id : " + key);
                 System.out.println("name : " + availableAppInterfaceComputeResources.get(key));
@@ -146,7 +147,7 @@ public class CreateLaunchBES {
 
             Thread.sleep(10000);
             for (String exId : experimentIds) {
-                ExperimentModel experiment = airavataClient.getExperiment(exId);
+                ExperimentModel experiment = airavataClient.getExperiment(new AuthzToken(""), exId);
                 System.out.println(experiment.getExperimentId() + " " + experiment.getExperimentStatus().getState().name());
             }
 
@@ -162,7 +163,7 @@ public class CreateLaunchBES {
             throws TException {
         try {
             String tokenId = "-0bbb-403b-a88a-42b6dbe198e9";
-            client.launchExperiment(expId, tokenId);
+            client.launchExperiment(new AuthzToken(""), expId, tokenId);
         } catch (ExperimentNotFoundException e) {
             logger.error("Error occured while launching the experiment...", e.getMessage());
             throw new ExperimentNotFoundException(e);
@@ -206,7 +207,7 @@ public class CreateLaunchBES {
         ComputeResourceDescription computeResourceDescription = RegisterSampleApplicationsUtils
                 .createComputeResourceDescription(hostName, hostDesc, null, null);
 
-        fsdResourceId = airavataClient.registerComputeResource(computeResourceDescription);
+        fsdResourceId = airavataClient.registerComputeResource(new AuthzToken(""), computeResourceDescription);
 
         if (fsdResourceId.isEmpty())
             throw new AiravataClientException();
@@ -223,7 +224,7 @@ public class CreateLaunchBES {
 
     public static String createEchoExperimentForFSD(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(echoAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), echoAppId);
             for (InputDataObjectType inputDataObjectType : exInputs) {
                 if (inputDataObjectType.getName().equalsIgnoreCase("Input_to_Echo")) {
                     inputDataObjectType.setValue("Hello World");
@@ -233,14 +234,14 @@ public class CreateLaunchBES {
                     inputDataObjectType.setValue("file:///tmp/test.txt");
                 }
             }
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), echoAppId);
 
             ExperimentModel simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY,"default", "admin", "echoExperiment", "SimpleEcho2", echoAppId, exInputs);
             simpleExperiment.setExperimentOutputs(exOut);
 
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(echoAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), echoAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -254,7 +255,7 @@ public class CreateLaunchBES {
                         userConfigurationData.setGenerateCert(false);
                         userConfigurationData.setUserDN("");
 
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -277,7 +278,7 @@ public class CreateLaunchBES {
 
     public static String createMPIExperimentForFSD(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(mpiAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), mpiAppId);
             for (InputDataObjectType inputDataObjectType : exInputs) {
 //                if (inputDataObjectType.getName().equalsIgnoreCase("Sample_Input")) {
 //                    inputDataObjectType.setValue("");
@@ -293,7 +294,7 @@ public class CreateLaunchBES {
                 }
             }
             
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(mpiAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), mpiAppId);
             
             for (OutputDataObjectType outputDataObjectType : exOut) {
             	if(outputDataObjectType.getName().equals("US3OUT")){
@@ -306,7 +307,7 @@ public class CreateLaunchBES {
             simpleExperiment.setExperimentOutputs(exOut);
 
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(mpiAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), mpiAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -322,7 +323,7 @@ public class CreateLaunchBES {
 
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
 
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -451,7 +452,7 @@ public class CreateLaunchBES {
 
     public static void getExperiment(Airavata.Client client, String expId) throws Exception {
         try {
-            ExperimentModel experiment = client.getExperiment(expId);
+            ExperimentModel experiment = client.getExperiment(new AuthzToken(""), expId);
             List<ErrorModel> errors = experiment.getErrors();
             if (errors != null && !errors.isEmpty()) {
                 for (ErrorModel error : errors) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
index 0a73222..00cff0b 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
@@ -95,7 +95,8 @@ public class CreateLaunchExperiment {
 
     public static void getAvailableAppInterfaceComputeResources(String appInterfaceId) {
         try {
-            Map<String, String> availableAppInterfaceComputeResources = airavataClient.getAvailableAppInterfaceComputeResources(appInterfaceId);
+            Map<String, String> availableAppInterfaceComputeResources = airavataClient.
+                    getAvailableAppInterfaceComputeResources(new AuthzToken(""), appInterfaceId);
             for (String key : availableAppInterfaceComputeResources.keySet()) {
                 System.out.println("id : " + key);
                 System.out.println("name : " + availableAppInterfaceComputeResources.get(key));
@@ -194,7 +195,7 @@ public class CreateLaunchExperiment {
             while(allNotFinished) {
                 allNotFinished = false;
                 for (String exId : experimentIds) {
-                    ExperimentModel experiment = airavataClient.getExperiment(exId);
+                    ExperimentModel experiment = airavataClient.getExperiment(new AuthzToken(""), exId);
                     if(!experiment.getExperimentStatus().getState().equals(ExperimentState.COMPLETED)&&
                             !experiment.getExperimentStatus().getState().equals(ExperimentState.FAILED)
                             &&!experiment.getExperimentStatus().getState().equals(ExperimentState.CANCELED)){
@@ -244,7 +245,7 @@ public class CreateLaunchExperiment {
         ComputeResourceDescription computeResourceDescription = RegisterSampleApplicationsUtils
                 .createComputeResourceDescription(hostName, hostDesc, null, null);
 
-        fsdResourceId = airavataClient.registerComputeResource(computeResourceDescription);
+        fsdResourceId = airavataClient.registerComputeResource(new AuthzToken(""), computeResourceDescription);
 
         if (fsdResourceId.isEmpty())
             throw new AiravataClientException();
@@ -261,13 +262,13 @@ public class CreateLaunchExperiment {
 
     public static String createEchoExperimentForTrestles(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(echoAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), echoAppId);
             for (InputDataObjectType inputDataObjectType : exInputs) {
                 if (inputDataObjectType.getName().equalsIgnoreCase("Input_to_Echo")) {
                     inputDataObjectType.setValue("Hello World");
                 }
             }
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), echoAppId);
 
             Project project = ProjectModelUtil.createProject("default", "admin", "test project");
             String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
@@ -277,7 +278,7 @@ public class CreateLaunchExperiment {
 					        "SimpleEcho3", echoAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(echoAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), echoAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -288,7 +289,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -311,7 +312,7 @@ public class CreateLaunchExperiment {
 
     public static String createEchoExperimentForFSD(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(echoAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), echoAppId);
             for (InputDataObjectType inputDataObjectType : exInputs) {
                 if (inputDataObjectType.getName().equalsIgnoreCase("Input_to_Echo")) {
                     inputDataObjectType.setValue("Hello World");
@@ -321,7 +322,7 @@ public class CreateLaunchExperiment {
                     inputDataObjectType.setValue("file:///tmp/test.txt");
                 }
             }
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), echoAppId);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, "default", "admin", "echoExperiment",
@@ -329,7 +330,7 @@ public class CreateLaunchExperiment {
 	        simpleExperiment.setExperimentOutputs(exOut);
 
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(echoAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), echoAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -343,7 +344,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setUserDN("");
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
 
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -366,13 +367,13 @@ public class CreateLaunchExperiment {
 
     public static String createMPIExperimentForFSD(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(mpiAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), mpiAppId);
             for (InputDataObjectType inputDataObjectType : exInputs) {
                 if (inputDataObjectType.getName().equalsIgnoreCase("Sample_Input")) {
                     inputDataObjectType.setValue("");
                 }
             }
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(mpiAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), mpiAppId);
 
 
 	        ExperimentModel simpleExperiment =
@@ -381,7 +382,7 @@ public class CreateLaunchExperiment {
 	        simpleExperiment.setExperimentOutputs(exOut);
 
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(mpiAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), mpiAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -397,7 +398,7 @@ public class CreateLaunchExperiment {
 
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
 
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -420,16 +421,16 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentWRFStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(wrfAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), wrfAppId);
             setWRFInputs(exInputs);
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(wrfAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), wrfAppId);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, "default", "admin", "WRFExperiment",
 					        "Testing", wrfAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(wrfAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), wrfAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -440,7 +441,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -477,16 +478,16 @@ public class CreateLaunchExperiment {
     public static String createExperimentGROMACSStampede(Airavata.Client client) throws TException {
         try {
 
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(gromacsAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), gromacsAppId);
             setGROMACSInputs(exInputs);
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(gromacsAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), gromacsAppId);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, "default", "admin",
 					        "GromacsExperiment", "Testing", gromacsAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(gromacsAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), gromacsAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -497,7 +498,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -529,16 +530,16 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentESPRESSOStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(espressoAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), espressoAppId);
             setESPRESSOInputs(exInputs);
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(espressoAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), espressoAppId);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, "default", "admin",
 					        "EspressoExperiment", "Testing", espressoAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(espressoAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), espressoAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -549,7 +550,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -581,16 +582,16 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentTRINITYStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(trinityAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), trinityAppId);
             setTRINITYInputs(exInputs);
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(trinityAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), trinityAppId);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, "default", "admin",
 					        "TrinityExperiment", "Testing", trinityAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(trinityAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), trinityAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -601,7 +602,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -633,16 +634,16 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentLAMMPSStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(lammpsAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), lammpsAppId);
             setLAMMPSInputs(exInputs);
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(lammpsAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), lammpsAppId);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, "default", "admin",
 					        "LAMMPSExperiment", "Testing", lammpsAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(lammpsAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), lammpsAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -653,7 +654,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -683,16 +684,16 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentNWCHEMStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(nwchemAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), nwchemAppId);
             setNWCHEMInputs(exInputs);
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(nwchemAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), nwchemAppId);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, "default", "admin",
 					        "NWchemExperiment", "Testing", nwchemAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(nwchemAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), nwchemAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -703,7 +704,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -733,16 +734,16 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentAUTODOCKStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(nwchemAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), nwchemAppId);
             setAUTODOCKInputs(exInputs);
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(nwchemAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), nwchemAppId);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, "default", "admin",
 					        "AutoDockExperiment", "Testing", autodockAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(autodockAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), autodockAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -753,7 +754,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -806,16 +807,16 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentWRFTrestles(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(wrfAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), wrfAppId);
             setWRFInputs(exInputs);
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(wrfAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), wrfAppId);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, "default", "admin", "WRFExperiment",
 					        "Testing", wrfAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(wrfAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), wrfAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -826,7 +827,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -848,7 +849,7 @@ public class CreateLaunchExperiment {
 
     public static String cloneExperiment(Airavata.Client client, String expId) throws TException {
         try {
-            return client.cloneExperiment(expId, "cloneExperiment1");
+            return client.cloneExperiment(new AuthzToken(""), expId, "cloneExperiment1");
         } catch (TException e) {
             logger.error("Error occured while creating the experiment...", e.getMessage());
             throw new TException(e);
@@ -858,9 +859,9 @@ public class CreateLaunchExperiment {
 
     public static void updateExperiment(Airavata.Client client, String expId) throws TException {
         try {
-            ExperimentModel experiment = client.getExperiment(expId);
+            ExperimentModel experiment = client.getExperiment(new AuthzToken(""), expId);
             experiment.setDescription("updatedDescription");
-            client.updateExperiment(expId, experiment);
+            client.updateExperiment(new AuthzToken(""), expId, experiment);
         } catch (TException e) {
             logger.error("Error occured while creating the experiment...", e.getMessage());
             throw new TException(e);
@@ -870,13 +871,13 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentEchoForLocalHost(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(echoAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), echoAppId);
             for (InputDataObjectType inputDataObjectType : exInputs) {
                 if (inputDataObjectType.getName().equalsIgnoreCase("Input_to_Echo")) {
                     inputDataObjectType.setValue("Hello World");
                 }
             }
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), echoAppId);
 
             Project project = ProjectModelUtil.createProject("project1", "admin", "test project");
             String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
@@ -886,7 +887,7 @@ public class CreateLaunchExperiment {
 					        "Echo Test", echoAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(echoAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), echoAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -897,7 +898,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -965,13 +966,13 @@ public class CreateLaunchExperiment {
 
     public static String createEchoExperimentForStampede(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(echoAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), echoAppId);
             for (InputDataObjectType inputDataObjectType : exInputs) {
                 if (inputDataObjectType.getName().equalsIgnoreCase("Input_to_Echo")) {
                     inputDataObjectType.setValue("Hello World");
                 }
             }
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), echoAppId);
 
             Project project = ProjectModelUtil.createProject("default", "admin", "test project");
 	        String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
@@ -980,7 +981,7 @@ public class CreateLaunchExperiment {
                     ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY,projectId, "admin", "echoExperiment", "SimpleEcho3", echoAppId, exInputs);
             simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(echoAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), echoAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -991,7 +992,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -1083,13 +1084,13 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentForBR2(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(echoAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), echoAppId);
             for (InputDataObjectType inputDataObjectType : exInputs) {
                 if (inputDataObjectType.getName().equalsIgnoreCase("Input_to_Echo")) {
                     inputDataObjectType.setValue("Hello World");
                 }
             }
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), echoAppId);
 
 
             Project project = ProjectModelUtil.createProject("default", "lahiru", "test project");
@@ -1100,7 +1101,7 @@ public class CreateLaunchExperiment {
 					        "sshEchoExperiment", "SimpleEchoBR", echoAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(echoAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), echoAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -1111,7 +1112,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -1133,12 +1134,12 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentForLSF(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(echoAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), echoAppId);
 
             for (InputDataObjectType inputDataObjectType : exInputs) {
                 inputDataObjectType.setValue("Hello World");
             }
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), echoAppId);
             Project project = ProjectModelUtil.createProject("default", "lg11w", "test project");
             String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
@@ -1149,7 +1150,7 @@ public class CreateLaunchExperiment {
 	        simpleExperiment.setExperimentOutputs(exOut);
             simpleExperiment.setExperimentInputs(exInputs);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(echoAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), echoAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -1161,7 +1162,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
                         simpleExperiment.setEmailAddresses(Arrays.asList(new String[]{"test@umassmed.edu"}));
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -1183,14 +1184,14 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentLAMMPSForLSF(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(lammpsAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), lammpsAppId);
 
             for (InputDataObjectType inputDataObjectType : exInputs) {
                 inputDataObjectType.setName("Friction_Simulation_Input");
                 inputDataObjectType.setValue("/Users/lginnali/Downloads/data/in.friction");
                 inputDataObjectType.setType(DataType.URI);
             }
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), echoAppId);
 
             /*OutputDataObjectType outputDataObjectType = exOut.get(0);
             outputDataObjectType.setName("LAMMPS_Simulation_Log");
@@ -1210,7 +1211,7 @@ public class CreateLaunchExperiment {
 					        "LAMMPSExperiment", "Testing", lammpsAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(lammpsAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), lammpsAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -1221,7 +1222,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -1244,7 +1245,7 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentForBR2Amber(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(amberAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), amberAppId);
 //			for (InputDataObjectType inputDataObjectType : exInputs) {
 //				if (inputDataObjectType.getName().equalsIgnoreCase("Heat_Restart_File")) {
 //					inputDataObjectType.setValue("/Users/raminder/Documents/Sample/Amber/02_Heat.rst");
@@ -1265,7 +1266,7 @@ public class CreateLaunchExperiment {
                 }
             }
 
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(amberAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), amberAppId);
 
             Project project = ProjectModelUtil.createProject("default", "admin", "test project");
             String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
@@ -1276,7 +1277,7 @@ public class CreateLaunchExperiment {
 	        simpleExperiment.setExperimentOutputs(exOut);
 
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(amberAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), amberAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -1287,7 +1288,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -1309,7 +1310,7 @@ public class CreateLaunchExperiment {
 
     public static String createExperimentForStampedeAmber(Airavata.Client client) throws TException {
         try {
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(amberAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), amberAppId);
 //			for (InputDataObjectType inputDataObjectType : exInputs) {
 //				if (inputDataObjectType.getName().equalsIgnoreCase("Heat_Restart_File")) {
 //					inputDataObjectType.setValue("/Users/raminder/Documents/Sample/Amber/02_Heat.rst");
@@ -1330,7 +1331,7 @@ public class CreateLaunchExperiment {
                 }
             }
 
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(amberAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), amberAppId);
 
 
             Project project = ProjectModelUtil.createProject("default", "admin", "test project");
@@ -1341,7 +1342,7 @@ public class CreateLaunchExperiment {
 					        "sshEchoExperiment", "SimpleEchoBR", amberAppId, exInputs);
 	        simpleExperiment.setExperimentOutputs(exOut);
 
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(amberAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), amberAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -1352,7 +1353,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -1375,7 +1376,7 @@ public class CreateLaunchExperiment {
     public static String createExperimentForTrestlesAmber(Airavata.Client client) throws TException {
         try {
 
-            List<InputDataObjectType> exInputs = client.getApplicationInputs(amberAppId);
+            List<InputDataObjectType> exInputs = client.getApplicationInputs(new AuthzToken(""), amberAppId);
 //			for (InputDataObjectType inputDataObjectType : exInputs) {
 //				if (inputDataObjectType.getName().equalsIgnoreCase("Heat_Restart_File")) {
 //					inputDataObjectType.setValue("/Users/raminder/Documents/Sample/Amber/02_Heat.rst");
@@ -1395,7 +1396,7 @@ public class CreateLaunchExperiment {
                     inputDataObjectType.setValue("/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/prmtop");
                 }
             }
-            List<OutputDataObjectType> exOut = client.getApplicationOutputs(amberAppId);
+            List<OutputDataObjectType> exOut = client.getApplicationOutputs(new AuthzToken(""), amberAppId);
 
             Project project = ProjectModelUtil.createProject("default", "admin", "test project");
             String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
@@ -1406,7 +1407,7 @@ public class CreateLaunchExperiment {
 	        simpleExperiment.setExperimentOutputs(exOut);
             simpleExperiment.setEnableEmailNotification(true);
 //            simpleExperiment.addToEmailAddresses("raman@ogce.org");
-            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(amberAppId);
+            Map<String, String> computeResources = airavataClient.getAvailableAppInterfaceComputeResources(new AuthzToken(""), amberAppId);
             if (computeResources != null && computeResources.size() != 0) {
                 for (String id : computeResources.keySet()) {
                     String resourceName = computeResources.get(id);
@@ -1417,7 +1418,7 @@ public class CreateLaunchExperiment {
                         userConfigurationData.setOverrideManualScheduledParams(false);
                         userConfigurationData.setComputationalResourceScheduling(scheduling);
                         simpleExperiment.setUserConfigurationData(userConfigurationData);
-                        return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+                        return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
                     }
                 }
             }
@@ -1441,7 +1442,7 @@ public class CreateLaunchExperiment {
             throws TException {
         try {
             String tokenId = "-0bbb-403b-a88a-42b6dbe198e9";
-            client.launchExperiment(expId, tokenId);
+            client.launchExperiment(new AuthzToken(""), expId, tokenId);
         } catch (ExperimentNotFoundException e) {
             logger.error("Error occured while launching the experiment...", e.getMessage());
             throw new ExperimentNotFoundException(e);
@@ -1568,7 +1569,7 @@ public class CreateLaunchExperiment {
 
     public static void getExperiment(Airavata.Client client, String expId) throws Exception {
         try {
-            ExperimentModel experiment = client.getExperiment(expId);
+            ExperimentModel experiment = client.getExperiment(new AuthzToken(""), expId);
             List<ErrorModel> errors = experiment.getErrors();
             if (errors != null && !errors.isEmpty()) {
                 for (ErrorModel error : errors) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
index 61415bb..1596255 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
@@ -175,7 +175,7 @@ public class CreateLaunchExperimentUS3 {
             userConfigurationData.setOverrideManualScheduledParams(false);
             userConfigurationData.setComputationalResourceScheduling(scheduling);
             simpleExperiment.setUserConfigurationData(userConfigurationData);
-            return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+            return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
         } catch (AiravataSystemException e) {
             logger.error("Error occured while creating the experiment...", e.getMessage());
             throw new AiravataSystemException(e);
@@ -249,7 +249,7 @@ public class CreateLaunchExperimentUS3 {
         
             userConfigurationData.setComputationalResourceScheduling(scheduling);
             simpleExperiment.setUserConfigurationData(userConfigurationData);
-            return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+            return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
         } catch (AiravataSystemException e) {
             logger.error("Error occured while creating the experiment...", e.getMessage());
             throw new AiravataSystemException(e);
@@ -324,7 +324,7 @@ public class CreateLaunchExperimentUS3 {
             userConfigurationData.setAdvanceOutputDataHandling(dataHandling);*/
         
             simpleExperiment.setUserConfigurationData(userConfigurationData);
-            return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+            return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
         } catch (AiravataSystemException e) {
             logger.error("Error occured while creating the experiment...", e.getMessage());
             throw new AiravataSystemException(e);
@@ -398,7 +398,7 @@ public class CreateLaunchExperimentUS3 {
             userConfigurationData.setAdvanceOutputDataHandling(dataHandling);*/
         
             simpleExperiment.setUserConfigurationData(userConfigurationData);
-            return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+            return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
         } catch (AiravataSystemException e) {
             logger.error("Error occured while creating the experiment...", e.getMessage());
             throw new AiravataSystemException(e);
@@ -473,7 +473,7 @@ public class CreateLaunchExperimentUS3 {
             userConfigurationData.setAdvanceOutputDataHandling(dataHandling);*/
         
             simpleExperiment.setUserConfigurationData(userConfigurationData);
-            return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+            return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
         } catch (AiravataSystemException e) {
             logger.error("Error occured while creating the experiment...", e.getMessage());
             throw new AiravataSystemException(e);
@@ -519,7 +519,7 @@ public class CreateLaunchExperimentUS3 {
             userConfigurationData.setOverrideManualScheduledParams(false);
             userConfigurationData.setComputationalResourceScheduling(scheduling);
             simpleExperiment.setUserConfigurationData(userConfigurationData);
-            return client.createExperiment(DEFAULT_GATEWAY, simpleExperiment);
+            return client.createExperiment(new AuthzToken(""), DEFAULT_GATEWAY, simpleExperiment);
         } catch (AiravataSystemException e) {
             logger.error("Error occured while creating the experiment...", e.getMessage());
             throw new AiravataSystemException(e);
@@ -538,7 +538,7 @@ public class CreateLaunchExperimentUS3 {
     public static void launchExperiment (Airavata.Client client, String expId)
             throws TException{
         try {
-            client.launchExperiment(expId, "testToken");
+            client.launchExperiment(new AuthzToken(""), expId, "testToken");
         } catch (ExperimentNotFoundException e) {
             logger.error("Error occured while launching the experiment...", e.getMessage());
             throw new ExperimentNotFoundException(e);

http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
index 3d3c49d..1614ce5 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
@@ -105,7 +105,7 @@ public class RegisterSampleData {
         GatewayResourceProfile gatewayResourceProfile = new GatewayResourceProfile();
         gatewayResourceProfile.setGatewayID(gatewayId);
         gatewayResourceProfile.addToComputeResourcePreferences(localhostResourcePreference);
-        airavataClient.registerGatewayResourceProfile(gatewayResourceProfile);
+        airavataClient.registerGatewayResourceProfile(new AuthzToken(""), gatewayResourceProfile);
     }
 
     private void registerLocalhost() {
@@ -119,12 +119,12 @@ public class RegisterSampleData {
             JobSubmissionInterface jobSubmissionInterface = new JobSubmissionInterface("localhost_job_submission_interface", JobSubmissionProtocol.LOCAL, 1);
             computeResourceDescription.addToJobSubmissionInterfaces(jobSubmissionInterface);
 
-            localhostId = airavataClient.registerComputeResource(computeResourceDescription);
+            localhostId = airavataClient.registerComputeResource(new AuthzToken(""), computeResourceDescription);
             ResourceJobManager resourceJobManager = RegisterSampleApplicationsUtils.
                     createResourceJobManager(ResourceJobManagerType.FORK, null, null, null);
             LOCALSubmission submission = new LOCALSubmission();
             submission.setResourceJobManager(resourceJobManager);
-            String localSubmission = airavataClient.addLocalSubmissionDetails(localhostId, 1, submission);
+            String localSubmission = airavataClient.addLocalSubmissionDetails(new AuthzToken(""), localhostId, 1, submission);
 //            if (!localSubmission) throw new AiravataClientException();
             System.out.println(localSubmission);
             System.out.println("LocalHost Resource Id is " + localhostId);
@@ -162,7 +162,7 @@ public class RegisterSampleData {
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
 
-            String addApplicationInterfaceId = airavataClient.registerApplicationInterface(gatewayId,
+            String addApplicationInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), gatewayId,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Gaussian", "Gaussian application",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Gaussian Application Interface Id " + addApplicationInterfaceId);
@@ -210,7 +210,7 @@ public class RegisterSampleData {
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
 
-            String addApplicationInterfaceId = airavataClient.registerApplicationInterface(gatewayId,
+            String addApplicationInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), gatewayId,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Tinker_Monte", "Monte application",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Monte Application Interface Id " + addApplicationInterfaceId);
@@ -223,42 +223,42 @@ public class RegisterSampleData {
     private void registerApplicationDeployments() throws TException {
         System.out.println("#### Registering Application Deployments on Localhost ####");
         //Register Echo
-        String echoAppDeployId = airavataClient.registerApplicationDeployment(gatewayId,
+        String echoAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, localhostId,
                         sampleScriptDir + "/echo.sh", ApplicationParallelismType.SERIAL, "Echo application description",
                         null, null, null));
         System.out.println("Successfully registered Echo application on localhost, application Id = " + echoAppDeployId);
 
         //Register Add application
-        String addAppDeployId = airavataClient.registerApplicationDeployment(gatewayId,
+        String addAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationDeployment(addModuleId, localhostId,
                         sampleScriptDir + "/add.sh", ApplicationParallelismType.SERIAL, "Add application description",
                         null, null, null));
         System.out.println("Successfully registered Add application on localhost, application Id = " + addAppDeployId);
 
         //Register Multiply application
-        String multiplyAppDeployId = airavataClient.registerApplicationDeployment(gatewayId,
+        String multiplyAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationDeployment(multiplyModuleId, localhostId,
                         sampleScriptDir + "/multiply.sh", ApplicationParallelismType.SERIAL, "Multiply application description",
                         null, null, null));
         System.out.println("Successfully registered Multiply application on localhost, application Id = " + multiplyAppDeployId);
 
         //Register Subtract application
-        String subtractAppDeployId = airavataClient.registerApplicationDeployment(gatewayId,
+        String subtractAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationDeployment(subtractModuleId, localhostId,
                         sampleScriptDir + "/subtract.sh", ApplicationParallelismType.SERIAL, "Subtract application description ",
                         null, null, null));
         System.out.println("Successfully registered Subtract application on localhost, application Id = " + subtractAppDeployId);
 
         //Register Tinker monte application
-        String tinkerMonteAppDeployId = airavataClient.registerApplicationDeployment(gatewayId,
+        String tinkerMonteAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationDeployment(monteXModuleId, localhostId,
                         sampleScriptDir + "/monte.x", ApplicationParallelismType.SERIAL, "Grid chem tinker monte application description ",
                         null, null, null));
         System.out.println("Successfully registered tinker monte application on localhost, application Id = " + tinkerMonteAppDeployId);
 
         //Register Tinker monte application
-        String gaussianAppDeployId = airavataClient.registerApplicationDeployment(gatewayId,
+        String gaussianAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationDeployment(gaussianModuleId, localhostId,
                         sampleScriptDir + "/gaussian.sh", ApplicationParallelismType.SERIAL, "Grid chem Gaussian application description ",
                         null, null, null));
@@ -267,28 +267,28 @@ public class RegisterSampleData {
 
     private void registerApplicationModules() throws TException {
         //Register Echo
-        echoModuleId = airavataClient.registerApplicationModule(gatewayId,
+        echoModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationModule(
                         "Echo", "1.0", "Echo application description"));
         //Register Echo
-        addModuleId = airavataClient.registerApplicationModule(gatewayId,
+        addModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationModule(
                         "Add", "1.0", "Add application description"));
         //Register Echo
-        multiplyModuleId = airavataClient.registerApplicationModule(gatewayId,
+        multiplyModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationModule(
                         "Multiply", "1.0", "Multiply application description"));
         //Register Echo
-        subtractModuleId = airavataClient.registerApplicationModule(gatewayId,
+        subtractModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationModule(
                         "Subtract", "1.0", "Subtract application description"));
         //Register Monte
-        monteXModuleId = airavataClient.registerApplicationModule(gatewayId,
+        monteXModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationModule(
                         "Tinker Monte", "1.0", "Grid chem tinker monte application description"));
 
         // Register gaussian application
-        gaussianModuleId = airavataClient.registerApplicationModule(gatewayId,
+        gaussianModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), gatewayId,
                 RegisterSampleApplicationsUtils.createApplicationModule(
                         "Gaussian", "1.0", "Grid Chem Gaussian application description"));
 
@@ -314,7 +314,7 @@ public class RegisterSampleData {
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
 
-            String echoInterfaceId = airavataClient.registerApplicationInterface(gatewayId,
+            String echoInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), gatewayId,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Echo", "Echo application description",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Echo Application Interface Id " + echoInterfaceId);
@@ -346,7 +346,7 @@ public class RegisterSampleData {
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
 
-            String addApplicationInterfaceId = airavataClient.registerApplicationInterface(gatewayId,
+            String addApplicationInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), gatewayId,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Add", "Add two numbers",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Add Application Interface Id " + addApplicationInterfaceId);
@@ -378,7 +378,7 @@ public class RegisterSampleData {
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
 
-            String multiplyApplicationInterfaceId = airavataClient.registerApplicationInterface(gatewayId,
+            String multiplyApplicationInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), gatewayId,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Multiply", "Multiply two numbers",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Multiply Application Interface Id " + multiplyApplicationInterfaceId);
@@ -410,7 +410,7 @@ public class RegisterSampleData {
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
 
-            String subtractApplicationInterfaceId = airavataClient.registerApplicationInterface(gatewayId,
+            String subtractApplicationInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), gatewayId,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Subtract", "Subtract two numbers",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Subtract Application Interface Id " + subtractApplicationInterfaceId);

http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
index e7f2dec..0a49775 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
@@ -42,6 +42,7 @@ import org.apache.airavata.model.application.io.DataType;
 import org.apache.airavata.model.application.io.InputDataObjectType;
 import org.apache.airavata.model.application.io.OutputDataObjectType;
 import org.apache.airavata.model.error.AiravataClientException;
+import org.apache.airavata.model.security.AuthzToken;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -159,7 +160,7 @@ public class RegisterOGCEUS3Application {
             System.out.println("\n #### Registering Application Modules #### \n");
 
             //Register Echo
-            ultrascanModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            ultrascanModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             "ultrascan_ogce", "1.0", "ultrascan application"));
             System.out.println("Ultrascan Module Id " + ultrascanModuleId);
@@ -191,7 +192,7 @@ public class RegisterOGCEUS3Application {
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
 
-            ultrascanAppId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            ultrascanAppId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("ultrascan", "ultrascan application",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Ultrascan Application Interface Id " + ultrascanAppId);
@@ -206,12 +207,12 @@ public class RegisterOGCEUS3Application {
 			System.out.println("#### Registering Application Deployments on Stampede #### \n");
 
 			// Register Stampede
-			String ultascanStamplede = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
+			String ultascanStamplede = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
 					stampedeResourceId, "/home1/01437/ogce/xsede_apps/ultrascan/bin/us_mpi_analysis",
                     ApplicationParallelismType.MPI, "ultrascan OGCE application", null, null, null));
 			System.out.println("Ultrascan on stampede deployment Id " + ultascanStamplede);
 			
-			String ultascanTrestles = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
+			String ultascanTrestles = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
 					trestlesResourceId, "/home/ogce/xsede_app/ultrascan/bin/us_mpi_analysis",
                     ApplicationParallelismType.MPI, "ultrascan OGCE application", null, null, null));
 			System.out.println("Ultrascan on trestles deployment Id " + ultascanTrestles);
@@ -254,7 +255,7 @@ public class RegisterOGCEUS3Application {
   //          gatewayResourceProfile.addToComputeResourcePreferences(lonestarResourcePreferences);
   //          gatewayResourceProfile.addToComputeResourcePreferences(alamoResourcePreferences);
 
-            String gatewayProfile = airavataClient.registerGatewayResourceProfile(gatewayResourceProfile);
+            String gatewayProfile = airavataClient.registerGatewayResourceProfile(new AuthzToken(""), gatewayResourceProfile);
             System.out.println("Gateway Profile is registered with Id " + gatewayProfile);
 
         } catch (TException e) {
@@ -267,7 +268,7 @@ public class RegisterOGCEUS3Application {
 		ComputeResourceDescription computeResourceDescription = RegisterSampleApplicationsUtils
 				.createComputeResourceDescription(hostName, hostDesc, null, null);
 
-		String computeResourceId = airavataClient.registerComputeResource(computeResourceDescription);
+		String computeResourceId = airavataClient.registerComputeResource(new AuthzToken(""), computeResourceDescription);
 
 		if (computeResourceId.isEmpty())
 			throw new AiravataClientException();
@@ -284,12 +285,12 @@ public class RegisterOGCEUS3Application {
 		sshJobSubmission.setResourceJobManager(resourceJobManager);
 		sshJobSubmission.setSecurityProtocol(securityProtocol);
 		sshJobSubmission.setSshPort(portNumber);
-		airavataClient.addSSHJobSubmissionDetails(computeResourceId, 1, sshJobSubmission);
+		airavataClient.addSSHJobSubmissionDetails(new AuthzToken(""), computeResourceId, 1, sshJobSubmission);
 
 		SCPDataMovement scpDataMovement = new SCPDataMovement();
 		scpDataMovement.setSecurityProtocol(securityProtocol);
 		scpDataMovement.setSshPort(portNumber);
-		airavataClient.addSCPDataMovementDetails(computeResourceId, 1, scpDataMovement);
+		airavataClient.addSCPDataMovementDetails(new AuthzToken(""), computeResourceId, 1, scpDataMovement);
 
 		return computeResourceId;
 	}
@@ -311,13 +312,14 @@ public class RegisterOGCEUS3Application {
 		sshJobSubmission.setResourceJobManager(resourceJobManager);
 		sshJobSubmission.setSecurityProtocol(securityProtocol);
 		sshJobSubmission.setSshPort(portNumber);
-		airavataClient.addSSHJobSubmissionDetails(computeResourceId, 1, sshJobSubmission);
-		ComputeResourceDescription computeResourceDescription = airavataClient.getComputeResource(computeResourceId);
+		airavataClient.addSSHJobSubmissionDetails(new AuthzToken(""), computeResourceId, 1, sshJobSubmission);
+		ComputeResourceDescription computeResourceDescription = airavataClient.getComputeResource(new AuthzToken(""),
+                computeResourceId);
 		computeResourceDescription.getJobSubmissionInterfacesIterator();
 		SCPDataMovement scpDataMovement = new SCPDataMovement();
 		scpDataMovement.setSecurityProtocol(securityProtocol);
 		scpDataMovement.setSshPort(portNumber);
-		airavataClient.addSCPDataMovementDetails(computeResourceId, 1, scpDataMovement);
+		airavataClient.addSCPDataMovementDetails(new AuthzToken(""), computeResourceId, 1, scpDataMovement);
 
 		return computeResourceId;
 	}


[36/44] airavata git commit: fixed all compilation errors in the java client samples after the API changes.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index 05dd425..3d41aa7 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -39,118 +39,118 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  Project getProject(AuthzToken authzToken, string projectId)')
   print('  bool deleteProject(AuthzToken authzToken, string projectId)')
   print('   getAllUserProjects(string gatewayId, string userName)')
-  print('   getAllUserProjectsWithPagination(string gatewayId, string userName, i32 limit, i32 offset)')
+  print('   getAllUserProjectsWithPagination(AuthzToken authzToken, string gatewayId, string userName, i32 limit, i32 offset)')
   print('   searchProjectsByProjectName(string gatewayId, string userName, string projectName)')
-  print('   searchProjectsByProjectNameWithPagination(string gatewayId, string userName, string projectName, i32 limit, i32 offset)')
+  print('   searchProjectsByProjectNameWithPagination(AuthzToken authzToken, string gatewayId, string userName, string projectName, i32 limit, i32 offset)')
   print('   searchProjectsByProjectDesc(string gatewayId, string userName, string description)')
-  print('   searchProjectsByProjectDescWithPagination(string gatewayId, string userName, string description, i32 limit, i32 offset)')
+  print('   searchProjectsByProjectDescWithPagination(AuthzToken authzToken, string gatewayId, string userName, string description, i32 limit, i32 offset)')
   print('   searchExperimentsByName(string gatewayId, string userName, string expName)')
-  print('   searchExperimentsByNameWithPagination(string gatewayId, string userName, string expName, i32 limit, i32 offset)')
+  print('   searchExperimentsByNameWithPagination(AuthzToken authzToken, string gatewayId, string userName, string expName, i32 limit, i32 offset)')
   print('   searchExperimentsByDesc(string gatewayId, string userName, string description)')
-  print('   searchExperimentsByDescWithPagination(string gatewayId, string userName, string description, i32 limit, i32 offset)')
+  print('   searchExperimentsByDescWithPagination(AuthzToken authzToken, string gatewayId, string userName, string description, i32 limit, i32 offset)')
   print('   searchExperimentsByApplication(string gatewayId, string userName, string applicationId)')
-  print('   searchExperimentsByApplicationWithPagination(string gatewayId, string userName, string applicationId, i32 limit, i32 offset)')
+  print('   searchExperimentsByApplicationWithPagination(AuthzToken authzToken, string gatewayId, string userName, string applicationId, i32 limit, i32 offset)')
   print('   searchExperimentsByStatus(string gatewayId, string userName, ExperimentState experimentState)')
-  print('   searchExperimentsByStatusWithPagination(string gatewayId, string userName, ExperimentState experimentState, i32 limit, i32 offset)')
+  print('   searchExperimentsByStatusWithPagination(AuthzToken authzToken, string gatewayId, string userName, ExperimentState experimentState, i32 limit, i32 offset)')
   print('   searchExperimentsByCreationTime(string gatewayId, string userName, i64 fromTime, i64 toTime)')
-  print('   searchExperimentsByCreationTimeWithPagination(string gatewayId, string userName, i64 fromTime, i64 toTime, i32 limit, i32 offset)')
-  print('   searchExperiments(string gatewayId, string userName,  filters, i32 limit, i32 offset)')
-  print('  ExperimentStatistics getExperimentStatistics(string gatewayId, i64 fromTime, i64 toTime)')
+  print('   searchExperimentsByCreationTimeWithPagination(AuthzToken authzToken, string gatewayId, string userName, i64 fromTime, i64 toTime, i32 limit, i32 offset)')
+  print('   searchExperiments(AuthzToken authzToken, string gatewayId, string userName,  filters, i32 limit, i32 offset)')
+  print('  ExperimentStatistics getExperimentStatistics(AuthzToken authzToken, string gatewayId, i64 fromTime, i64 toTime)')
   print('   getAllExperimentsInProject(string projectId)')
-  print('   getAllExperimentsInProjectWithPagination(string projectId, i32 limit, i32 offset)')
+  print('   getAllExperimentsInProjectWithPagination(AuthzToken authzToken, string projectId, i32 limit, i32 offset)')
   print('   getAllUserExperiments(string gatewayId, string userName)')
-  print('   getAllUserExperimentsWithPagination(string gatewayId, string userName, i32 limit, i32 offset)')
-  print('  string createExperiment(string gatewayId, ExperimentModel experiment)')
-  print('  ExperimentModel getExperiment(string airavataExperimentId)')
-  print('  void updateExperiment(string airavataExperimentId, ExperimentModel experiment)')
-  print('  void updateExperimentConfiguration(string airavataExperimentId, UserConfigurationDataModel userConfiguration)')
-  print('  void updateResourceScheduleing(string airavataExperimentId, ComputationalResourceSchedulingModel resourceScheduling)')
-  print('  bool validateExperiment(string airavataExperimentId)')
-  print('  void launchExperiment(string airavataExperimentId, string airavataCredStoreToken)')
-  print('  ExperimentStatus getExperimentStatus(string airavataExperimentId)')
-  print('   getExperimentOutputs(string airavataExperimentId)')
-  print('   getIntermediateOutputs(string airavataExperimentId)')
-  print('   getJobStatuses(string airavataExperimentId)')
-  print('   getJobDetails(string airavataExperimentId)')
-  print('  string cloneExperiment(string existingExperimentID, string newExperimentName)')
-  print('  void terminateExperiment(string airavataExperimentId, string tokenId)')
-  print('  string registerApplicationModule(string gatewayId, ApplicationModule applicationModule)')
-  print('  ApplicationModule getApplicationModule(string appModuleId)')
-  print('  bool updateApplicationModule(string appModuleId, ApplicationModule applicationModule)')
-  print('   getAllAppModules(string gatewayId)')
-  print('  bool deleteApplicationModule(string appModuleId)')
-  print('  string registerApplicationDeployment(string gatewayId, ApplicationDeploymentDescription applicationDeployment)')
-  print('  ApplicationDeploymentDescription getApplicationDeployment(string appDeploymentId)')
-  print('  bool updateApplicationDeployment(string appDeploymentId, ApplicationDeploymentDescription applicationDeployment)')
-  print('  bool deleteApplicationDeployment(string appDeploymentId)')
-  print('   getAllApplicationDeployments(string gatewayId)')
-  print('   getAppModuleDeployedResources(string appModuleId)')
-  print('  string registerApplicationInterface(string gatewayId, ApplicationInterfaceDescription applicationInterface)')
-  print('  ApplicationInterfaceDescription getApplicationInterface(string appInterfaceId)')
-  print('  bool updateApplicationInterface(string appInterfaceId, ApplicationInterfaceDescription applicationInterface)')
-  print('  bool deleteApplicationInterface(string appInterfaceId)')
-  print('   getAllApplicationInterfaceNames(string gatewayId)')
-  print('   getAllApplicationInterfaces(string gatewayId)')
-  print('   getApplicationInputs(string appInterfaceId)')
-  print('   getApplicationOutputs(string appInterfaceId)')
-  print('   getAvailableAppInterfaceComputeResources(string appInterfaceId)')
-  print('  string registerComputeResource(ComputeResourceDescription computeResourceDescription)')
-  print('  ComputeResourceDescription getComputeResource(string computeResourceId)')
-  print('   getAllComputeResourceNames()')
-  print('  bool updateComputeResource(string computeResourceId, ComputeResourceDescription computeResourceDescription)')
-  print('  bool deleteComputeResource(string computeResourceId)')
-  print('  string addLocalSubmissionDetails(string computeResourceId, i32 priorityOrder, LOCALSubmission localSubmission)')
-  print('  bool updateLocalSubmissionDetails(string jobSubmissionInterfaceId, LOCALSubmission localSubmission)')
-  print('  LOCALSubmission getLocalJobSubmission(string jobSubmissionId)')
-  print('  string addSSHJobSubmissionDetails(string computeResourceId, i32 priorityOrder, SSHJobSubmission sshJobSubmission)')
-  print('  SSHJobSubmission getSSHJobSubmission(string jobSubmissionId)')
-  print('  string addUNICOREJobSubmissionDetails(string computeResourceId, i32 priorityOrder, UnicoreJobSubmission unicoreJobSubmission)')
-  print('  UnicoreJobSubmission getUnicoreJobSubmission(string jobSubmissionId)')
-  print('  string addCloudJobSubmissionDetails(string computeResourceId, i32 priorityOrder, CloudJobSubmission cloudSubmission)')
-  print('  CloudJobSubmission getCloudJobSubmission(string jobSubmissionId)')
-  print('  bool updateSSHJobSubmissionDetails(string jobSubmissionInterfaceId, SSHJobSubmission sshJobSubmission)')
-  print('  bool updateCloudJobSubmissionDetails(string jobSubmissionInterfaceId, CloudJobSubmission sshJobSubmission)')
-  print('  bool updateUnicoreJobSubmissionDetails(string jobSubmissionInterfaceId, UnicoreJobSubmission unicoreJobSubmission)')
-  print('  string addLocalDataMovementDetails(string computeResourceId, i32 priorityOrder, LOCALDataMovement localDataMovement)')
-  print('  bool updateLocalDataMovementDetails(string dataMovementInterfaceId, LOCALDataMovement localDataMovement)')
-  print('  LOCALDataMovement getLocalDataMovement(string dataMovementId)')
-  print('  string addSCPDataMovementDetails(string computeResourceId, i32 priorityOrder, SCPDataMovement scpDataMovement)')
-  print('  bool updateSCPDataMovementDetails(string dataMovementInterfaceId, SCPDataMovement scpDataMovement)')
-  print('  SCPDataMovement getSCPDataMovement(string dataMovementId)')
-  print('  string addUnicoreDataMovementDetails(string computeResourceId, i32 priorityOrder, UnicoreDataMovement unicoreDataMovement)')
-  print('  bool updateUnicoreDataMovementDetails(string dataMovementInterfaceId, UnicoreDataMovement unicoreDataMovement)')
-  print('  UnicoreDataMovement getUnicoreDataMovement(string dataMovementId)')
-  print('  string addGridFTPDataMovementDetails(string computeResourceId, i32 priorityOrder, GridFTPDataMovement gridFTPDataMovement)')
-  print('  bool updateGridFTPDataMovementDetails(string dataMovementInterfaceId, GridFTPDataMovement gridFTPDataMovement)')
-  print('  GridFTPDataMovement getGridFTPDataMovement(string dataMovementId)')
-  print('  bool changeJobSubmissionPriority(string jobSubmissionInterfaceId, i32 newPriorityOrder)')
-  print('  bool changeDataMovementPriority(string dataMovementInterfaceId, i32 newPriorityOrder)')
-  print('  bool changeJobSubmissionPriorities( jobSubmissionPriorityMap)')
-  print('  bool changeDataMovementPriorities( dataMovementPriorityMap)')
-  print('  bool deleteJobSubmissionInterface(string computeResourceId, string jobSubmissionInterfaceId)')
-  print('  bool deleteDataMovementInterface(string computeResourceId, string dataMovementInterfaceId)')
-  print('  string registerResourceJobManager(ResourceJobManager resourceJobManager)')
-  print('  bool updateResourceJobManager(string resourceJobManagerId, ResourceJobManager updatedResourceJobManager)')
-  print('  ResourceJobManager getResourceJobManager(string resourceJobManagerId)')
-  print('  bool deleteResourceJobManager(string resourceJobManagerId)')
-  print('  bool deleteBatchQueue(string computeResourceId, string queueName)')
-  print('  string registerGatewayResourceProfile(GatewayResourceProfile gatewayResourceProfile)')
-  print('  GatewayResourceProfile getGatewayResourceProfile(string gatewayID)')
-  print('  bool updateGatewayResourceProfile(string gatewayID, GatewayResourceProfile gatewayResourceProfile)')
-  print('  bool deleteGatewayResourceProfile(string gatewayID)')
-  print('  bool addGatewayComputeResourcePreference(string gatewayID, string computeResourceId, ComputeResourcePreference computeResourcePreference)')
-  print('  ComputeResourcePreference getGatewayComputeResourcePreference(string gatewayID, string computeResourceId)')
-  print('   getAllGatewayComputeResourcePreferences(string gatewayID)')
-  print('   getAllGatewayComputeResources()')
-  print('  bool updateGatewayComputeResourcePreference(string gatewayID, string computeResourceId, ComputeResourcePreference computeResourcePreference)')
-  print('  bool deleteGatewayComputeResourcePreference(string gatewayID, string computeResourceId)')
-  print('   getAllWorkflows(string gatewayId)')
-  print('  Workflow getWorkflow(string workflowTemplateId)')
-  print('  void deleteWorkflow(string workflowTemplateId)')
-  print('  string registerWorkflow(string gatewayId, Workflow workflow)')
-  print('  void updateWorkflow(string workflowTemplateId, Workflow workflow)')
-  print('  string getWorkflowTemplateId(string workflowName)')
-  print('  bool isWorkflowExistWithName(string workflowName)')
+  print('   getAllUserExperimentsWithPagination(AuthzToken authzToken, string gatewayId, string userName, i32 limit, i32 offset)')
+  print('  string createExperiment(AuthzToken authzToken, string gatewayId, ExperimentModel experiment)')
+  print('  ExperimentModel getExperiment(AuthzToken authzToken, string airavataExperimentId)')
+  print('  void updateExperiment(AuthzToken authzToken, string airavataExperimentId, ExperimentModel experiment)')
+  print('  void updateExperimentConfiguration(AuthzToken authzToken, string airavataExperimentId, UserConfigurationDataModel userConfiguration)')
+  print('  void updateResourceScheduleing(AuthzToken authzToken, string airavataExperimentId, ComputationalResourceSchedulingModel resourceScheduling)')
+  print('  bool validateExperiment(AuthzToken authzToken, string airavataExperimentId)')
+  print('  void launchExperiment(AuthzToken authzToken, string airavataExperimentId, string airavataCredStoreToken)')
+  print('  ExperimentStatus getExperimentStatus(AuthzToken authzToken, string airavataExperimentId)')
+  print('   getExperimentOutputs(AuthzToken authzToken, string airavataExperimentId)')
+  print('   getIntermediateOutputs(AuthzToken authzToken, string airavataExperimentId)')
+  print('   getJobStatuses(AuthzToken authzToken, string airavataExperimentId)')
+  print('   getJobDetails(AuthzToken authzToken, string airavataExperimentId)')
+  print('  string cloneExperiment(AuthzToken authzToken, string existingExperimentID, string newExperimentName)')
+  print('  void terminateExperiment(AuthzToken authzToken, string airavataExperimentId, string tokenId)')
+  print('  string registerApplicationModule(AuthzToken authzToken, string gatewayId, ApplicationModule applicationModule)')
+  print('  ApplicationModule getApplicationModule(AuthzToken authzToken, string appModuleId)')
+  print('  bool updateApplicationModule(AuthzToken authzToken, string appModuleId, ApplicationModule applicationModule)')
+  print('   getAllAppModules(AuthzToken authzToken, string gatewayId)')
+  print('  bool deleteApplicationModule(AuthzToken authzToken, string appModuleId)')
+  print('  string registerApplicationDeployment(AuthzToken authzToken, string gatewayId, ApplicationDeploymentDescription applicationDeployment)')
+  print('  ApplicationDeploymentDescription getApplicationDeployment(AuthzToken authzToken, string appDeploymentId)')
+  print('  bool updateApplicationDeployment(AuthzToken authzToken, string appDeploymentId, ApplicationDeploymentDescription applicationDeployment)')
+  print('  bool deleteApplicationDeployment(AuthzToken authzToken, string appDeploymentId)')
+  print('   getAllApplicationDeployments(AuthzToken authzToken, string gatewayId)')
+  print('   getAppModuleDeployedResources(AuthzToken authzToken, string appModuleId)')
+  print('  string registerApplicationInterface(AuthzToken authzToken, string gatewayId, ApplicationInterfaceDescription applicationInterface)')
+  print('  ApplicationInterfaceDescription getApplicationInterface(AuthzToken authzToken, string appInterfaceId)')
+  print('  bool updateApplicationInterface(AuthzToken authzToken, string appInterfaceId, ApplicationInterfaceDescription applicationInterface)')
+  print('  bool deleteApplicationInterface(AuthzToken authzToken, string appInterfaceId)')
+  print('   getAllApplicationInterfaceNames(AuthzToken authzToken, string gatewayId)')
+  print('   getAllApplicationInterfaces(AuthzToken authzToken, string gatewayId)')
+  print('   getApplicationInputs(AuthzToken authzToken, string appInterfaceId)')
+  print('   getApplicationOutputs(AuthzToken authzToken, string appInterfaceId)')
+  print('   getAvailableAppInterfaceComputeResources(AuthzToken authzToken, string appInterfaceId)')
+  print('  string registerComputeResource(AuthzToken authzToken, ComputeResourceDescription computeResourceDescription)')
+  print('  ComputeResourceDescription getComputeResource(AuthzToken authzToken, string computeResourceId)')
+  print('   getAllComputeResourceNames(AuthzToken authzToken)')
+  print('  bool updateComputeResource(AuthzToken authzToken, string computeResourceId, ComputeResourceDescription computeResourceDescription)')
+  print('  bool deleteComputeResource(AuthzToken authzToken, string computeResourceId)')
+  print('  string addLocalSubmissionDetails(AuthzToken authzToken, string computeResourceId, i32 priorityOrder, LOCALSubmission localSubmission)')
+  print('  bool updateLocalSubmissionDetails(AuthzToken authzToken, string jobSubmissionInterfaceId, LOCALSubmission localSubmission)')
+  print('  LOCALSubmission getLocalJobSubmission(AuthzToken authzToken, string jobSubmissionId)')
+  print('  string addSSHJobSubmissionDetails(AuthzToken authzToken, string computeResourceId, i32 priorityOrder, SSHJobSubmission sshJobSubmission)')
+  print('  SSHJobSubmission getSSHJobSubmission(AuthzToken authzToken, string jobSubmissionId)')
+  print('  string addUNICOREJobSubmissionDetails(AuthzToken authzToken, string computeResourceId, i32 priorityOrder, UnicoreJobSubmission unicoreJobSubmission)')
+  print('  UnicoreJobSubmission getUnicoreJobSubmission(AuthzToken authzToken, string jobSubmissionId)')
+  print('  string addCloudJobSubmissionDetails(AuthzToken authzToken, string computeResourceId, i32 priorityOrder, CloudJobSubmission cloudSubmission)')
+  print('  CloudJobSubmission getCloudJobSubmission(AuthzToken authzToken, string jobSubmissionId)')
+  print('  bool updateSSHJobSubmissionDetails(AuthzToken authzToken, string jobSubmissionInterfaceId, SSHJobSubmission sshJobSubmission)')
+  print('  bool updateCloudJobSubmissionDetails(AuthzToken authzToken, string jobSubmissionInterfaceId, CloudJobSubmission sshJobSubmission)')
+  print('  bool updateUnicoreJobSubmissionDetails(AuthzToken authzToken, string jobSubmissionInterfaceId, UnicoreJobSubmission unicoreJobSubmission)')
+  print('  string addLocalDataMovementDetails(AuthzToken authzToken, string computeResourceId, i32 priorityOrder, LOCALDataMovement localDataMovement)')
+  print('  bool updateLocalDataMovementDetails(AuthzToken authzToken, string dataMovementInterfaceId, LOCALDataMovement localDataMovement)')
+  print('  LOCALDataMovement getLocalDataMovement(AuthzToken authzToken, string dataMovementId)')
+  print('  string addSCPDataMovementDetails(AuthzToken authzToken, string computeResourceId, i32 priorityOrder, SCPDataMovement scpDataMovement)')
+  print('  bool updateSCPDataMovementDetails(AuthzToken authzToken, string dataMovementInterfaceId, SCPDataMovement scpDataMovement)')
+  print('  SCPDataMovement getSCPDataMovement(AuthzToken authzToken, string dataMovementId)')
+  print('  string addUnicoreDataMovementDetails(AuthzToken authzToken, string computeResourceId, i32 priorityOrder, UnicoreDataMovement unicoreDataMovement)')
+  print('  bool updateUnicoreDataMovementDetails(AuthzToken authzToken, string dataMovementInterfaceId, UnicoreDataMovement unicoreDataMovement)')
+  print('  UnicoreDataMovement getUnicoreDataMovement(AuthzToken authzToken, string dataMovementId)')
+  print('  string addGridFTPDataMovementDetails(AuthzToken authzToken, string computeResourceId, i32 priorityOrder, GridFTPDataMovement gridFTPDataMovement)')
+  print('  bool updateGridFTPDataMovementDetails(AuthzToken authzToken, string dataMovementInterfaceId, GridFTPDataMovement gridFTPDataMovement)')
+  print('  GridFTPDataMovement getGridFTPDataMovement(AuthzToken authzToken, string dataMovementId)')
+  print('  bool changeJobSubmissionPriority(AuthzToken authzToken, string jobSubmissionInterfaceId, i32 newPriorityOrder)')
+  print('  bool changeDataMovementPriority(AuthzToken authzToken, string dataMovementInterfaceId, i32 newPriorityOrder)')
+  print('  bool changeJobSubmissionPriorities(AuthzToken authzToken,  jobSubmissionPriorityMap)')
+  print('  bool changeDataMovementPriorities(AuthzToken authzToken,  dataMovementPriorityMap)')
+  print('  bool deleteJobSubmissionInterface(AuthzToken authzToken, string computeResourceId, string jobSubmissionInterfaceId)')
+  print('  bool deleteDataMovementInterface(AuthzToken authzToken, string computeResourceId, string dataMovementInterfaceId)')
+  print('  string registerResourceJobManager(AuthzToken authzToken, ResourceJobManager resourceJobManager)')
+  print('  bool updateResourceJobManager(AuthzToken authzToken, string resourceJobManagerId, ResourceJobManager updatedResourceJobManager)')
+  print('  ResourceJobManager getResourceJobManager(AuthzToken authzToken, string resourceJobManagerId)')
+  print('  bool deleteResourceJobManager(AuthzToken authzToken, string resourceJobManagerId)')
+  print('  bool deleteBatchQueue(AuthzToken authzToken, string computeResourceId, string queueName)')
+  print('  string registerGatewayResourceProfile(AuthzToken authzToken, GatewayResourceProfile gatewayResourceProfile)')
+  print('  GatewayResourceProfile getGatewayResourceProfile(AuthzToken authzToken, string gatewayID)')
+  print('  bool updateGatewayResourceProfile(AuthzToken authzToken, string gatewayID, GatewayResourceProfile gatewayResourceProfile)')
+  print('  bool deleteGatewayResourceProfile(AuthzToken authzToken, string gatewayID)')
+  print('  bool addGatewayComputeResourcePreference(AuthzToken authzToken, string gatewayID, string computeResourceId, ComputeResourcePreference computeResourcePreference)')
+  print('  ComputeResourcePreference getGatewayComputeResourcePreference(AuthzToken authzToken, string gatewayID, string computeResourceId)')
+  print('   getAllGatewayComputeResourcePreferences(AuthzToken authzToken, string gatewayID)')
+  print('   getAllGatewayComputeResources(AuthzToken authzToken)')
+  print('  bool updateGatewayComputeResourcePreference(AuthzToken authzToken, string gatewayID, string computeResourceId, ComputeResourcePreference computeResourcePreference)')
+  print('  bool deleteGatewayComputeResourcePreference(AuthzToken authzToken, string gatewayID, string computeResourceId)')
+  print('   getAllWorkflows(AuthzToken authzToken, string gatewayId)')
+  print('  Workflow getWorkflow(AuthzToken authzToken, string workflowTemplateId)')
+  print('  void deleteWorkflow(AuthzToken authzToken, string workflowTemplateId)')
+  print('  string registerWorkflow(AuthzToken authzToken, string gatewayId, Workflow workflow)')
+  print('  void updateWorkflow(AuthzToken authzToken, string workflowTemplateId, Workflow workflow)')
+  print('  string getWorkflowTemplateId(AuthzToken authzToken, string workflowName)')
+  print('  bool isWorkflowExistWithName(AuthzToken authzToken, string workflowName)')
   print('')
   sys.exit(0)
 
@@ -298,10 +298,10 @@ elif cmd == 'getAllUserProjects':
   pp.pprint(client.getAllUserProjects(args[0],args[1],))
 
 elif cmd == 'getAllUserProjectsWithPagination':
-  if len(args) != 4:
-    print('getAllUserProjectsWithPagination requires 4 args')
+  if len(args) != 5:
+    print('getAllUserProjectsWithPagination requires 5 args')
     sys.exit(1)
-  pp.pprint(client.getAllUserProjectsWithPagination(args[0],args[1],eval(args[2]),eval(args[3]),))
+  pp.pprint(client.getAllUserProjectsWithPagination(eval(args[0]),args[1],args[2],eval(args[3]),eval(args[4]),))
 
 elif cmd == 'searchProjectsByProjectName':
   if len(args) != 3:
@@ -310,10 +310,10 @@ elif cmd == 'searchProjectsByProjectName':
   pp.pprint(client.searchProjectsByProjectName(args[0],args[1],args[2],))
 
 elif cmd == 'searchProjectsByProjectNameWithPagination':
-  if len(args) != 5:
-    print('searchProjectsByProjectNameWithPagination requires 5 args')
+  if len(args) != 6:
+    print('searchProjectsByProjectNameWithPagination requires 6 args')
     sys.exit(1)
-  pp.pprint(client.searchProjectsByProjectNameWithPagination(args[0],args[1],args[2],eval(args[3]),eval(args[4]),))
+  pp.pprint(client.searchProjectsByProjectNameWithPagination(eval(args[0]),args[1],args[2],args[3],eval(args[4]),eval(args[5]),))
 
 elif cmd == 'searchProjectsByProjectDesc':
   if len(args) != 3:
@@ -322,10 +322,10 @@ elif cmd == 'searchProjectsByProjectDesc':
   pp.pprint(client.searchProjectsByProjectDesc(args[0],args[1],args[2],))
 
 elif cmd == 'searchProjectsByProjectDescWithPagination':
-  if len(args) != 5:
-    print('searchProjectsByProjectDescWithPagination requires 5 args')
+  if len(args) != 6:
+    print('searchProjectsByProjectDescWithPagination requires 6 args')
     sys.exit(1)
-  pp.pprint(client.searchProjectsByProjectDescWithPagination(args[0],args[1],args[2],eval(args[3]),eval(args[4]),))
+  pp.pprint(client.searchProjectsByProjectDescWithPagination(eval(args[0]),args[1],args[2],args[3],eval(args[4]),eval(args[5]),))
 
 elif cmd == 'searchExperimentsByName':
   if len(args) != 3:
@@ -334,10 +334,10 @@ elif cmd == 'searchExperimentsByName':
   pp.pprint(client.searchExperimentsByName(args[0],args[1],args[2],))
 
 elif cmd == 'searchExperimentsByNameWithPagination':
-  if len(args) != 5:
-    print('searchExperimentsByNameWithPagination requires 5 args')
+  if len(args) != 6:
+    print('searchExperimentsByNameWithPagination requires 6 args')
     sys.exit(1)
-  pp.pprint(client.searchExperimentsByNameWithPagination(args[0],args[1],args[2],eval(args[3]),eval(args[4]),))
+  pp.pprint(client.searchExperimentsByNameWithPagination(eval(args[0]),args[1],args[2],args[3],eval(args[4]),eval(args[5]),))
 
 elif cmd == 'searchExperimentsByDesc':
   if len(args) != 3:
@@ -346,10 +346,10 @@ elif cmd == 'searchExperimentsByDesc':
   pp.pprint(client.searchExperimentsByDesc(args[0],args[1],args[2],))
 
 elif cmd == 'searchExperimentsByDescWithPagination':
-  if len(args) != 5:
-    print('searchExperimentsByDescWithPagination requires 5 args')
+  if len(args) != 6:
+    print('searchExperimentsByDescWithPagination requires 6 args')
     sys.exit(1)
-  pp.pprint(client.searchExperimentsByDescWithPagination(args[0],args[1],args[2],eval(args[3]),eval(args[4]),))
+  pp.pprint(client.searchExperimentsByDescWithPagination(eval(args[0]),args[1],args[2],args[3],eval(args[4]),eval(args[5]),))
 
 elif cmd == 'searchExperimentsByApplication':
   if len(args) != 3:
@@ -358,10 +358,10 @@ elif cmd == 'searchExperimentsByApplication':
   pp.pprint(client.searchExperimentsByApplication(args[0],args[1],args[2],))
 
 elif cmd == 'searchExperimentsByApplicationWithPagination':
-  if len(args) != 5:
-    print('searchExperimentsByApplicationWithPagination requires 5 args')
+  if len(args) != 6:
+    print('searchExperimentsByApplicationWithPagination requires 6 args')
     sys.exit(1)
-  pp.pprint(client.searchExperimentsByApplicationWithPagination(args[0],args[1],args[2],eval(args[3]),eval(args[4]),))
+  pp.pprint(client.searchExperimentsByApplicationWithPagination(eval(args[0]),args[1],args[2],args[3],eval(args[4]),eval(args[5]),))
 
 elif cmd == 'searchExperimentsByStatus':
   if len(args) != 3:
@@ -370,10 +370,10 @@ elif cmd == 'searchExperimentsByStatus':
   pp.pprint(client.searchExperimentsByStatus(args[0],args[1],eval(args[2]),))
 
 elif cmd == 'searchExperimentsByStatusWithPagination':
-  if len(args) != 5:
-    print('searchExperimentsByStatusWithPagination requires 5 args')
+  if len(args) != 6:
+    print('searchExperimentsByStatusWithPagination requires 6 args')
     sys.exit(1)
-  pp.pprint(client.searchExperimentsByStatusWithPagination(args[0],args[1],eval(args[2]),eval(args[3]),eval(args[4]),))
+  pp.pprint(client.searchExperimentsByStatusWithPagination(eval(args[0]),args[1],args[2],eval(args[3]),eval(args[4]),eval(args[5]),))
 
 elif cmd == 'searchExperimentsByCreationTime':
   if len(args) != 4:
@@ -382,22 +382,22 @@ elif cmd == 'searchExperimentsByCreationTime':
   pp.pprint(client.searchExperimentsByCreationTime(args[0],args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'searchExperimentsByCreationTimeWithPagination':
-  if len(args) != 6:
-    print('searchExperimentsByCreationTimeWithPagination requires 6 args')
+  if len(args) != 7:
+    print('searchExperimentsByCreationTimeWithPagination requires 7 args')
     sys.exit(1)
-  pp.pprint(client.searchExperimentsByCreationTimeWithPagination(args[0],args[1],eval(args[2]),eval(args[3]),eval(args[4]),eval(args[5]),))
+  pp.pprint(client.searchExperimentsByCreationTimeWithPagination(eval(args[0]),args[1],args[2],eval(args[3]),eval(args[4]),eval(args[5]),eval(args[6]),))
 
 elif cmd == 'searchExperiments':
-  if len(args) != 5:
-    print('searchExperiments requires 5 args')
+  if len(args) != 6:
+    print('searchExperiments requires 6 args')
     sys.exit(1)
-  pp.pprint(client.searchExperiments(args[0],args[1],eval(args[2]),eval(args[3]),eval(args[4]),))
+  pp.pprint(client.searchExperiments(eval(args[0]),args[1],args[2],eval(args[3]),eval(args[4]),eval(args[5]),))
 
 elif cmd == 'getExperimentStatistics':
-  if len(args) != 3:
-    print('getExperimentStatistics requires 3 args')
+  if len(args) != 4:
+    print('getExperimentStatistics requires 4 args')
     sys.exit(1)
-  pp.pprint(client.getExperimentStatistics(args[0],eval(args[1]),eval(args[2]),))
+  pp.pprint(client.getExperimentStatistics(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'getAllExperimentsInProject':
   if len(args) != 1:
@@ -406,10 +406,10 @@ elif cmd == 'getAllExperimentsInProject':
   pp.pprint(client.getAllExperimentsInProject(args[0],))
 
 elif cmd == 'getAllExperimentsInProjectWithPagination':
-  if len(args) != 3:
-    print('getAllExperimentsInProjectWithPagination requires 3 args')
+  if len(args) != 4:
+    print('getAllExperimentsInProjectWithPagination requires 4 args')
     sys.exit(1)
-  pp.pprint(client.getAllExperimentsInProjectWithPagination(args[0],eval(args[1]),eval(args[2]),))
+  pp.pprint(client.getAllExperimentsInProjectWithPagination(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'getAllUserExperiments':
   if len(args) != 2:
@@ -418,556 +418,556 @@ elif cmd == 'getAllUserExperiments':
   pp.pprint(client.getAllUserExperiments(args[0],args[1],))
 
 elif cmd == 'getAllUserExperimentsWithPagination':
-  if len(args) != 4:
-    print('getAllUserExperimentsWithPagination requires 4 args')
+  if len(args) != 5:
+    print('getAllUserExperimentsWithPagination requires 5 args')
     sys.exit(1)
-  pp.pprint(client.getAllUserExperimentsWithPagination(args[0],args[1],eval(args[2]),eval(args[3]),))
+  pp.pprint(client.getAllUserExperimentsWithPagination(eval(args[0]),args[1],args[2],eval(args[3]),eval(args[4]),))
 
 elif cmd == 'createExperiment':
-  if len(args) != 2:
-    print('createExperiment requires 2 args')
+  if len(args) != 3:
+    print('createExperiment requires 3 args')
     sys.exit(1)
-  pp.pprint(client.createExperiment(args[0],eval(args[1]),))
+  pp.pprint(client.createExperiment(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getExperiment':
-  if len(args) != 1:
-    print('getExperiment requires 1 args')
+  if len(args) != 2:
+    print('getExperiment requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getExperiment(args[0],))
+  pp.pprint(client.getExperiment(eval(args[0]),args[1],))
 
 elif cmd == 'updateExperiment':
-  if len(args) != 2:
-    print('updateExperiment requires 2 args')
+  if len(args) != 3:
+    print('updateExperiment requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateExperiment(args[0],eval(args[1]),))
+  pp.pprint(client.updateExperiment(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'updateExperimentConfiguration':
-  if len(args) != 2:
-    print('updateExperimentConfiguration requires 2 args')
+  if len(args) != 3:
+    print('updateExperimentConfiguration requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateExperimentConfiguration(args[0],eval(args[1]),))
+  pp.pprint(client.updateExperimentConfiguration(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'updateResourceScheduleing':
-  if len(args) != 2:
-    print('updateResourceScheduleing requires 2 args')
+  if len(args) != 3:
+    print('updateResourceScheduleing requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateResourceScheduleing(args[0],eval(args[1]),))
+  pp.pprint(client.updateResourceScheduleing(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'validateExperiment':
-  if len(args) != 1:
-    print('validateExperiment requires 1 args')
+  if len(args) != 2:
+    print('validateExperiment requires 2 args')
     sys.exit(1)
-  pp.pprint(client.validateExperiment(args[0],))
+  pp.pprint(client.validateExperiment(eval(args[0]),args[1],))
 
 elif cmd == 'launchExperiment':
-  if len(args) != 2:
-    print('launchExperiment requires 2 args')
+  if len(args) != 3:
+    print('launchExperiment requires 3 args')
     sys.exit(1)
-  pp.pprint(client.launchExperiment(args[0],args[1],))
+  pp.pprint(client.launchExperiment(eval(args[0]),args[1],args[2],))
 
 elif cmd == 'getExperimentStatus':
-  if len(args) != 1:
-    print('getExperimentStatus requires 1 args')
+  if len(args) != 2:
+    print('getExperimentStatus requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getExperimentStatus(args[0],))
+  pp.pprint(client.getExperimentStatus(eval(args[0]),args[1],))
 
 elif cmd == 'getExperimentOutputs':
-  if len(args) != 1:
-    print('getExperimentOutputs requires 1 args')
+  if len(args) != 2:
+    print('getExperimentOutputs requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getExperimentOutputs(args[0],))
+  pp.pprint(client.getExperimentOutputs(eval(args[0]),args[1],))
 
 elif cmd == 'getIntermediateOutputs':
-  if len(args) != 1:
-    print('getIntermediateOutputs requires 1 args')
+  if len(args) != 2:
+    print('getIntermediateOutputs requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getIntermediateOutputs(args[0],))
+  pp.pprint(client.getIntermediateOutputs(eval(args[0]),args[1],))
 
 elif cmd == 'getJobStatuses':
-  if len(args) != 1:
-    print('getJobStatuses requires 1 args')
+  if len(args) != 2:
+    print('getJobStatuses requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getJobStatuses(args[0],))
+  pp.pprint(client.getJobStatuses(eval(args[0]),args[1],))
 
 elif cmd == 'getJobDetails':
-  if len(args) != 1:
-    print('getJobDetails requires 1 args')
+  if len(args) != 2:
+    print('getJobDetails requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getJobDetails(args[0],))
+  pp.pprint(client.getJobDetails(eval(args[0]),args[1],))
 
 elif cmd == 'cloneExperiment':
-  if len(args) != 2:
-    print('cloneExperiment requires 2 args')
+  if len(args) != 3:
+    print('cloneExperiment requires 3 args')
     sys.exit(1)
-  pp.pprint(client.cloneExperiment(args[0],args[1],))
+  pp.pprint(client.cloneExperiment(eval(args[0]),args[1],args[2],))
 
 elif cmd == 'terminateExperiment':
-  if len(args) != 2:
-    print('terminateExperiment requires 2 args')
+  if len(args) != 3:
+    print('terminateExperiment requires 3 args')
     sys.exit(1)
-  pp.pprint(client.terminateExperiment(args[0],args[1],))
+  pp.pprint(client.terminateExperiment(eval(args[0]),args[1],args[2],))
 
 elif cmd == 'registerApplicationModule':
-  if len(args) != 2:
-    print('registerApplicationModule requires 2 args')
+  if len(args) != 3:
+    print('registerApplicationModule requires 3 args')
     sys.exit(1)
-  pp.pprint(client.registerApplicationModule(args[0],eval(args[1]),))
+  pp.pprint(client.registerApplicationModule(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getApplicationModule':
-  if len(args) != 1:
-    print('getApplicationModule requires 1 args')
+  if len(args) != 2:
+    print('getApplicationModule requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getApplicationModule(args[0],))
+  pp.pprint(client.getApplicationModule(eval(args[0]),args[1],))
 
 elif cmd == 'updateApplicationModule':
-  if len(args) != 2:
-    print('updateApplicationModule requires 2 args')
+  if len(args) != 3:
+    print('updateApplicationModule requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateApplicationModule(args[0],eval(args[1]),))
+  pp.pprint(client.updateApplicationModule(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getAllAppModules':
-  if len(args) != 1:
-    print('getAllAppModules requires 1 args')
+  if len(args) != 2:
+    print('getAllAppModules requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getAllAppModules(args[0],))
+  pp.pprint(client.getAllAppModules(eval(args[0]),args[1],))
 
 elif cmd == 'deleteApplicationModule':
-  if len(args) != 1:
-    print('deleteApplicationModule requires 1 args')
+  if len(args) != 2:
+    print('deleteApplicationModule requires 2 args')
     sys.exit(1)
-  pp.pprint(client.deleteApplicationModule(args[0],))
+  pp.pprint(client.deleteApplicationModule(eval(args[0]),args[1],))
 
 elif cmd == 'registerApplicationDeployment':
-  if len(args) != 2:
-    print('registerApplicationDeployment requires 2 args')
+  if len(args) != 3:
+    print('registerApplicationDeployment requires 3 args')
     sys.exit(1)
-  pp.pprint(client.registerApplicationDeployment(args[0],eval(args[1]),))
+  pp.pprint(client.registerApplicationDeployment(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getApplicationDeployment':
-  if len(args) != 1:
-    print('getApplicationDeployment requires 1 args')
+  if len(args) != 2:
+    print('getApplicationDeployment requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getApplicationDeployment(args[0],))
+  pp.pprint(client.getApplicationDeployment(eval(args[0]),args[1],))
 
 elif cmd == 'updateApplicationDeployment':
-  if len(args) != 2:
-    print('updateApplicationDeployment requires 2 args')
+  if len(args) != 3:
+    print('updateApplicationDeployment requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateApplicationDeployment(args[0],eval(args[1]),))
+  pp.pprint(client.updateApplicationDeployment(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'deleteApplicationDeployment':
-  if len(args) != 1:
-    print('deleteApplicationDeployment requires 1 args')
+  if len(args) != 2:
+    print('deleteApplicationDeployment requires 2 args')
     sys.exit(1)
-  pp.pprint(client.deleteApplicationDeployment(args[0],))
+  pp.pprint(client.deleteApplicationDeployment(eval(args[0]),args[1],))
 
 elif cmd == 'getAllApplicationDeployments':
-  if len(args) != 1:
-    print('getAllApplicationDeployments requires 1 args')
+  if len(args) != 2:
+    print('getAllApplicationDeployments requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getAllApplicationDeployments(args[0],))
+  pp.pprint(client.getAllApplicationDeployments(eval(args[0]),args[1],))
 
 elif cmd == 'getAppModuleDeployedResources':
-  if len(args) != 1:
-    print('getAppModuleDeployedResources requires 1 args')
+  if len(args) != 2:
+    print('getAppModuleDeployedResources requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getAppModuleDeployedResources(args[0],))
+  pp.pprint(client.getAppModuleDeployedResources(eval(args[0]),args[1],))
 
 elif cmd == 'registerApplicationInterface':
-  if len(args) != 2:
-    print('registerApplicationInterface requires 2 args')
+  if len(args) != 3:
+    print('registerApplicationInterface requires 3 args')
     sys.exit(1)
-  pp.pprint(client.registerApplicationInterface(args[0],eval(args[1]),))
+  pp.pprint(client.registerApplicationInterface(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getApplicationInterface':
-  if len(args) != 1:
-    print('getApplicationInterface requires 1 args')
+  if len(args) != 2:
+    print('getApplicationInterface requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getApplicationInterface(args[0],))
+  pp.pprint(client.getApplicationInterface(eval(args[0]),args[1],))
 
 elif cmd == 'updateApplicationInterface':
-  if len(args) != 2:
-    print('updateApplicationInterface requires 2 args')
+  if len(args) != 3:
+    print('updateApplicationInterface requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateApplicationInterface(args[0],eval(args[1]),))
+  pp.pprint(client.updateApplicationInterface(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'deleteApplicationInterface':
-  if len(args) != 1:
-    print('deleteApplicationInterface requires 1 args')
+  if len(args) != 2:
+    print('deleteApplicationInterface requires 2 args')
     sys.exit(1)
-  pp.pprint(client.deleteApplicationInterface(args[0],))
+  pp.pprint(client.deleteApplicationInterface(eval(args[0]),args[1],))
 
 elif cmd == 'getAllApplicationInterfaceNames':
-  if len(args) != 1:
-    print('getAllApplicationInterfaceNames requires 1 args')
+  if len(args) != 2:
+    print('getAllApplicationInterfaceNames requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getAllApplicationInterfaceNames(args[0],))
+  pp.pprint(client.getAllApplicationInterfaceNames(eval(args[0]),args[1],))
 
 elif cmd == 'getAllApplicationInterfaces':
-  if len(args) != 1:
-    print('getAllApplicationInterfaces requires 1 args')
+  if len(args) != 2:
+    print('getAllApplicationInterfaces requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getAllApplicationInterfaces(args[0],))
+  pp.pprint(client.getAllApplicationInterfaces(eval(args[0]),args[1],))
 
 elif cmd == 'getApplicationInputs':
-  if len(args) != 1:
-    print('getApplicationInputs requires 1 args')
+  if len(args) != 2:
+    print('getApplicationInputs requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getApplicationInputs(args[0],))
+  pp.pprint(client.getApplicationInputs(eval(args[0]),args[1],))
 
 elif cmd == 'getApplicationOutputs':
-  if len(args) != 1:
-    print('getApplicationOutputs requires 1 args')
+  if len(args) != 2:
+    print('getApplicationOutputs requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getApplicationOutputs(args[0],))
+  pp.pprint(client.getApplicationOutputs(eval(args[0]),args[1],))
 
 elif cmd == 'getAvailableAppInterfaceComputeResources':
-  if len(args) != 1:
-    print('getAvailableAppInterfaceComputeResources requires 1 args')
+  if len(args) != 2:
+    print('getAvailableAppInterfaceComputeResources requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getAvailableAppInterfaceComputeResources(args[0],))
+  pp.pprint(client.getAvailableAppInterfaceComputeResources(eval(args[0]),args[1],))
 
 elif cmd == 'registerComputeResource':
-  if len(args) != 1:
-    print('registerComputeResource requires 1 args')
+  if len(args) != 2:
+    print('registerComputeResource requires 2 args')
     sys.exit(1)
-  pp.pprint(client.registerComputeResource(eval(args[0]),))
+  pp.pprint(client.registerComputeResource(eval(args[0]),eval(args[1]),))
 
 elif cmd == 'getComputeResource':
-  if len(args) != 1:
-    print('getComputeResource requires 1 args')
+  if len(args) != 2:
+    print('getComputeResource requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getComputeResource(args[0],))
+  pp.pprint(client.getComputeResource(eval(args[0]),args[1],))
 
 elif cmd == 'getAllComputeResourceNames':
-  if len(args) != 0:
-    print('getAllComputeResourceNames requires 0 args')
+  if len(args) != 1:
+    print('getAllComputeResourceNames requires 1 args')
     sys.exit(1)
-  pp.pprint(client.getAllComputeResourceNames())
+  pp.pprint(client.getAllComputeResourceNames(eval(args[0]),))
 
 elif cmd == 'updateComputeResource':
-  if len(args) != 2:
-    print('updateComputeResource requires 2 args')
+  if len(args) != 3:
+    print('updateComputeResource requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateComputeResource(args[0],eval(args[1]),))
+  pp.pprint(client.updateComputeResource(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'deleteComputeResource':
-  if len(args) != 1:
-    print('deleteComputeResource requires 1 args')
+  if len(args) != 2:
+    print('deleteComputeResource requires 2 args')
     sys.exit(1)
-  pp.pprint(client.deleteComputeResource(args[0],))
+  pp.pprint(client.deleteComputeResource(eval(args[0]),args[1],))
 
 elif cmd == 'addLocalSubmissionDetails':
-  if len(args) != 3:
-    print('addLocalSubmissionDetails requires 3 args')
+  if len(args) != 4:
+    print('addLocalSubmissionDetails requires 4 args')
     sys.exit(1)
-  pp.pprint(client.addLocalSubmissionDetails(args[0],eval(args[1]),eval(args[2]),))
+  pp.pprint(client.addLocalSubmissionDetails(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'updateLocalSubmissionDetails':
-  if len(args) != 2:
-    print('updateLocalSubmissionDetails requires 2 args')
+  if len(args) != 3:
+    print('updateLocalSubmissionDetails requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateLocalSubmissionDetails(args[0],eval(args[1]),))
+  pp.pprint(client.updateLocalSubmissionDetails(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getLocalJobSubmission':
-  if len(args) != 1:
-    print('getLocalJobSubmission requires 1 args')
+  if len(args) != 2:
+    print('getLocalJobSubmission requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getLocalJobSubmission(args[0],))
+  pp.pprint(client.getLocalJobSubmission(eval(args[0]),args[1],))
 
 elif cmd == 'addSSHJobSubmissionDetails':
-  if len(args) != 3:
-    print('addSSHJobSubmissionDetails requires 3 args')
+  if len(args) != 4:
+    print('addSSHJobSubmissionDetails requires 4 args')
     sys.exit(1)
-  pp.pprint(client.addSSHJobSubmissionDetails(args[0],eval(args[1]),eval(args[2]),))
+  pp.pprint(client.addSSHJobSubmissionDetails(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'getSSHJobSubmission':
-  if len(args) != 1:
-    print('getSSHJobSubmission requires 1 args')
+  if len(args) != 2:
+    print('getSSHJobSubmission requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getSSHJobSubmission(args[0],))
+  pp.pprint(client.getSSHJobSubmission(eval(args[0]),args[1],))
 
 elif cmd == 'addUNICOREJobSubmissionDetails':
-  if len(args) != 3:
-    print('addUNICOREJobSubmissionDetails requires 3 args')
+  if len(args) != 4:
+    print('addUNICOREJobSubmissionDetails requires 4 args')
     sys.exit(1)
-  pp.pprint(client.addUNICOREJobSubmissionDetails(args[0],eval(args[1]),eval(args[2]),))
+  pp.pprint(client.addUNICOREJobSubmissionDetails(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'getUnicoreJobSubmission':
-  if len(args) != 1:
-    print('getUnicoreJobSubmission requires 1 args')
+  if len(args) != 2:
+    print('getUnicoreJobSubmission requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getUnicoreJobSubmission(args[0],))
+  pp.pprint(client.getUnicoreJobSubmission(eval(args[0]),args[1],))
 
 elif cmd == 'addCloudJobSubmissionDetails':
-  if len(args) != 3:
-    print('addCloudJobSubmissionDetails requires 3 args')
+  if len(args) != 4:
+    print('addCloudJobSubmissionDetails requires 4 args')
     sys.exit(1)
-  pp.pprint(client.addCloudJobSubmissionDetails(args[0],eval(args[1]),eval(args[2]),))
+  pp.pprint(client.addCloudJobSubmissionDetails(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'getCloudJobSubmission':
-  if len(args) != 1:
-    print('getCloudJobSubmission requires 1 args')
+  if len(args) != 2:
+    print('getCloudJobSubmission requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getCloudJobSubmission(args[0],))
+  pp.pprint(client.getCloudJobSubmission(eval(args[0]),args[1],))
 
 elif cmd == 'updateSSHJobSubmissionDetails':
-  if len(args) != 2:
-    print('updateSSHJobSubmissionDetails requires 2 args')
+  if len(args) != 3:
+    print('updateSSHJobSubmissionDetails requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateSSHJobSubmissionDetails(args[0],eval(args[1]),))
+  pp.pprint(client.updateSSHJobSubmissionDetails(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'updateCloudJobSubmissionDetails':
-  if len(args) != 2:
-    print('updateCloudJobSubmissionDetails requires 2 args')
+  if len(args) != 3:
+    print('updateCloudJobSubmissionDetails requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateCloudJobSubmissionDetails(args[0],eval(args[1]),))
+  pp.pprint(client.updateCloudJobSubmissionDetails(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'updateUnicoreJobSubmissionDetails':
-  if len(args) != 2:
-    print('updateUnicoreJobSubmissionDetails requires 2 args')
+  if len(args) != 3:
+    print('updateUnicoreJobSubmissionDetails requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateUnicoreJobSubmissionDetails(args[0],eval(args[1]),))
+  pp.pprint(client.updateUnicoreJobSubmissionDetails(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'addLocalDataMovementDetails':
-  if len(args) != 3:
-    print('addLocalDataMovementDetails requires 3 args')
+  if len(args) != 4:
+    print('addLocalDataMovementDetails requires 4 args')
     sys.exit(1)
-  pp.pprint(client.addLocalDataMovementDetails(args[0],eval(args[1]),eval(args[2]),))
+  pp.pprint(client.addLocalDataMovementDetails(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'updateLocalDataMovementDetails':
-  if len(args) != 2:
-    print('updateLocalDataMovementDetails requires 2 args')
+  if len(args) != 3:
+    print('updateLocalDataMovementDetails requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateLocalDataMovementDetails(args[0],eval(args[1]),))
+  pp.pprint(client.updateLocalDataMovementDetails(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getLocalDataMovement':
-  if len(args) != 1:
-    print('getLocalDataMovement requires 1 args')
+  if len(args) != 2:
+    print('getLocalDataMovement requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getLocalDataMovement(args[0],))
+  pp.pprint(client.getLocalDataMovement(eval(args[0]),args[1],))
 
 elif cmd == 'addSCPDataMovementDetails':
-  if len(args) != 3:
-    print('addSCPDataMovementDetails requires 3 args')
+  if len(args) != 4:
+    print('addSCPDataMovementDetails requires 4 args')
     sys.exit(1)
-  pp.pprint(client.addSCPDataMovementDetails(args[0],eval(args[1]),eval(args[2]),))
+  pp.pprint(client.addSCPDataMovementDetails(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'updateSCPDataMovementDetails':
-  if len(args) != 2:
-    print('updateSCPDataMovementDetails requires 2 args')
+  if len(args) != 3:
+    print('updateSCPDataMovementDetails requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateSCPDataMovementDetails(args[0],eval(args[1]),))
+  pp.pprint(client.updateSCPDataMovementDetails(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getSCPDataMovement':
-  if len(args) != 1:
-    print('getSCPDataMovement requires 1 args')
+  if len(args) != 2:
+    print('getSCPDataMovement requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getSCPDataMovement(args[0],))
+  pp.pprint(client.getSCPDataMovement(eval(args[0]),args[1],))
 
 elif cmd == 'addUnicoreDataMovementDetails':
-  if len(args) != 3:
-    print('addUnicoreDataMovementDetails requires 3 args')
+  if len(args) != 4:
+    print('addUnicoreDataMovementDetails requires 4 args')
     sys.exit(1)
-  pp.pprint(client.addUnicoreDataMovementDetails(args[0],eval(args[1]),eval(args[2]),))
+  pp.pprint(client.addUnicoreDataMovementDetails(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'updateUnicoreDataMovementDetails':
-  if len(args) != 2:
-    print('updateUnicoreDataMovementDetails requires 2 args')
+  if len(args) != 3:
+    print('updateUnicoreDataMovementDetails requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateUnicoreDataMovementDetails(args[0],eval(args[1]),))
+  pp.pprint(client.updateUnicoreDataMovementDetails(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getUnicoreDataMovement':
-  if len(args) != 1:
-    print('getUnicoreDataMovement requires 1 args')
+  if len(args) != 2:
+    print('getUnicoreDataMovement requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getUnicoreDataMovement(args[0],))
+  pp.pprint(client.getUnicoreDataMovement(eval(args[0]),args[1],))
 
 elif cmd == 'addGridFTPDataMovementDetails':
-  if len(args) != 3:
-    print('addGridFTPDataMovementDetails requires 3 args')
+  if len(args) != 4:
+    print('addGridFTPDataMovementDetails requires 4 args')
     sys.exit(1)
-  pp.pprint(client.addGridFTPDataMovementDetails(args[0],eval(args[1]),eval(args[2]),))
+  pp.pprint(client.addGridFTPDataMovementDetails(eval(args[0]),args[1],eval(args[2]),eval(args[3]),))
 
 elif cmd == 'updateGridFTPDataMovementDetails':
-  if len(args) != 2:
-    print('updateGridFTPDataMovementDetails requires 2 args')
+  if len(args) != 3:
+    print('updateGridFTPDataMovementDetails requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateGridFTPDataMovementDetails(args[0],eval(args[1]),))
+  pp.pprint(client.updateGridFTPDataMovementDetails(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getGridFTPDataMovement':
-  if len(args) != 1:
-    print('getGridFTPDataMovement requires 1 args')
+  if len(args) != 2:
+    print('getGridFTPDataMovement requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getGridFTPDataMovement(args[0],))
+  pp.pprint(client.getGridFTPDataMovement(eval(args[0]),args[1],))
 
 elif cmd == 'changeJobSubmissionPriority':
-  if len(args) != 2:
-    print('changeJobSubmissionPriority requires 2 args')
+  if len(args) != 3:
+    print('changeJobSubmissionPriority requires 3 args')
     sys.exit(1)
-  pp.pprint(client.changeJobSubmissionPriority(args[0],eval(args[1]),))
+  pp.pprint(client.changeJobSubmissionPriority(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'changeDataMovementPriority':
-  if len(args) != 2:
-    print('changeDataMovementPriority requires 2 args')
+  if len(args) != 3:
+    print('changeDataMovementPriority requires 3 args')
     sys.exit(1)
-  pp.pprint(client.changeDataMovementPriority(args[0],eval(args[1]),))
+  pp.pprint(client.changeDataMovementPriority(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'changeJobSubmissionPriorities':
-  if len(args) != 1:
-    print('changeJobSubmissionPriorities requires 1 args')
+  if len(args) != 2:
+    print('changeJobSubmissionPriorities requires 2 args')
     sys.exit(1)
-  pp.pprint(client.changeJobSubmissionPriorities(eval(args[0]),))
+  pp.pprint(client.changeJobSubmissionPriorities(eval(args[0]),eval(args[1]),))
 
 elif cmd == 'changeDataMovementPriorities':
-  if len(args) != 1:
-    print('changeDataMovementPriorities requires 1 args')
+  if len(args) != 2:
+    print('changeDataMovementPriorities requires 2 args')
     sys.exit(1)
-  pp.pprint(client.changeDataMovementPriorities(eval(args[0]),))
+  pp.pprint(client.changeDataMovementPriorities(eval(args[0]),eval(args[1]),))
 
 elif cmd == 'deleteJobSubmissionInterface':
-  if len(args) != 2:
-    print('deleteJobSubmissionInterface requires 2 args')
+  if len(args) != 3:
+    print('deleteJobSubmissionInterface requires 3 args')
     sys.exit(1)
-  pp.pprint(client.deleteJobSubmissionInterface(args[0],args[1],))
+  pp.pprint(client.deleteJobSubmissionInterface(eval(args[0]),args[1],args[2],))
 
 elif cmd == 'deleteDataMovementInterface':
-  if len(args) != 2:
-    print('deleteDataMovementInterface requires 2 args')
+  if len(args) != 3:
+    print('deleteDataMovementInterface requires 3 args')
     sys.exit(1)
-  pp.pprint(client.deleteDataMovementInterface(args[0],args[1],))
+  pp.pprint(client.deleteDataMovementInterface(eval(args[0]),args[1],args[2],))
 
 elif cmd == 'registerResourceJobManager':
-  if len(args) != 1:
-    print('registerResourceJobManager requires 1 args')
+  if len(args) != 2:
+    print('registerResourceJobManager requires 2 args')
     sys.exit(1)
-  pp.pprint(client.registerResourceJobManager(eval(args[0]),))
+  pp.pprint(client.registerResourceJobManager(eval(args[0]),eval(args[1]),))
 
 elif cmd == 'updateResourceJobManager':
-  if len(args) != 2:
-    print('updateResourceJobManager requires 2 args')
+  if len(args) != 3:
+    print('updateResourceJobManager requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateResourceJobManager(args[0],eval(args[1]),))
+  pp.pprint(client.updateResourceJobManager(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getResourceJobManager':
-  if len(args) != 1:
-    print('getResourceJobManager requires 1 args')
+  if len(args) != 2:
+    print('getResourceJobManager requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getResourceJobManager(args[0],))
+  pp.pprint(client.getResourceJobManager(eval(args[0]),args[1],))
 
 elif cmd == 'deleteResourceJobManager':
-  if len(args) != 1:
-    print('deleteResourceJobManager requires 1 args')
+  if len(args) != 2:
+    print('deleteResourceJobManager requires 2 args')
     sys.exit(1)
-  pp.pprint(client.deleteResourceJobManager(args[0],))
+  pp.pprint(client.deleteResourceJobManager(eval(args[0]),args[1],))
 
 elif cmd == 'deleteBatchQueue':
-  if len(args) != 2:
-    print('deleteBatchQueue requires 2 args')
+  if len(args) != 3:
+    print('deleteBatchQueue requires 3 args')
     sys.exit(1)
-  pp.pprint(client.deleteBatchQueue(args[0],args[1],))
+  pp.pprint(client.deleteBatchQueue(eval(args[0]),args[1],args[2],))
 
 elif cmd == 'registerGatewayResourceProfile':
-  if len(args) != 1:
-    print('registerGatewayResourceProfile requires 1 args')
+  if len(args) != 2:
+    print('registerGatewayResourceProfile requires 2 args')
     sys.exit(1)
-  pp.pprint(client.registerGatewayResourceProfile(eval(args[0]),))
+  pp.pprint(client.registerGatewayResourceProfile(eval(args[0]),eval(args[1]),))
 
 elif cmd == 'getGatewayResourceProfile':
-  if len(args) != 1:
-    print('getGatewayResourceProfile requires 1 args')
+  if len(args) != 2:
+    print('getGatewayResourceProfile requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getGatewayResourceProfile(args[0],))
+  pp.pprint(client.getGatewayResourceProfile(eval(args[0]),args[1],))
 
 elif cmd == 'updateGatewayResourceProfile':
-  if len(args) != 2:
-    print('updateGatewayResourceProfile requires 2 args')
+  if len(args) != 3:
+    print('updateGatewayResourceProfile requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateGatewayResourceProfile(args[0],eval(args[1]),))
+  pp.pprint(client.updateGatewayResourceProfile(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'deleteGatewayResourceProfile':
-  if len(args) != 1:
-    print('deleteGatewayResourceProfile requires 1 args')
+  if len(args) != 2:
+    print('deleteGatewayResourceProfile requires 2 args')
     sys.exit(1)
-  pp.pprint(client.deleteGatewayResourceProfile(args[0],))
+  pp.pprint(client.deleteGatewayResourceProfile(eval(args[0]),args[1],))
 
 elif cmd == 'addGatewayComputeResourcePreference':
-  if len(args) != 3:
-    print('addGatewayComputeResourcePreference requires 3 args')
+  if len(args) != 4:
+    print('addGatewayComputeResourcePreference requires 4 args')
     sys.exit(1)
-  pp.pprint(client.addGatewayComputeResourcePreference(args[0],args[1],eval(args[2]),))
+  pp.pprint(client.addGatewayComputeResourcePreference(eval(args[0]),args[1],args[2],eval(args[3]),))
 
 elif cmd == 'getGatewayComputeResourcePreference':
-  if len(args) != 2:
-    print('getGatewayComputeResourcePreference requires 2 args')
+  if len(args) != 3:
+    print('getGatewayComputeResourcePreference requires 3 args')
     sys.exit(1)
-  pp.pprint(client.getGatewayComputeResourcePreference(args[0],args[1],))
+  pp.pprint(client.getGatewayComputeResourcePreference(eval(args[0]),args[1],args[2],))
 
 elif cmd == 'getAllGatewayComputeResourcePreferences':
-  if len(args) != 1:
-    print('getAllGatewayComputeResourcePreferences requires 1 args')
+  if len(args) != 2:
+    print('getAllGatewayComputeResourcePreferences requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getAllGatewayComputeResourcePreferences(args[0],))
+  pp.pprint(client.getAllGatewayComputeResourcePreferences(eval(args[0]),args[1],))
 
 elif cmd == 'getAllGatewayComputeResources':
-  if len(args) != 0:
-    print('getAllGatewayComputeResources requires 0 args')
+  if len(args) != 1:
+    print('getAllGatewayComputeResources requires 1 args')
     sys.exit(1)
-  pp.pprint(client.getAllGatewayComputeResources())
+  pp.pprint(client.getAllGatewayComputeResources(eval(args[0]),))
 
 elif cmd == 'updateGatewayComputeResourcePreference':
-  if len(args) != 3:
-    print('updateGatewayComputeResourcePreference requires 3 args')
+  if len(args) != 4:
+    print('updateGatewayComputeResourcePreference requires 4 args')
     sys.exit(1)
-  pp.pprint(client.updateGatewayComputeResourcePreference(args[0],args[1],eval(args[2]),))
+  pp.pprint(client.updateGatewayComputeResourcePreference(eval(args[0]),args[1],args[2],eval(args[3]),))
 
 elif cmd == 'deleteGatewayComputeResourcePreference':
-  if len(args) != 2:
-    print('deleteGatewayComputeResourcePreference requires 2 args')
+  if len(args) != 3:
+    print('deleteGatewayComputeResourcePreference requires 3 args')
     sys.exit(1)
-  pp.pprint(client.deleteGatewayComputeResourcePreference(args[0],args[1],))
+  pp.pprint(client.deleteGatewayComputeResourcePreference(eval(args[0]),args[1],args[2],))
 
 elif cmd == 'getAllWorkflows':
-  if len(args) != 1:
-    print('getAllWorkflows requires 1 args')
+  if len(args) != 2:
+    print('getAllWorkflows requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getAllWorkflows(args[0],))
+  pp.pprint(client.getAllWorkflows(eval(args[0]),args[1],))
 
 elif cmd == 'getWorkflow':
-  if len(args) != 1:
-    print('getWorkflow requires 1 args')
+  if len(args) != 2:
+    print('getWorkflow requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getWorkflow(args[0],))
+  pp.pprint(client.getWorkflow(eval(args[0]),args[1],))
 
 elif cmd == 'deleteWorkflow':
-  if len(args) != 1:
-    print('deleteWorkflow requires 1 args')
+  if len(args) != 2:
+    print('deleteWorkflow requires 2 args')
     sys.exit(1)
-  pp.pprint(client.deleteWorkflow(args[0],))
+  pp.pprint(client.deleteWorkflow(eval(args[0]),args[1],))
 
 elif cmd == 'registerWorkflow':
-  if len(args) != 2:
-    print('registerWorkflow requires 2 args')
+  if len(args) != 3:
+    print('registerWorkflow requires 3 args')
     sys.exit(1)
-  pp.pprint(client.registerWorkflow(args[0],eval(args[1]),))
+  pp.pprint(client.registerWorkflow(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'updateWorkflow':
-  if len(args) != 2:
-    print('updateWorkflow requires 2 args')
+  if len(args) != 3:
+    print('updateWorkflow requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateWorkflow(args[0],eval(args[1]),))
+  pp.pprint(client.updateWorkflow(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getWorkflowTemplateId':
-  if len(args) != 1:
-    print('getWorkflowTemplateId requires 1 args')
+  if len(args) != 2:
+    print('getWorkflowTemplateId requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getWorkflowTemplateId(args[0],))
+  pp.pprint(client.getWorkflowTemplateId(eval(args[0]),args[1],))
 
 elif cmd == 'isWorkflowExistWithName':
-  if len(args) != 1:
-    print('isWorkflowExistWithName requires 1 args')
+  if len(args) != 2:
+    print('isWorkflowExistWithName requires 2 args')
     sys.exit(1)
-  pp.pprint(client.isWorkflowExistWithName(args[0],))
+  pp.pprint(client.isWorkflowExistWithName(eval(args[0]),args[1],))
 
 else:
   print('Unrecognized method %s' % cmd)


[10/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
new file mode 100644
index 0000000..021d660
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
@@ -0,0 +1,1444 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "experiment_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace experiment {
+
+int _kExperimentTypeValues[] = {
+  ExperimentType::SINGLE_APPLICATION,
+  ExperimentType::WORKFLOW
+};
+const char* _kExperimentTypeNames[] = {
+  "SINGLE_APPLICATION",
+  "WORKFLOW"
+};
+const std::map<int, const char*> _ExperimentType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(2, _kExperimentTypeValues, _kExperimentTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kExperimentSearchFieldsValues[] = {
+  ExperimentSearchFields::EXPERIMENT_NAME,
+  ExperimentSearchFields::EXPERIMENT_DESC,
+  ExperimentSearchFields::APPLICATION_ID,
+  ExperimentSearchFields::FROM_DATE,
+  ExperimentSearchFields::TO_DATE,
+  ExperimentSearchFields::STATUS
+};
+const char* _kExperimentSearchFieldsNames[] = {
+  "EXPERIMENT_NAME",
+  "EXPERIMENT_DESC",
+  "APPLICATION_ID",
+  "FROM_DATE",
+  "TO_DATE",
+  "STATUS"
+};
+const std::map<int, const char*> _ExperimentSearchFields_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(6, _kExperimentSearchFieldsValues, _kExperimentSearchFieldsNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+UserConfigurationDataModel::~UserConfigurationDataModel() throw() {
+}
+
+
+void UserConfigurationDataModel::__set_airavataAutoSchedule(const bool val) {
+  this->airavataAutoSchedule = val;
+}
+
+void UserConfigurationDataModel::__set_overrideManualScheduledParams(const bool val) {
+  this->overrideManualScheduledParams = val;
+}
+
+void UserConfigurationDataModel::__set_shareExperimentPublicly(const bool val) {
+  this->shareExperimentPublicly = val;
+__isset.shareExperimentPublicly = true;
+}
+
+void UserConfigurationDataModel::__set_computationalResourceScheduling(const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& val) {
+  this->computationalResourceScheduling = val;
+__isset.computationalResourceScheduling = true;
+}
+
+void UserConfigurationDataModel::__set_throttleResources(const bool val) {
+  this->throttleResources = val;
+__isset.throttleResources = true;
+}
+
+void UserConfigurationDataModel::__set_userDN(const std::string& val) {
+  this->userDN = val;
+__isset.userDN = true;
+}
+
+void UserConfigurationDataModel::__set_generateCert(const bool val) {
+  this->generateCert = val;
+__isset.generateCert = true;
+}
+
+const char* UserConfigurationDataModel::ascii_fingerprint = "45F3B52108AC703F0CDC363B5EECA38B";
+const uint8_t UserConfigurationDataModel::binary_fingerprint[16] = {0x45,0xF3,0xB5,0x21,0x08,0xAC,0x70,0x3F,0x0C,0xDC,0x36,0x3B,0x5E,0xEC,0xA3,0x8B};
+
+uint32_t UserConfigurationDataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_airavataAutoSchedule = false;
+  bool isset_overrideManualScheduledParams = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->airavataAutoSchedule);
+          isset_airavataAutoSchedule = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->overrideManualScheduledParams);
+          isset_overrideManualScheduledParams = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->shareExperimentPublicly);
+          this->__isset.shareExperimentPublicly = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->computationalResourceScheduling.read(iprot);
+          this->__isset.computationalResourceScheduling = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->throttleResources);
+          this->__isset.throttleResources = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userDN);
+          this->__isset.userDN = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->generateCert);
+          this->__isset.generateCert = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_airavataAutoSchedule)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_overrideManualScheduledParams)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t UserConfigurationDataModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("UserConfigurationDataModel");
+
+  xfer += oprot->writeFieldBegin("airavataAutoSchedule", ::apache::thrift::protocol::T_BOOL, 1);
+  xfer += oprot->writeBool(this->airavataAutoSchedule);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("overrideManualScheduledParams", ::apache::thrift::protocol::T_BOOL, 2);
+  xfer += oprot->writeBool(this->overrideManualScheduledParams);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.shareExperimentPublicly) {
+    xfer += oprot->writeFieldBegin("shareExperimentPublicly", ::apache::thrift::protocol::T_BOOL, 3);
+    xfer += oprot->writeBool(this->shareExperimentPublicly);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.computationalResourceScheduling) {
+    xfer += oprot->writeFieldBegin("computationalResourceScheduling", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->computationalResourceScheduling.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.throttleResources) {
+    xfer += oprot->writeFieldBegin("throttleResources", ::apache::thrift::protocol::T_BOOL, 5);
+    xfer += oprot->writeBool(this->throttleResources);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.userDN) {
+    xfer += oprot->writeFieldBegin("userDN", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->userDN);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.generateCert) {
+    xfer += oprot->writeFieldBegin("generateCert", ::apache::thrift::protocol::T_BOOL, 7);
+    xfer += oprot->writeBool(this->generateCert);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(UserConfigurationDataModel &a, UserConfigurationDataModel &b) {
+  using ::std::swap;
+  swap(a.airavataAutoSchedule, b.airavataAutoSchedule);
+  swap(a.overrideManualScheduledParams, b.overrideManualScheduledParams);
+  swap(a.shareExperimentPublicly, b.shareExperimentPublicly);
+  swap(a.computationalResourceScheduling, b.computationalResourceScheduling);
+  swap(a.throttleResources, b.throttleResources);
+  swap(a.userDN, b.userDN);
+  swap(a.generateCert, b.generateCert);
+  swap(a.__isset, b.__isset);
+}
+
+UserConfigurationDataModel::UserConfigurationDataModel(const UserConfigurationDataModel& other0) {
+  airavataAutoSchedule = other0.airavataAutoSchedule;
+  overrideManualScheduledParams = other0.overrideManualScheduledParams;
+  shareExperimentPublicly = other0.shareExperimentPublicly;
+  computationalResourceScheduling = other0.computationalResourceScheduling;
+  throttleResources = other0.throttleResources;
+  userDN = other0.userDN;
+  generateCert = other0.generateCert;
+  __isset = other0.__isset;
+}
+UserConfigurationDataModel& UserConfigurationDataModel::operator=(const UserConfigurationDataModel& other1) {
+  airavataAutoSchedule = other1.airavataAutoSchedule;
+  overrideManualScheduledParams = other1.overrideManualScheduledParams;
+  shareExperimentPublicly = other1.shareExperimentPublicly;
+  computationalResourceScheduling = other1.computationalResourceScheduling;
+  throttleResources = other1.throttleResources;
+  userDN = other1.userDN;
+  generateCert = other1.generateCert;
+  __isset = other1.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const UserConfigurationDataModel& obj) {
+  using apache::thrift::to_string;
+  out << "UserConfigurationDataModel(";
+  out << "airavataAutoSchedule=" << to_string(obj.airavataAutoSchedule);
+  out << ", " << "overrideManualScheduledParams=" << to_string(obj.overrideManualScheduledParams);
+  out << ", " << "shareExperimentPublicly="; (obj.__isset.shareExperimentPublicly ? (out << to_string(obj.shareExperimentPublicly)) : (out << "<null>"));
+  out << ", " << "computationalResourceScheduling="; (obj.__isset.computationalResourceScheduling ? (out << to_string(obj.computationalResourceScheduling)) : (out << "<null>"));
+  out << ", " << "throttleResources="; (obj.__isset.throttleResources ? (out << to_string(obj.throttleResources)) : (out << "<null>"));
+  out << ", " << "userDN="; (obj.__isset.userDN ? (out << to_string(obj.userDN)) : (out << "<null>"));
+  out << ", " << "generateCert="; (obj.__isset.generateCert ? (out << to_string(obj.generateCert)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ExperimentModel::~ExperimentModel() throw() {
+}
+
+
+void ExperimentModel::__set_experimentId(const std::string& val) {
+  this->experimentId = val;
+}
+
+void ExperimentModel::__set_projectId(const std::string& val) {
+  this->projectId = val;
+}
+
+void ExperimentModel::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void ExperimentModel::__set_experimentType(const ExperimentType::type val) {
+  this->experimentType = val;
+}
+
+void ExperimentModel::__set_userName(const std::string& val) {
+  this->userName = val;
+}
+
+void ExperimentModel::__set_experimentName(const std::string& val) {
+  this->experimentName = val;
+}
+
+void ExperimentModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void ExperimentModel::__set_description(const std::string& val) {
+  this->description = val;
+__isset.description = true;
+}
+
+void ExperimentModel::__set_executionId(const std::string& val) {
+  this->executionId = val;
+__isset.executionId = true;
+}
+
+void ExperimentModel::__set_gatewayExecutionId(const std::string& val) {
+  this->gatewayExecutionId = val;
+__isset.gatewayExecutionId = true;
+}
+
+void ExperimentModel::__set_enableEmailNotification(const bool val) {
+  this->enableEmailNotification = val;
+__isset.enableEmailNotification = true;
+}
+
+void ExperimentModel::__set_emailAddresses(const std::vector<std::string> & val) {
+  this->emailAddresses = val;
+__isset.emailAddresses = true;
+}
+
+void ExperimentModel::__set_userConfigurationData(const UserConfigurationDataModel& val) {
+  this->userConfigurationData = val;
+__isset.userConfigurationData = true;
+}
+
+void ExperimentModel::__set_experimentInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val) {
+  this->experimentInputs = val;
+__isset.experimentInputs = true;
+}
+
+void ExperimentModel::__set_experimentOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val) {
+  this->experimentOutputs = val;
+__isset.experimentOutputs = true;
+}
+
+void ExperimentModel::__set_experimentStatus(const  ::apache::airavata::model::status::ExperimentStatus& val) {
+  this->experimentStatus = val;
+__isset.experimentStatus = true;
+}
+
+void ExperimentModel::__set_errors(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val) {
+  this->errors = val;
+__isset.errors = true;
+}
+
+const char* ExperimentModel::ascii_fingerprint = "42A5CF1C0F5D4554085ED4D46195079B";
+const uint8_t ExperimentModel::binary_fingerprint[16] = {0x42,0xA5,0xCF,0x1C,0x0F,0x5D,0x45,0x54,0x08,0x5E,0xD4,0xD4,0x61,0x95,0x07,0x9B};
+
+uint32_t ExperimentModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_experimentId = false;
+  bool isset_projectId = false;
+  bool isset_gatewayId = false;
+  bool isset_experimentType = false;
+  bool isset_userName = false;
+  bool isset_experimentName = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentId);
+          isset_experimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->projectId);
+          isset_projectId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast2;
+          xfer += iprot->readI32(ecast2);
+          this->experimentType = (ExperimentType::type)ecast2;
+          isset_experimentType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userName);
+          isset_userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentName);
+          isset_experimentName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->description);
+          this->__isset.description = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->executionId);
+          this->__isset.executionId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayExecutionId);
+          this->__isset.gatewayExecutionId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->enableEmailNotification);
+          this->__isset.enableEmailNotification = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->emailAddresses.clear();
+            uint32_t _size3;
+            ::apache::thrift::protocol::TType _etype6;
+            xfer += iprot->readListBegin(_etype6, _size3);
+            this->emailAddresses.resize(_size3);
+            uint32_t _i7;
+            for (_i7 = 0; _i7 < _size3; ++_i7)
+            {
+              xfer += iprot->readString(this->emailAddresses[_i7]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.emailAddresses = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 13:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->userConfigurationData.read(iprot);
+          this->__isset.userConfigurationData = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 14:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->experimentInputs.clear();
+            uint32_t _size8;
+            ::apache::thrift::protocol::TType _etype11;
+            xfer += iprot->readListBegin(_etype11, _size8);
+            this->experimentInputs.resize(_size8);
+            uint32_t _i12;
+            for (_i12 = 0; _i12 < _size8; ++_i12)
+            {
+              xfer += this->experimentInputs[_i12].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.experimentInputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 15:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->experimentOutputs.clear();
+            uint32_t _size13;
+            ::apache::thrift::protocol::TType _etype16;
+            xfer += iprot->readListBegin(_etype16, _size13);
+            this->experimentOutputs.resize(_size13);
+            uint32_t _i17;
+            for (_i17 = 0; _i17 < _size13; ++_i17)
+            {
+              xfer += this->experimentOutputs[_i17].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.experimentOutputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 16:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->experimentStatus.read(iprot);
+          this->__isset.experimentStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 17:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->errors.clear();
+            uint32_t _size18;
+            ::apache::thrift::protocol::TType _etype21;
+            xfer += iprot->readListBegin(_etype21, _size18);
+            this->errors.resize(_size18);
+            uint32_t _i22;
+            for (_i22 = 0; _i22 < _size18; ++_i22)
+            {
+              xfer += this->errors[_i22].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.errors = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_experimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_projectId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_experimentType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_experimentName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ExperimentModel");
+
+  xfer += oprot->writeFieldBegin("experimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->experimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->projectId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experimentType", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeI32((int32_t)this->experimentType);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 5);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experimentName", ::apache::thrift::protocol::T_STRING, 6);
+  xfer += oprot->writeString(this->experimentName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 7);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.description) {
+    xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->description);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.executionId) {
+    xfer += oprot->writeFieldBegin("executionId", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeString(this->executionId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.gatewayExecutionId) {
+    xfer += oprot->writeFieldBegin("gatewayExecutionId", ::apache::thrift::protocol::T_STRING, 10);
+    xfer += oprot->writeString(this->gatewayExecutionId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.enableEmailNotification) {
+    xfer += oprot->writeFieldBegin("enableEmailNotification", ::apache::thrift::protocol::T_BOOL, 11);
+    xfer += oprot->writeBool(this->enableEmailNotification);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.emailAddresses) {
+    xfer += oprot->writeFieldBegin("emailAddresses", ::apache::thrift::protocol::T_LIST, 12);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->emailAddresses.size()));
+      std::vector<std::string> ::const_iterator _iter23;
+      for (_iter23 = this->emailAddresses.begin(); _iter23 != this->emailAddresses.end(); ++_iter23)
+      {
+        xfer += oprot->writeString((*_iter23));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.userConfigurationData) {
+    xfer += oprot->writeFieldBegin("userConfigurationData", ::apache::thrift::protocol::T_STRUCT, 13);
+    xfer += this->userConfigurationData.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.experimentInputs) {
+    xfer += oprot->writeFieldBegin("experimentInputs", ::apache::thrift::protocol::T_LIST, 14);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentInputs.size()));
+      std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter24;
+      for (_iter24 = this->experimentInputs.begin(); _iter24 != this->experimentInputs.end(); ++_iter24)
+      {
+        xfer += (*_iter24).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.experimentOutputs) {
+    xfer += oprot->writeFieldBegin("experimentOutputs", ::apache::thrift::protocol::T_LIST, 15);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentOutputs.size()));
+      std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter25;
+      for (_iter25 = this->experimentOutputs.begin(); _iter25 != this->experimentOutputs.end(); ++_iter25)
+      {
+        xfer += (*_iter25).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.experimentStatus) {
+    xfer += oprot->writeFieldBegin("experimentStatus", ::apache::thrift::protocol::T_STRUCT, 16);
+    xfer += this->experimentStatus.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.errors) {
+    xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 17);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+      std::vector< ::apache::airavata::model::commons::ErrorModel> ::const_iterator _iter26;
+      for (_iter26 = this->errors.begin(); _iter26 != this->errors.end(); ++_iter26)
+      {
+        xfer += (*_iter26).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ExperimentModel &a, ExperimentModel &b) {
+  using ::std::swap;
+  swap(a.experimentId, b.experimentId);
+  swap(a.projectId, b.projectId);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.experimentType, b.experimentType);
+  swap(a.userName, b.userName);
+  swap(a.experimentName, b.experimentName);
+  swap(a.creationTime, b.creationTime);
+  swap(a.description, b.description);
+  swap(a.executionId, b.executionId);
+  swap(a.gatewayExecutionId, b.gatewayExecutionId);
+  swap(a.enableEmailNotification, b.enableEmailNotification);
+  swap(a.emailAddresses, b.emailAddresses);
+  swap(a.userConfigurationData, b.userConfigurationData);
+  swap(a.experimentInputs, b.experimentInputs);
+  swap(a.experimentOutputs, b.experimentOutputs);
+  swap(a.experimentStatus, b.experimentStatus);
+  swap(a.errors, b.errors);
+  swap(a.__isset, b.__isset);
+}
+
+ExperimentModel::ExperimentModel(const ExperimentModel& other27) {
+  experimentId = other27.experimentId;
+  projectId = other27.projectId;
+  gatewayId = other27.gatewayId;
+  experimentType = other27.experimentType;
+  userName = other27.userName;
+  experimentName = other27.experimentName;
+  creationTime = other27.creationTime;
+  description = other27.description;
+  executionId = other27.executionId;
+  gatewayExecutionId = other27.gatewayExecutionId;
+  enableEmailNotification = other27.enableEmailNotification;
+  emailAddresses = other27.emailAddresses;
+  userConfigurationData = other27.userConfigurationData;
+  experimentInputs = other27.experimentInputs;
+  experimentOutputs = other27.experimentOutputs;
+  experimentStatus = other27.experimentStatus;
+  errors = other27.errors;
+  __isset = other27.__isset;
+}
+ExperimentModel& ExperimentModel::operator=(const ExperimentModel& other28) {
+  experimentId = other28.experimentId;
+  projectId = other28.projectId;
+  gatewayId = other28.gatewayId;
+  experimentType = other28.experimentType;
+  userName = other28.userName;
+  experimentName = other28.experimentName;
+  creationTime = other28.creationTime;
+  description = other28.description;
+  executionId = other28.executionId;
+  gatewayExecutionId = other28.gatewayExecutionId;
+  enableEmailNotification = other28.enableEmailNotification;
+  emailAddresses = other28.emailAddresses;
+  userConfigurationData = other28.userConfigurationData;
+  experimentInputs = other28.experimentInputs;
+  experimentOutputs = other28.experimentOutputs;
+  experimentStatus = other28.experimentStatus;
+  errors = other28.errors;
+  __isset = other28.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ExperimentModel& obj) {
+  using apache::thrift::to_string;
+  out << "ExperimentModel(";
+  out << "experimentId=" << to_string(obj.experimentId);
+  out << ", " << "projectId=" << to_string(obj.projectId);
+  out << ", " << "gatewayId=" << to_string(obj.gatewayId);
+  out << ", " << "experimentType=" << to_string(obj.experimentType);
+  out << ", " << "userName=" << to_string(obj.userName);
+  out << ", " << "experimentName=" << to_string(obj.experimentName);
+  out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
+  out << ", " << "description="; (obj.__isset.description ? (out << to_string(obj.description)) : (out << "<null>"));
+  out << ", " << "executionId="; (obj.__isset.executionId ? (out << to_string(obj.executionId)) : (out << "<null>"));
+  out << ", " << "gatewayExecutionId="; (obj.__isset.gatewayExecutionId ? (out << to_string(obj.gatewayExecutionId)) : (out << "<null>"));
+  out << ", " << "enableEmailNotification="; (obj.__isset.enableEmailNotification ? (out << to_string(obj.enableEmailNotification)) : (out << "<null>"));
+  out << ", " << "emailAddresses="; (obj.__isset.emailAddresses ? (out << to_string(obj.emailAddresses)) : (out << "<null>"));
+  out << ", " << "userConfigurationData="; (obj.__isset.userConfigurationData ? (out << to_string(obj.userConfigurationData)) : (out << "<null>"));
+  out << ", " << "experimentInputs="; (obj.__isset.experimentInputs ? (out << to_string(obj.experimentInputs)) : (out << "<null>"));
+  out << ", " << "experimentOutputs="; (obj.__isset.experimentOutputs ? (out << to_string(obj.experimentOutputs)) : (out << "<null>"));
+  out << ", " << "experimentStatus="; (obj.__isset.experimentStatus ? (out << to_string(obj.experimentStatus)) : (out << "<null>"));
+  out << ", " << "errors="; (obj.__isset.errors ? (out << to_string(obj.errors)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ExperimentSummaryModel::~ExperimentSummaryModel() throw() {
+}
+
+
+void ExperimentSummaryModel::__set_experimentId(const std::string& val) {
+  this->experimentId = val;
+}
+
+void ExperimentSummaryModel::__set_projectId(const std::string& val) {
+  this->projectId = val;
+}
+
+void ExperimentSummaryModel::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void ExperimentSummaryModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void ExperimentSummaryModel::__set_userName(const std::string& val) {
+  this->userName = val;
+}
+
+void ExperimentSummaryModel::__set_name(const std::string& val) {
+  this->name = val;
+}
+
+void ExperimentSummaryModel::__set_description(const std::string& val) {
+  this->description = val;
+__isset.description = true;
+}
+
+void ExperimentSummaryModel::__set_executionId(const std::string& val) {
+  this->executionId = val;
+__isset.executionId = true;
+}
+
+void ExperimentSummaryModel::__set_experimentStatus(const std::string& val) {
+  this->experimentStatus = val;
+__isset.experimentStatus = true;
+}
+
+void ExperimentSummaryModel::__set_statusUpdateTime(const int64_t val) {
+  this->statusUpdateTime = val;
+__isset.statusUpdateTime = true;
+}
+
+const char* ExperimentSummaryModel::ascii_fingerprint = "8BEDAEBF98A604CE59206E919CE20121";
+const uint8_t ExperimentSummaryModel::binary_fingerprint[16] = {0x8B,0xED,0xAE,0xBF,0x98,0xA6,0x04,0xCE,0x59,0x20,0x6E,0x91,0x9C,0xE2,0x01,0x21};
+
+uint32_t ExperimentSummaryModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_experimentId = false;
+  bool isset_projectId = false;
+  bool isset_gatewayId = false;
+  bool isset_userName = false;
+  bool isset_name = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentId);
+          isset_experimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->projectId);
+          isset_projectId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userName);
+          isset_userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->name);
+          isset_name = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->description);
+          this->__isset.description = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->executionId);
+          this->__isset.executionId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentStatus);
+          this->__isset.experimentStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->statusUpdateTime);
+          this->__isset.statusUpdateTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_experimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_projectId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_name)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentSummaryModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ExperimentSummaryModel");
+
+  xfer += oprot->writeFieldBegin("experimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->experimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->projectId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 4);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 5);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 6);
+  xfer += oprot->writeString(this->name);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.description) {
+    xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->description);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.executionId) {
+    xfer += oprot->writeFieldBegin("executionId", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->executionId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.experimentStatus) {
+    xfer += oprot->writeFieldBegin("experimentStatus", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeString(this->experimentStatus);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.statusUpdateTime) {
+    xfer += oprot->writeFieldBegin("statusUpdateTime", ::apache::thrift::protocol::T_I64, 10);
+    xfer += oprot->writeI64(this->statusUpdateTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ExperimentSummaryModel &a, ExperimentSummaryModel &b) {
+  using ::std::swap;
+  swap(a.experimentId, b.experimentId);
+  swap(a.projectId, b.projectId);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.creationTime, b.creationTime);
+  swap(a.userName, b.userName);
+  swap(a.name, b.name);
+  swap(a.description, b.description);
+  swap(a.executionId, b.executionId);
+  swap(a.experimentStatus, b.experimentStatus);
+  swap(a.statusUpdateTime, b.statusUpdateTime);
+  swap(a.__isset, b.__isset);
+}
+
+ExperimentSummaryModel::ExperimentSummaryModel(const ExperimentSummaryModel& other29) {
+  experimentId = other29.experimentId;
+  projectId = other29.projectId;
+  gatewayId = other29.gatewayId;
+  creationTime = other29.creationTime;
+  userName = other29.userName;
+  name = other29.name;
+  description = other29.description;
+  executionId = other29.executionId;
+  experimentStatus = other29.experimentStatus;
+  statusUpdateTime = other29.statusUpdateTime;
+  __isset = other29.__isset;
+}
+ExperimentSummaryModel& ExperimentSummaryModel::operator=(const ExperimentSummaryModel& other30) {
+  experimentId = other30.experimentId;
+  projectId = other30.projectId;
+  gatewayId = other30.gatewayId;
+  creationTime = other30.creationTime;
+  userName = other30.userName;
+  name = other30.name;
+  description = other30.description;
+  executionId = other30.executionId;
+  experimentStatus = other30.experimentStatus;
+  statusUpdateTime = other30.statusUpdateTime;
+  __isset = other30.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ExperimentSummaryModel& obj) {
+  using apache::thrift::to_string;
+  out << "ExperimentSummaryModel(";
+  out << "experimentId=" << to_string(obj.experimentId);
+  out << ", " << "projectId=" << to_string(obj.projectId);
+  out << ", " << "gatewayId=" << to_string(obj.gatewayId);
+  out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
+  out << ", " << "userName=" << to_string(obj.userName);
+  out << ", " << "name=" << to_string(obj.name);
+  out << ", " << "description="; (obj.__isset.description ? (out << to_string(obj.description)) : (out << "<null>"));
+  out << ", " << "executionId="; (obj.__isset.executionId ? (out << to_string(obj.executionId)) : (out << "<null>"));
+  out << ", " << "experimentStatus="; (obj.__isset.experimentStatus ? (out << to_string(obj.experimentStatus)) : (out << "<null>"));
+  out << ", " << "statusUpdateTime="; (obj.__isset.statusUpdateTime ? (out << to_string(obj.statusUpdateTime)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ExperimentStatistics::~ExperimentStatistics() throw() {
+}
+
+
+void ExperimentStatistics::__set_allExperimentCount(const int32_t val) {
+  this->allExperimentCount = val;
+}
+
+void ExperimentStatistics::__set_completedExperimentCount(const int32_t val) {
+  this->completedExperimentCount = val;
+}
+
+void ExperimentStatistics::__set_cancelledExperimentCount(const int32_t val) {
+  this->cancelledExperimentCount = val;
+__isset.cancelledExperimentCount = true;
+}
+
+void ExperimentStatistics::__set_failedExperimentCount(const int32_t val) {
+  this->failedExperimentCount = val;
+}
+
+void ExperimentStatistics::__set_allExperiments(const std::vector<ExperimentSummaryModel> & val) {
+  this->allExperiments = val;
+}
+
+void ExperimentStatistics::__set_completedExperiments(const std::vector<ExperimentSummaryModel> & val) {
+  this->completedExperiments = val;
+__isset.completedExperiments = true;
+}
+
+void ExperimentStatistics::__set_failedExperiments(const std::vector<ExperimentSummaryModel> & val) {
+  this->failedExperiments = val;
+__isset.failedExperiments = true;
+}
+
+void ExperimentStatistics::__set_cancelledExperiments(const std::vector<ExperimentSummaryModel> & val) {
+  this->cancelledExperiments = val;
+__isset.cancelledExperiments = true;
+}
+
+const char* ExperimentStatistics::ascii_fingerprint = "3F8AFC8DC8701278C2C7E74049E8B58B";
+const uint8_t ExperimentStatistics::binary_fingerprint[16] = {0x3F,0x8A,0xFC,0x8D,0xC8,0x70,0x12,0x78,0xC2,0xC7,0xE7,0x40,0x49,0xE8,0xB5,0x8B};
+
+uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_allExperimentCount = false;
+  bool isset_completedExperimentCount = false;
+  bool isset_failedExperimentCount = false;
+  bool isset_allExperiments = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->allExperimentCount);
+          isset_allExperimentCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->completedExperimentCount);
+          isset_completedExperimentCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->cancelledExperimentCount);
+          this->__isset.cancelledExperimentCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->failedExperimentCount);
+          isset_failedExperimentCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->allExperiments.clear();
+            uint32_t _size31;
+            ::apache::thrift::protocol::TType _etype34;
+            xfer += iprot->readListBegin(_etype34, _size31);
+            this->allExperiments.resize(_size31);
+            uint32_t _i35;
+            for (_i35 = 0; _i35 < _size31; ++_i35)
+            {
+              xfer += this->allExperiments[_i35].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_allExperiments = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->completedExperiments.clear();
+            uint32_t _size36;
+            ::apache::thrift::protocol::TType _etype39;
+            xfer += iprot->readListBegin(_etype39, _size36);
+            this->completedExperiments.resize(_size36);
+            uint32_t _i40;
+            for (_i40 = 0; _i40 < _size36; ++_i40)
+            {
+              xfer += this->completedExperiments[_i40].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.completedExperiments = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->failedExperiments.clear();
+            uint32_t _size41;
+            ::apache::thrift::protocol::TType _etype44;
+            xfer += iprot->readListBegin(_etype44, _size41);
+            this->failedExperiments.resize(_size41);
+            uint32_t _i45;
+            for (_i45 = 0; _i45 < _size41; ++_i45)
+            {
+              xfer += this->failedExperiments[_i45].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.failedExperiments = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->cancelledExperiments.clear();
+            uint32_t _size46;
+            ::apache::thrift::protocol::TType _etype49;
+            xfer += iprot->readListBegin(_etype49, _size46);
+            this->cancelledExperiments.resize(_size46);
+            uint32_t _i50;
+            for (_i50 = 0; _i50 < _size46; ++_i50)
+            {
+              xfer += this->cancelledExperiments[_i50].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.cancelledExperiments = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_allExperimentCount)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_completedExperimentCount)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_failedExperimentCount)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_allExperiments)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ExperimentStatistics");
+
+  xfer += oprot->writeFieldBegin("allExperimentCount", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32(this->allExperimentCount);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("completedExperimentCount", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32(this->completedExperimentCount);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.cancelledExperimentCount) {
+    xfer += oprot->writeFieldBegin("cancelledExperimentCount", ::apache::thrift::protocol::T_I32, 3);
+    xfer += oprot->writeI32(this->cancelledExperimentCount);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldBegin("failedExperimentCount", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeI32(this->failedExperimentCount);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("allExperiments", ::apache::thrift::protocol::T_LIST, 5);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->allExperiments.size()));
+    std::vector<ExperimentSummaryModel> ::const_iterator _iter51;
+    for (_iter51 = this->allExperiments.begin(); _iter51 != this->allExperiments.end(); ++_iter51)
+    {
+      xfer += (*_iter51).write(oprot);
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.completedExperiments) {
+    xfer += oprot->writeFieldBegin("completedExperiments", ::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->completedExperiments.size()));
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter52;
+      for (_iter52 = this->completedExperiments.begin(); _iter52 != this->completedExperiments.end(); ++_iter52)
+      {
+        xfer += (*_iter52).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.failedExperiments) {
+    xfer += oprot->writeFieldBegin("failedExperiments", ::apache::thrift::protocol::T_LIST, 7);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->failedExperiments.size()));
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter53;
+      for (_iter53 = this->failedExperiments.begin(); _iter53 != this->failedExperiments.end(); ++_iter53)
+      {
+        xfer += (*_iter53).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.cancelledExperiments) {
+    xfer += oprot->writeFieldBegin("cancelledExperiments", ::apache::thrift::protocol::T_LIST, 8);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->cancelledExperiments.size()));
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter54;
+      for (_iter54 = this->cancelledExperiments.begin(); _iter54 != this->cancelledExperiments.end(); ++_iter54)
+      {
+        xfer += (*_iter54).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ExperimentStatistics &a, ExperimentStatistics &b) {
+  using ::std::swap;
+  swap(a.allExperimentCount, b.allExperimentCount);
+  swap(a.completedExperimentCount, b.completedExperimentCount);
+  swap(a.cancelledExperimentCount, b.cancelledExperimentCount);
+  swap(a.failedExperimentCount, b.failedExperimentCount);
+  swap(a.allExperiments, b.allExperiments);
+  swap(a.completedExperiments, b.completedExperiments);
+  swap(a.failedExperiments, b.failedExperiments);
+  swap(a.cancelledExperiments, b.cancelledExperiments);
+  swap(a.__isset, b.__isset);
+}
+
+ExperimentStatistics::ExperimentStatistics(const ExperimentStatistics& other55) {
+  allExperimentCount = other55.allExperimentCount;
+  completedExperimentCount = other55.completedExperimentCount;
+  cancelledExperimentCount = other55.cancelledExperimentCount;
+  failedExperimentCount = other55.failedExperimentCount;
+  allExperiments = other55.allExperiments;
+  completedExperiments = other55.completedExperiments;
+  failedExperiments = other55.failedExperiments;
+  cancelledExperiments = other55.cancelledExperiments;
+  __isset = other55.__isset;
+}
+ExperimentStatistics& ExperimentStatistics::operator=(const ExperimentStatistics& other56) {
+  allExperimentCount = other56.allExperimentCount;
+  completedExperimentCount = other56.completedExperimentCount;
+  cancelledExperimentCount = other56.cancelledExperimentCount;
+  failedExperimentCount = other56.failedExperimentCount;
+  allExperiments = other56.allExperiments;
+  completedExperiments = other56.completedExperiments;
+  failedExperiments = other56.failedExperiments;
+  cancelledExperiments = other56.cancelledExperiments;
+  __isset = other56.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ExperimentStatistics& obj) {
+  using apache::thrift::to_string;
+  out << "ExperimentStatistics(";
+  out << "allExperimentCount=" << to_string(obj.allExperimentCount);
+  out << ", " << "completedExperimentCount=" << to_string(obj.completedExperimentCount);
+  out << ", " << "cancelledExperimentCount="; (obj.__isset.cancelledExperimentCount ? (out << to_string(obj.cancelledExperimentCount)) : (out << "<null>"));
+  out << ", " << "failedExperimentCount=" << to_string(obj.failedExperimentCount);
+  out << ", " << "allExperiments=" << to_string(obj.allExperiments);
+  out << ", " << "completedExperiments="; (obj.__isset.completedExperiments ? (out << to_string(obj.completedExperiments)) : (out << "<null>"));
+  out << ", " << "failedExperiments="; (obj.__isset.failedExperiments ? (out << to_string(obj.failedExperiments)) : (out << "<null>"));
+  out << ", " << "cancelledExperiments="; (obj.__isset.cancelledExperiments ? (out << to_string(obj.cancelledExperiments)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
new file mode 100644
index 0000000..f6d614f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
@@ -0,0 +1,510 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef experiment_model_TYPES_H
+#define experiment_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "application_io_models_types.h"
+#include "scheduling_model_types.h"
+#include "airavata_commons_types.h"
+#include "status_models_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace experiment {
+
+struct ExperimentType {
+  enum type {
+    SINGLE_APPLICATION = 0,
+    WORKFLOW = 1
+  };
+};
+
+extern const std::map<int, const char*> _ExperimentType_VALUES_TO_NAMES;
+
+struct ExperimentSearchFields {
+  enum type {
+    EXPERIMENT_NAME = 0,
+    EXPERIMENT_DESC = 1,
+    APPLICATION_ID = 2,
+    FROM_DATE = 3,
+    TO_DATE = 4,
+    STATUS = 5
+  };
+};
+
+extern const std::map<int, const char*> _ExperimentSearchFields_VALUES_TO_NAMES;
+
+class UserConfigurationDataModel;
+
+class ExperimentModel;
+
+class ExperimentSummaryModel;
+
+class ExperimentStatistics;
+
+typedef struct _UserConfigurationDataModel__isset {
+  _UserConfigurationDataModel__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false), throttleResources(true), userDN(false), generateCert(true) {}
+  bool shareExperimentPublicly :1;
+  bool computationalResourceScheduling :1;
+  bool throttleResources :1;
+  bool userDN :1;
+  bool generateCert :1;
+} _UserConfigurationDataModel__isset;
+
+class UserConfigurationDataModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "45F3B52108AC703F0CDC363B5EECA38B";
+  static const uint8_t binary_fingerprint[16]; // = {0x45,0xF3,0xB5,0x21,0x08,0xAC,0x70,0x3F,0x0C,0xDC,0x36,0x3B,0x5E,0xEC,0xA3,0x8B};
+
+  UserConfigurationDataModel(const UserConfigurationDataModel&);
+  UserConfigurationDataModel& operator=(const UserConfigurationDataModel&);
+  UserConfigurationDataModel() : airavataAutoSchedule(false), overrideManualScheduledParams(false), shareExperimentPublicly(false), throttleResources(false), userDN(), generateCert(false) {
+  }
+
+  virtual ~UserConfigurationDataModel() throw();
+  bool airavataAutoSchedule;
+  bool overrideManualScheduledParams;
+  bool shareExperimentPublicly;
+   ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel computationalResourceScheduling;
+  bool throttleResources;
+  std::string userDN;
+  bool generateCert;
+
+  _UserConfigurationDataModel__isset __isset;
+
+  void __set_airavataAutoSchedule(const bool val);
+
+  void __set_overrideManualScheduledParams(const bool val);
+
+  void __set_shareExperimentPublicly(const bool val);
+
+  void __set_computationalResourceScheduling(const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& val);
+
+  void __set_throttleResources(const bool val);
+
+  void __set_userDN(const std::string& val);
+
+  void __set_generateCert(const bool val);
+
+  bool operator == (const UserConfigurationDataModel & rhs) const
+  {
+    if (!(airavataAutoSchedule == rhs.airavataAutoSchedule))
+      return false;
+    if (!(overrideManualScheduledParams == rhs.overrideManualScheduledParams))
+      return false;
+    if (__isset.shareExperimentPublicly != rhs.__isset.shareExperimentPublicly)
+      return false;
+    else if (__isset.shareExperimentPublicly && !(shareExperimentPublicly == rhs.shareExperimentPublicly))
+      return false;
+    if (__isset.computationalResourceScheduling != rhs.__isset.computationalResourceScheduling)
+      return false;
+    else if (__isset.computationalResourceScheduling && !(computationalResourceScheduling == rhs.computationalResourceScheduling))
+      return false;
+    if (__isset.throttleResources != rhs.__isset.throttleResources)
+      return false;
+    else if (__isset.throttleResources && !(throttleResources == rhs.throttleResources))
+      return false;
+    if (__isset.userDN != rhs.__isset.userDN)
+      return false;
+    else if (__isset.userDN && !(userDN == rhs.userDN))
+      return false;
+    if (__isset.generateCert != rhs.__isset.generateCert)
+      return false;
+    else if (__isset.generateCert && !(generateCert == rhs.generateCert))
+      return false;
+    return true;
+  }
+  bool operator != (const UserConfigurationDataModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const UserConfigurationDataModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const UserConfigurationDataModel& obj);
+};
+
+void swap(UserConfigurationDataModel &a, UserConfigurationDataModel &b);
+
+typedef struct _ExperimentModel__isset {
+  _ExperimentModel__isset() : creationTime(false), description(false), executionId(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false), userConfigurationData(false), experimentInputs(false), experimentOutputs(false), experimentStatus(false), errors(false) {}
+  bool creationTime :1;
+  bool description :1;
+  bool executionId :1;
+  bool gatewayExecutionId :1;
+  bool enableEmailNotification :1;
+  bool emailAddresses :1;
+  bool userConfigurationData :1;
+  bool experimentInputs :1;
+  bool experimentOutputs :1;
+  bool experimentStatus :1;
+  bool errors :1;
+} _ExperimentModel__isset;
+
+class ExperimentModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "42A5CF1C0F5D4554085ED4D46195079B";
+  static const uint8_t binary_fingerprint[16]; // = {0x42,0xA5,0xCF,0x1C,0x0F,0x5D,0x45,0x54,0x08,0x5E,0xD4,0xD4,0x61,0x95,0x07,0x9B};
+
+  ExperimentModel(const ExperimentModel&);
+  ExperimentModel& operator=(const ExperimentModel&);
+  ExperimentModel() : experimentId("DO_NOT_SET_AT_CLIENTS"), projectId(), gatewayId(), experimentType((ExperimentType::type)0), userName(), experimentName(), creationTime(0), description(), executionId(), gatewayExecutionId(), enableEmailNotification(0) {
+    experimentType = (ExperimentType::type)0;
+
+  }
+
+  virtual ~ExperimentModel() throw();
+  std::string experimentId;
+  std::string projectId;
+  std::string gatewayId;
+  ExperimentType::type experimentType;
+  std::string userName;
+  std::string experimentName;
+  int64_t creationTime;
+  std::string description;
+  std::string executionId;
+  std::string gatewayExecutionId;
+  bool enableEmailNotification;
+  std::vector<std::string>  emailAddresses;
+  UserConfigurationDataModel userConfigurationData;
+  std::vector< ::apache::airavata::model::application::io::InputDataObjectType>  experimentInputs;
+  std::vector< ::apache::airavata::model::application::io::OutputDataObjectType>  experimentOutputs;
+   ::apache::airavata::model::status::ExperimentStatus experimentStatus;
+  std::vector< ::apache::airavata::model::commons::ErrorModel>  errors;
+
+  _ExperimentModel__isset __isset;
+
+  void __set_experimentId(const std::string& val);
+
+  void __set_projectId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_experimentType(const ExperimentType::type val);
+
+  void __set_userName(const std::string& val);
+
+  void __set_experimentName(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_description(const std::string& val);
+
+  void __set_executionId(const std::string& val);
+
+  void __set_gatewayExecutionId(const std::string& val);
+
+  void __set_enableEmailNotification(const bool val);
+
+  void __set_emailAddresses(const std::vector<std::string> & val);
+
+  void __set_userConfigurationData(const UserConfigurationDataModel& val);
+
+  void __set_experimentInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val);
+
+  void __set_experimentOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val);
+
+  void __set_experimentStatus(const  ::apache::airavata::model::status::ExperimentStatus& val);
+
+  void __set_errors(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val);
+
+  bool operator == (const ExperimentModel & rhs) const
+  {
+    if (!(experimentId == rhs.experimentId))
+      return false;
+    if (!(projectId == rhs.projectId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(experimentType == rhs.experimentType))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(experimentName == rhs.experimentName))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (__isset.description != rhs.__isset.description)
+      return false;
+    else if (__isset.description && !(description == rhs.description))
+      return false;
+    if (__isset.executionId != rhs.__isset.executionId)
+      return false;
+    else if (__isset.executionId && !(executionId == rhs.executionId))
+      return false;
+    if (__isset.gatewayExecutionId != rhs.__isset.gatewayExecutionId)
+      return false;
+    else if (__isset.gatewayExecutionId && !(gatewayExecutionId == rhs.gatewayExecutionId))
+      return false;
+    if (__isset.enableEmailNotification != rhs.__isset.enableEmailNotification)
+      return false;
+    else if (__isset.enableEmailNotification && !(enableEmailNotification == rhs.enableEmailNotification))
+      return false;
+    if (__isset.emailAddresses != rhs.__isset.emailAddresses)
+      return false;
+    else if (__isset.emailAddresses && !(emailAddresses == rhs.emailAddresses))
+      return false;
+    if (__isset.userConfigurationData != rhs.__isset.userConfigurationData)
+      return false;
+    else if (__isset.userConfigurationData && !(userConfigurationData == rhs.userConfigurationData))
+      return false;
+    if (__isset.experimentInputs != rhs.__isset.experimentInputs)
+      return false;
+    else if (__isset.experimentInputs && !(experimentInputs == rhs.experimentInputs))
+      return false;
+    if (__isset.experimentOutputs != rhs.__isset.experimentOutputs)
+      return false;
+    else if (__isset.experimentOutputs && !(experimentOutputs == rhs.experimentOutputs))
+      return false;
+    if (__isset.experimentStatus != rhs.__isset.experimentStatus)
+      return false;
+    else if (__isset.experimentStatus && !(experimentStatus == rhs.experimentStatus))
+      return false;
+    if (__isset.errors != rhs.__isset.errors)
+      return false;
+    else if (__isset.errors && !(errors == rhs.errors))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ExperimentModel& obj);
+};
+
+void swap(ExperimentModel &a, ExperimentModel &b);
+
+typedef struct _ExperimentSummaryModel__isset {
+  _ExperimentSummaryModel__isset() : creationTime(false), description(false), executionId(false), experimentStatus(false), statusUpdateTime(false) {}
+  bool creationTime :1;
+  bool description :1;
+  bool executionId :1;
+  bool experimentStatus :1;
+  bool statusUpdateTime :1;
+} _ExperimentSummaryModel__isset;
+
+class ExperimentSummaryModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "8BEDAEBF98A604CE59206E919CE20121";
+  static const uint8_t binary_fingerprint[16]; // = {0x8B,0xED,0xAE,0xBF,0x98,0xA6,0x04,0xCE,0x59,0x20,0x6E,0x91,0x9C,0xE2,0x01,0x21};
+
+  ExperimentSummaryModel(const ExperimentSummaryModel&);
+  ExperimentSummaryModel& operator=(const ExperimentSummaryModel&);
+  ExperimentSummaryModel() : experimentId(), projectId(), gatewayId(), creationTime(0), userName(), name(), description(), executionId(), experimentStatus(), statusUpdateTime(0) {
+  }
+
+  virtual ~ExperimentSummaryModel() throw();
+  std::string experimentId;
+  std::string projectId;
+  std::string gatewayId;
+  int64_t creationTime;
+  std::string userName;
+  std::string name;
+  std::string description;
+  std::string executionId;
+  std::string experimentStatus;
+  int64_t statusUpdateTime;
+
+  _ExperimentSummaryModel__isset __isset;
+
+  void __set_experimentId(const std::string& val);
+
+  void __set_projectId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_userName(const std::string& val);
+
+  void __set_name(const std::string& val);
+
+  void __set_description(const std::string& val);
+
+  void __set_executionId(const std::string& val);
+
+  void __set_experimentStatus(const std::string& val);
+
+  void __set_statusUpdateTime(const int64_t val);
+
+  bool operator == (const ExperimentSummaryModel & rhs) const
+  {
+    if (!(experimentId == rhs.experimentId))
+      return false;
+    if (!(projectId == rhs.projectId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(name == rhs.name))
+      return false;
+    if (__isset.description != rhs.__isset.description)
+      return false;
+    else if (__isset.description && !(description == rhs.description))
+      return false;
+    if (__isset.executionId != rhs.__isset.executionId)
+      return false;
+    else if (__isset.executionId && !(executionId == rhs.executionId))
+      return false;
+    if (__isset.experimentStatus != rhs.__isset.experimentStatus)
+      return false;
+    else if (__isset.experimentStatus && !(experimentStatus == rhs.experimentStatus))
+      return false;
+    if (__isset.statusUpdateTime != rhs.__isset.statusUpdateTime)
+      return false;
+    else if (__isset.statusUpdateTime && !(statusUpdateTime == rhs.statusUpdateTime))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentSummaryModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentSummaryModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ExperimentSummaryModel& obj);
+};
+
+void swap(ExperimentSummaryModel &a, ExperimentSummaryModel &b);
+
+typedef struct _ExperimentStatistics__isset {
+  _ExperimentStatistics__isset() : cancelledExperimentCount(false), completedExperiments(false), failedExperiments(false), cancelledExperiments(false) {}
+  bool cancelledExperimentCount :1;
+  bool completedExperiments :1;
+  bool failedExperiments :1;
+  bool cancelledExperiments :1;
+} _ExperimentStatistics__isset;
+
+class ExperimentStatistics {
+ public:
+
+  static const char* ascii_fingerprint; // = "3F8AFC8DC8701278C2C7E74049E8B58B";
+  static const uint8_t binary_fingerprint[16]; // = {0x3F,0x8A,0xFC,0x8D,0xC8,0x70,0x12,0x78,0xC2,0xC7,0xE7,0x40,0x49,0xE8,0xB5,0x8B};
+
+  ExperimentStatistics(const ExperimentStatistics&);
+  ExperimentStatistics& operator=(const ExperimentStatistics&);
+  ExperimentStatistics() : allExperimentCount(0), completedExperimentCount(0), cancelledExperimentCount(0), failedExperimentCount(0) {
+  }
+
+  virtual ~ExperimentStatistics() throw();
+  int32_t allExperimentCount;
+  int32_t completedExperimentCount;
+  int32_t cancelledExperimentCount;
+  int32_t failedExperimentCount;
+  std::vector<ExperimentSummaryModel>  allExperiments;
+  std::vector<ExperimentSummaryModel>  completedExperiments;
+  std::vector<ExperimentSummaryModel>  failedExperiments;
+  std::vector<ExperimentSummaryModel>  cancelledExperiments;
+
+  _ExperimentStatistics__isset __isset;
+
+  void __set_allExperimentCount(const int32_t val);
+
+  void __set_completedExperimentCount(const int32_t val);
+
+  void __set_cancelledExperimentCount(const int32_t val);
+
+  void __set_failedExperimentCount(const int32_t val);
+
+  void __set_allExperiments(const std::vector<ExperimentSummaryModel> & val);
+
+  void __set_completedExperiments(const std::vector<ExperimentSummaryModel> & val);
+
+  void __set_failedExperiments(const std::vector<ExperimentSummaryModel> & val);
+
+  void __set_cancelledExperiments(const std::vector<ExperimentSummaryModel> & val);
+
+  bool operator == (const ExperimentStatistics & rhs) const
+  {
+    if (!(allExperimentCount == rhs.allExperimentCount))
+      return false;
+    if (!(completedExperimentCount == rhs.completedExperimentCount))
+      return false;
+    if (__isset.cancelledExperimentCount != rhs.__isset.cancelledExperimentCount)
+      return false;
+    else if (__isset.cancelledExperimentCount && !(cancelledExperimentCount == rhs.cancelledExperimentCount))
+      return false;
+    if (!(failedExperimentCount == rhs.failedExperimentCount))
+      return false;
+    if (!(allExperiments == rhs.allExperiments))
+      return false;
+    if (__isset.completedExperiments != rhs.__isset.completedExperiments)
+      return false;
+    else if (__isset.completedExperiments && !(completedExperiments == rhs.completedExperiments))
+      return false;
+    if (__isset.failedExperiments != rhs.__isset.failedExperiments)
+      return false;
+    else if (__isset.failedExperiments && !(failedExperiments == rhs.failedExperiments))
+      return false;
+    if (__isset.cancelledExperiments != rhs.__isset.cancelledExperiments)
+      return false;
+    else if (__isset.cancelledExperiments && !(cancelledExperiments == rhs.cancelledExperiments))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentStatistics &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentStatistics & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ExperimentStatistics& obj);
+};
+
+void swap(ExperimentStatistics &a, ExperimentStatistics &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.cpp
new file mode 100644
index 0000000..13ec2e5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "gateway_resource_profile_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
+
+const gateway_resource_profile_modelConstants g_gateway_resource_profile_model_constants;
+
+gateway_resource_profile_modelConstants::gateway_resource_profile_modelConstants() {
+}
+
+}}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.h
new file mode 100644
index 0000000..4921247
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef gateway_resource_profile_model_CONSTANTS_H
+#define gateway_resource_profile_model_CONSTANTS_H
+
+#include "gateway_resource_profile_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
+
+class gateway_resource_profile_modelConstants {
+ public:
+  gateway_resource_profile_modelConstants();
+
+};
+
+extern const gateway_resource_profile_modelConstants g_gateway_resource_profile_model_constants;
+
+}}}}} // namespace
+
+#endif


[05/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
new file mode 100644
index 0000000..b66293f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
@@ -0,0 +1,709 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "workspace_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+
+Group::~Group() throw() {
+}
+
+
+void Group::__set_groupName(const std::string& val) {
+  this->groupName = val;
+}
+
+void Group::__set_description(const std::string& val) {
+  this->description = val;
+__isset.description = true;
+}
+
+const char* Group::ascii_fingerprint = "5B708A954C550ECA9C1A49D3C5CAFAB9";
+const uint8_t Group::binary_fingerprint[16] = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
+
+uint32_t Group::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_groupName = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->groupName);
+          isset_groupName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->description);
+          this->__isset.description = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_groupName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Group::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Group");
+
+  xfer += oprot->writeFieldBegin("groupName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->groupName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.description) {
+    xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->description);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(Group &a, Group &b) {
+  using ::std::swap;
+  swap(a.groupName, b.groupName);
+  swap(a.description, b.description);
+  swap(a.__isset, b.__isset);
+}
+
+Group::Group(const Group& other0) {
+  groupName = other0.groupName;
+  description = other0.description;
+  __isset = other0.__isset;
+}
+Group& Group::operator=(const Group& other1) {
+  groupName = other1.groupName;
+  description = other1.description;
+  __isset = other1.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const Group& obj) {
+  using apache::thrift::to_string;
+  out << "Group(";
+  out << "groupName=" << to_string(obj.groupName);
+  out << ", " << "description="; (obj.__isset.description ? (out << to_string(obj.description)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+Project::~Project() throw() {
+}
+
+
+void Project::__set_projectID(const std::string& val) {
+  this->projectID = val;
+}
+
+void Project::__set_owner(const std::string& val) {
+  this->owner = val;
+}
+
+void Project::__set_name(const std::string& val) {
+  this->name = val;
+}
+
+void Project::__set_description(const std::string& val) {
+  this->description = val;
+__isset.description = true;
+}
+
+void Project::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void Project::__set_sharedUsers(const std::vector<std::string> & val) {
+  this->sharedUsers = val;
+__isset.sharedUsers = true;
+}
+
+void Project::__set_sharedGroups(const std::vector<std::string> & val) {
+  this->sharedGroups = val;
+__isset.sharedGroups = true;
+}
+
+const char* Project::ascii_fingerprint = "AFD8090DE564134035942D450F918628";
+const uint8_t Project::binary_fingerprint[16] = {0xAF,0xD8,0x09,0x0D,0xE5,0x64,0x13,0x40,0x35,0x94,0x2D,0x45,0x0F,0x91,0x86,0x28};
+
+uint32_t Project::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_projectID = false;
+  bool isset_owner = false;
+  bool isset_name = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->projectID);
+          isset_projectID = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->owner);
+          isset_owner = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->name);
+          isset_name = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->description);
+          this->__isset.description = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->sharedUsers.clear();
+            uint32_t _size2;
+            ::apache::thrift::protocol::TType _etype5;
+            xfer += iprot->readListBegin(_etype5, _size2);
+            this->sharedUsers.resize(_size2);
+            uint32_t _i6;
+            for (_i6 = 0; _i6 < _size2; ++_i6)
+            {
+              xfer += iprot->readString(this->sharedUsers[_i6]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.sharedUsers = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->sharedGroups.clear();
+            uint32_t _size7;
+            ::apache::thrift::protocol::TType _etype10;
+            xfer += iprot->readListBegin(_etype10, _size7);
+            this->sharedGroups.resize(_size7);
+            uint32_t _i11;
+            for (_i11 = 0; _i11 < _size7; ++_i11)
+            {
+              xfer += iprot->readString(this->sharedGroups[_i11]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.sharedGroups = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_projectID)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_owner)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_name)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Project::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Project");
+
+  xfer += oprot->writeFieldBegin("projectID", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->projectID);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("owner", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->owner);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->name);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.description) {
+    xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->description);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 5);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.sharedUsers) {
+    xfer += oprot->writeFieldBegin("sharedUsers", ::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedUsers.size()));
+      std::vector<std::string> ::const_iterator _iter12;
+      for (_iter12 = this->sharedUsers.begin(); _iter12 != this->sharedUsers.end(); ++_iter12)
+      {
+        xfer += oprot->writeString((*_iter12));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.sharedGroups) {
+    xfer += oprot->writeFieldBegin("sharedGroups", ::apache::thrift::protocol::T_LIST, 7);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedGroups.size()));
+      std::vector<std::string> ::const_iterator _iter13;
+      for (_iter13 = this->sharedGroups.begin(); _iter13 != this->sharedGroups.end(); ++_iter13)
+      {
+        xfer += oprot->writeString((*_iter13));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(Project &a, Project &b) {
+  using ::std::swap;
+  swap(a.projectID, b.projectID);
+  swap(a.owner, b.owner);
+  swap(a.name, b.name);
+  swap(a.description, b.description);
+  swap(a.creationTime, b.creationTime);
+  swap(a.sharedUsers, b.sharedUsers);
+  swap(a.sharedGroups, b.sharedGroups);
+  swap(a.__isset, b.__isset);
+}
+
+Project::Project(const Project& other14) {
+  projectID = other14.projectID;
+  owner = other14.owner;
+  name = other14.name;
+  description = other14.description;
+  creationTime = other14.creationTime;
+  sharedUsers = other14.sharedUsers;
+  sharedGroups = other14.sharedGroups;
+  __isset = other14.__isset;
+}
+Project& Project::operator=(const Project& other15) {
+  projectID = other15.projectID;
+  owner = other15.owner;
+  name = other15.name;
+  description = other15.description;
+  creationTime = other15.creationTime;
+  sharedUsers = other15.sharedUsers;
+  sharedGroups = other15.sharedGroups;
+  __isset = other15.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const Project& obj) {
+  using apache::thrift::to_string;
+  out << "Project(";
+  out << "projectID=" << to_string(obj.projectID);
+  out << ", " << "owner=" << to_string(obj.owner);
+  out << ", " << "name=" << to_string(obj.name);
+  out << ", " << "description="; (obj.__isset.description ? (out << to_string(obj.description)) : (out << "<null>"));
+  out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
+  out << ", " << "sharedUsers="; (obj.__isset.sharedUsers ? (out << to_string(obj.sharedUsers)) : (out << "<null>"));
+  out << ", " << "sharedGroups="; (obj.__isset.sharedGroups ? (out << to_string(obj.sharedGroups)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+User::~User() throw() {
+}
+
+
+void User::__set_userName(const std::string& val) {
+  this->userName = val;
+}
+
+void User::__set_groupList(const std::vector<Group> & val) {
+  this->groupList = val;
+__isset.groupList = true;
+}
+
+const char* User::ascii_fingerprint = "D7DA282D6B2F08CB02B4E3CF47DB44E5";
+const uint8_t User::binary_fingerprint[16] = {0xD7,0xDA,0x28,0x2D,0x6B,0x2F,0x08,0xCB,0x02,0xB4,0xE3,0xCF,0x47,0xDB,0x44,0xE5};
+
+uint32_t User::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_userName = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userName);
+          isset_userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->groupList.clear();
+            uint32_t _size16;
+            ::apache::thrift::protocol::TType _etype19;
+            xfer += iprot->readListBegin(_etype19, _size16);
+            this->groupList.resize(_size16);
+            uint32_t _i20;
+            for (_i20 = 0; _i20 < _size16; ++_i20)
+            {
+              xfer += this->groupList[_i20].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.groupList = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t User::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("User");
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.groupList) {
+    xfer += oprot->writeFieldBegin("groupList", ::apache::thrift::protocol::T_LIST, 2);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->groupList.size()));
+      std::vector<Group> ::const_iterator _iter21;
+      for (_iter21 = this->groupList.begin(); _iter21 != this->groupList.end(); ++_iter21)
+      {
+        xfer += (*_iter21).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(User &a, User &b) {
+  using ::std::swap;
+  swap(a.userName, b.userName);
+  swap(a.groupList, b.groupList);
+  swap(a.__isset, b.__isset);
+}
+
+User::User(const User& other22) {
+  userName = other22.userName;
+  groupList = other22.groupList;
+  __isset = other22.__isset;
+}
+User& User::operator=(const User& other23) {
+  userName = other23.userName;
+  groupList = other23.groupList;
+  __isset = other23.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const User& obj) {
+  using apache::thrift::to_string;
+  out << "User(";
+  out << "userName=" << to_string(obj.userName);
+  out << ", " << "groupList="; (obj.__isset.groupList ? (out << to_string(obj.groupList)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+Gateway::~Gateway() throw() {
+}
+
+
+void Gateway::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void Gateway::__set_gatewayName(const std::string& val) {
+  this->gatewayName = val;
+__isset.gatewayName = true;
+}
+
+void Gateway::__set_domain(const std::string& val) {
+  this->domain = val;
+__isset.domain = true;
+}
+
+void Gateway::__set_emailAddress(const std::string& val) {
+  this->emailAddress = val;
+__isset.emailAddress = true;
+}
+
+const char* Gateway::ascii_fingerprint = "6BA700CA2E5FC52A8DA5ADCF811DC8DA";
+const uint8_t Gateway::binary_fingerprint[16] = {0x6B,0xA7,0x00,0xCA,0x2E,0x5F,0xC5,0x2A,0x8D,0xA5,0xAD,0xCF,0x81,0x1D,0xC8,0xDA};
+
+uint32_t Gateway::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_gatewayId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayName);
+          this->__isset.gatewayName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->domain);
+          this->__isset.domain = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->emailAddress);
+          this->__isset.emailAddress = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Gateway::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Gateway");
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.gatewayName) {
+    xfer += oprot->writeFieldBegin("gatewayName", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->gatewayName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.domain) {
+    xfer += oprot->writeFieldBegin("domain", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->domain);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.emailAddress) {
+    xfer += oprot->writeFieldBegin("emailAddress", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->emailAddress);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(Gateway &a, Gateway &b) {
+  using ::std::swap;
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.gatewayName, b.gatewayName);
+  swap(a.domain, b.domain);
+  swap(a.emailAddress, b.emailAddress);
+  swap(a.__isset, b.__isset);
+}
+
+Gateway::Gateway(const Gateway& other24) {
+  gatewayId = other24.gatewayId;
+  gatewayName = other24.gatewayName;
+  domain = other24.domain;
+  emailAddress = other24.emailAddress;
+  __isset = other24.__isset;
+}
+Gateway& Gateway::operator=(const Gateway& other25) {
+  gatewayId = other25.gatewayId;
+  gatewayName = other25.gatewayName;
+  domain = other25.domain;
+  emailAddress = other25.emailAddress;
+  __isset = other25.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const Gateway& obj) {
+  using apache::thrift::to_string;
+  out << "Gateway(";
+  out << "gatewayId=" << to_string(obj.gatewayId);
+  out << ", " << "gatewayName="; (obj.__isset.gatewayName ? (out << to_string(obj.gatewayName)) : (out << "<null>"));
+  out << ", " << "domain="; (obj.__isset.domain ? (out << to_string(obj.domain)) : (out << "<null>"));
+  out << ", " << "emailAddress="; (obj.__isset.emailAddress ? (out << to_string(obj.emailAddress)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
new file mode 100644
index 0000000..148a753
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
@@ -0,0 +1,300 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef workspace_model_TYPES_H
+#define workspace_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavata_commons_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+class Group;
+
+class Project;
+
+class User;
+
+class Gateway;
+
+typedef struct _Group__isset {
+  _Group__isset() : description(false) {}
+  bool description :1;
+} _Group__isset;
+
+class Group {
+ public:
+
+  static const char* ascii_fingerprint; // = "5B708A954C550ECA9C1A49D3C5CAFAB9";
+  static const uint8_t binary_fingerprint[16]; // = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
+
+  Group(const Group&);
+  Group& operator=(const Group&);
+  Group() : groupName(), description() {
+  }
+
+  virtual ~Group() throw();
+  std::string groupName;
+  std::string description;
+
+  _Group__isset __isset;
+
+  void __set_groupName(const std::string& val);
+
+  void __set_description(const std::string& val);
+
+  bool operator == (const Group & rhs) const
+  {
+    if (!(groupName == rhs.groupName))
+      return false;
+    if (__isset.description != rhs.__isset.description)
+      return false;
+    else if (__isset.description && !(description == rhs.description))
+      return false;
+    return true;
+  }
+  bool operator != (const Group &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Group & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const Group& obj);
+};
+
+void swap(Group &a, Group &b);
+
+typedef struct _Project__isset {
+  _Project__isset() : description(false), creationTime(false), sharedUsers(false), sharedGroups(false) {}
+  bool description :1;
+  bool creationTime :1;
+  bool sharedUsers :1;
+  bool sharedGroups :1;
+} _Project__isset;
+
+class Project {
+ public:
+
+  static const char* ascii_fingerprint; // = "AFD8090DE564134035942D450F918628";
+  static const uint8_t binary_fingerprint[16]; // = {0xAF,0xD8,0x09,0x0D,0xE5,0x64,0x13,0x40,0x35,0x94,0x2D,0x45,0x0F,0x91,0x86,0x28};
+
+  Project(const Project&);
+  Project& operator=(const Project&);
+  Project() : projectID("DO_NOT_SET_AT_CLIENTS"), owner(), name(), description(), creationTime(0) {
+  }
+
+  virtual ~Project() throw();
+  std::string projectID;
+  std::string owner;
+  std::string name;
+  std::string description;
+  int64_t creationTime;
+  std::vector<std::string>  sharedUsers;
+  std::vector<std::string>  sharedGroups;
+
+  _Project__isset __isset;
+
+  void __set_projectID(const std::string& val);
+
+  void __set_owner(const std::string& val);
+
+  void __set_name(const std::string& val);
+
+  void __set_description(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_sharedUsers(const std::vector<std::string> & val);
+
+  void __set_sharedGroups(const std::vector<std::string> & val);
+
+  bool operator == (const Project & rhs) const
+  {
+    if (!(projectID == rhs.projectID))
+      return false;
+    if (!(owner == rhs.owner))
+      return false;
+    if (!(name == rhs.name))
+      return false;
+    if (__isset.description != rhs.__isset.description)
+      return false;
+    else if (__isset.description && !(description == rhs.description))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (__isset.sharedUsers != rhs.__isset.sharedUsers)
+      return false;
+    else if (__isset.sharedUsers && !(sharedUsers == rhs.sharedUsers))
+      return false;
+    if (__isset.sharedGroups != rhs.__isset.sharedGroups)
+      return false;
+    else if (__isset.sharedGroups && !(sharedGroups == rhs.sharedGroups))
+      return false;
+    return true;
+  }
+  bool operator != (const Project &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Project & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const Project& obj);
+};
+
+void swap(Project &a, Project &b);
+
+typedef struct _User__isset {
+  _User__isset() : groupList(false) {}
+  bool groupList :1;
+} _User__isset;
+
+class User {
+ public:
+
+  static const char* ascii_fingerprint; // = "D7DA282D6B2F08CB02B4E3CF47DB44E5";
+  static const uint8_t binary_fingerprint[16]; // = {0xD7,0xDA,0x28,0x2D,0x6B,0x2F,0x08,0xCB,0x02,0xB4,0xE3,0xCF,0x47,0xDB,0x44,0xE5};
+
+  User(const User&);
+  User& operator=(const User&);
+  User() : userName() {
+  }
+
+  virtual ~User() throw();
+  std::string userName;
+  std::vector<Group>  groupList;
+
+  _User__isset __isset;
+
+  void __set_userName(const std::string& val);
+
+  void __set_groupList(const std::vector<Group> & val);
+
+  bool operator == (const User & rhs) const
+  {
+    if (!(userName == rhs.userName))
+      return false;
+    if (__isset.groupList != rhs.__isset.groupList)
+      return false;
+    else if (__isset.groupList && !(groupList == rhs.groupList))
+      return false;
+    return true;
+  }
+  bool operator != (const User &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const User & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const User& obj);
+};
+
+void swap(User &a, User &b);
+
+typedef struct _Gateway__isset {
+  _Gateway__isset() : gatewayName(false), domain(false), emailAddress(false) {}
+  bool gatewayName :1;
+  bool domain :1;
+  bool emailAddress :1;
+} _Gateway__isset;
+
+class Gateway {
+ public:
+
+  static const char* ascii_fingerprint; // = "6BA700CA2E5FC52A8DA5ADCF811DC8DA";
+  static const uint8_t binary_fingerprint[16]; // = {0x6B,0xA7,0x00,0xCA,0x2E,0x5F,0xC5,0x2A,0x8D,0xA5,0xAD,0xCF,0x81,0x1D,0xC8,0xDA};
+
+  Gateway(const Gateway&);
+  Gateway& operator=(const Gateway&);
+  Gateway() : gatewayId(), gatewayName(), domain(), emailAddress() {
+  }
+
+  virtual ~Gateway() throw();
+  std::string gatewayId;
+  std::string gatewayName;
+  std::string domain;
+  std::string emailAddress;
+
+  _Gateway__isset __isset;
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_gatewayName(const std::string& val);
+
+  void __set_domain(const std::string& val);
+
+  void __set_emailAddress(const std::string& val);
+
+  bool operator == (const Gateway & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (__isset.gatewayName != rhs.__isset.gatewayName)
+      return false;
+    else if (__isset.gatewayName && !(gatewayName == rhs.gatewayName))
+      return false;
+    if (__isset.domain != rhs.__isset.domain)
+      return false;
+    else if (__isset.domain && !(domain == rhs.domain))
+      return false;
+    if (__isset.emailAddress != rhs.__isset.emailAddress)
+      return false;
+    else if (__isset.emailAddress && !(emailAddress == rhs.emailAddress))
+      return false;
+    return true;
+  }
+  bool operator != (const Gateway &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Gateway & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const Gateway& obj);
+};
+
+void swap(Gateway &a, Gateway &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index 8fe34f7..9afce08 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -29,29 +29,35 @@ interface AiravataIf {
    */
   public function getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param \Airavata\Model\Workspace\Gateway $gateway
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addGateway(\Airavata\Model\Workspace\Gateway $gateway);
+  public function addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param \Airavata\Model\Workspace\Gateway $updatedGateway
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
+  public function updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return \Airavata\Model\Workspace\Gateway
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getGateway($gatewayId);
+  public function getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
    * @param string $gatewayId
    * @return bool
@@ -2561,15 +2567,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getAPIVersion failed: unknown result");
   }
 
-  public function addGateway(\Airavata\Model\Workspace\Gateway $gateway)
+  public function addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway)
   {
-    $this->send_addGateway($gateway);
+    $this->send_addGateway($authzToken, $gateway);
     return $this->recv_addGateway();
   }
 
-  public function send_addGateway(\Airavata\Model\Workspace\Gateway $gateway)
+  public function send_addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway)
   {
     $args = new \Airavata\API\Airavata_addGateway_args();
+    $args->authzToken = $authzToken;
     $args->gateway = $gateway;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -2618,18 +2625,22 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
     throw new \Exception("addGateway failed: unknown result");
   }
 
-  public function updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway)
+  public function updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway)
   {
-    $this->send_updateGateway($gatewayId, $updatedGateway);
+    $this->send_updateGateway($authzToken, $gatewayId, $updatedGateway);
     $this->recv_updateGateway();
   }
 
-  public function send_updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway)
+  public function send_updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway)
   {
     $args = new \Airavata\API\Airavata_updateGateway_args();
+    $args->authzToken = $authzToken;
     $args->gatewayId = $gatewayId;
     $args->updatedGateway = $updatedGateway;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -2676,18 +2687,22 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
     return;
   }
 
-  public function getGateway($gatewayId)
+  public function getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
   {
-    $this->send_getGateway($gatewayId);
+    $this->send_getGateway($authzToken, $gatewayId);
     return $this->recv_getGateway();
   }
 
-  public function send_getGateway($gatewayId)
+  public function send_getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
   {
     $args = new \Airavata\API\Airavata_getGateway_args();
+    $args->authzToken = $authzToken;
     $args->gatewayId = $gatewayId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -2736,6 +2751,9 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
     throw new \Exception("getGateway failed: unknown result");
   }
 
@@ -10501,6 +10519,10 @@ class Airavata_addGateway_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var \Airavata\Model\Workspace\Gateway
    */
   public $gateway = null;
@@ -10509,6 +10531,11 @@ class Airavata_addGateway_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'gateway',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Gateway',
@@ -10516,6 +10543,9 @@ class Airavata_addGateway_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['gateway'])) {
         $this->gateway = $vals['gateway'];
       }
@@ -10543,6 +10573,14 @@ class Airavata_addGateway_args {
       {
         case 1:
           if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
             $this->gateway = new \Airavata\Model\Workspace\Gateway();
             $xfer += $this->gateway->read($input);
           } else {
@@ -10562,11 +10600,19 @@ class Airavata_addGateway_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_addGateway_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->gateway !== null) {
       if (!is_object($this->gateway)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('gateway', TType::STRUCT, 1);
+      $xfer += $output->writeFieldBegin('gateway', TType::STRUCT, 2);
       $xfer += $this->gateway->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -10596,6 +10642,10 @@ class Airavata_addGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -10619,6 +10669,11 @@ class Airavata_addGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -10634,6 +10689,9 @@ class Airavata_addGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
     }
   }
 
@@ -10687,6 +10745,14 @@ class Airavata_addGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -10720,6 +10786,11 @@ class Airavata_addGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -10731,6 +10802,10 @@ class Airavata_updateGateway_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var string
    */
   public $gatewayId = null;
@@ -10743,10 +10818,15 @@ class Airavata_updateGateway_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
-        2 => array(
+        3 => array(
           'var' => 'updatedGateway',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Gateway',
@@ -10754,6 +10834,9 @@ class Airavata_updateGateway_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['gatewayId'])) {
         $this->gatewayId = $vals['gatewayId'];
       }
@@ -10783,13 +10866,21 @@ class Airavata_updateGateway_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 2:
+        case 3:
           if ($ftype == TType::STRUCT) {
             $this->updatedGateway = new \Airavata\Model\Workspace\Gateway();
             $xfer += $this->updatedGateway->read($input);
@@ -10810,8 +10901,16 @@ class Airavata_updateGateway_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_updateGateway_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
       $xfer += $output->writeString($this->gatewayId);
       $xfer += $output->writeFieldEnd();
     }
@@ -10819,7 +10918,7 @@ class Airavata_updateGateway_args {
       if (!is_object($this->updatedGateway)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('updatedGateway', TType::STRUCT, 2);
+      $xfer += $output->writeFieldBegin('updatedGateway', TType::STRUCT, 3);
       $xfer += $this->updatedGateway->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -10845,6 +10944,10 @@ class Airavata_updateGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -10864,6 +10967,11 @@ class Airavata_updateGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -10876,6 +10984,9 @@ class Airavata_updateGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
     }
   }
 
@@ -10922,6 +11033,14 @@ class Airavata_updateGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -10950,6 +11069,11 @@ class Airavata_updateGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -10961,6 +11085,10 @@ class Airavata_getGateway_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var string
    */
   public $gatewayId = null;
@@ -10969,12 +11097,20 @@ class Airavata_getGateway_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['gatewayId'])) {
         $this->gatewayId = $vals['gatewayId'];
       }
@@ -11001,6 +11137,14 @@ class Airavata_getGateway_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->gatewayId);
           } else {
@@ -11020,8 +11164,16 @@ class Airavata_getGateway_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getGateway_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
       $xfer += $output->writeString($this->gatewayId);
       $xfer += $output->writeFieldEnd();
     }
@@ -11051,6 +11203,10 @@ class Airavata_getGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -11075,6 +11231,11 @@ class Airavata_getGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -11090,6 +11251,9 @@ class Airavata_getGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
     }
   }
 
@@ -11144,6 +11308,14 @@ class Airavata_getGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -11180,6 +11352,11 @@ class Airavata_getGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
index 0b10708..1a237c4 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
@@ -828,12 +828,4 @@ class ApplicationDeploymentDescription {
 
 }
 
-final class Constant extends \Thrift\Type\TConstant {
-  static protected $DEFAULT_ID;
-
-  static protected function init_DEFAULT_ID() {
-    return "DO_NOT_SET_AT_CLIENTS";
-  }
-}
-
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
index df31203..3c03cc7 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
@@ -302,12 +302,4 @@ class ApplicationInterfaceDescription {
 
 }
 
-final class Constant extends \Thrift\Type\TConstant {
-  static protected $DEFAULT_ID;
-
-  static protected function init_DEFAULT_ID() {
-    return "DO_NOT_SET_AT_CLIENTS";
-  }
-}
-
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index f1e2cd3..b773cc4 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -2738,12 +2738,4 @@ class ComputeResourceDescription {
 
 }
 
-final class Constant extends \Thrift\Type\TConstant {
-  static protected $DEFAULT_ID;
-
-  static protected function init_DEFAULT_ID() {
-    return "DO_NOT_SET_AT_CLIENTS";
-  }
-}
-
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
new file mode 100644
index 0000000..a74e0f9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
@@ -0,0 +1,657 @@
+<?php
+namespace Airavata\Model\Application\Io;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+/**
+ * Data Types supported in Airavata. The primitive data types
+ * 
+ */
+final class DataType {
+  const STRING = 0;
+  const INTEGER = 1;
+  const FLOAT = 2;
+  const URI = 3;
+  const STDOUT = 4;
+  const STDERR = 5;
+  static public $__names = array(
+    0 => 'STRING',
+    1 => 'INTEGER',
+    2 => 'FLOAT',
+    3 => 'URI',
+    4 => 'STDOUT',
+    5 => 'STDERR',
+  );
+}
+
+/**
+ * Application Inputs. The paramters describe how inputs are passed to the application.
+ * 
+ * name:
+ *   Name of the parameter.
+ * 
+ * value:
+ *   Value of the parameter. A default value could be set during registration.
+ * 
+ * type:
+ *   Data type of the parameter
+ * 
+ * applicationArguement:
+ *   The argument flag sent to the application. Such as -p pressure.
+ * 
+ * standardInput:
+ *   When this value is set, the parameter is sent as standard input rather than a parameter.
+ *   Typically this is passed using redirection operator ">".
+ * 
+ * userFriendlyDescription:
+ *   Description to be displayed at the user interface.
+ * 
+ * metaData:
+ *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+ * 
+ */
+class InputDataObjectType {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $name = null;
+  /**
+   * @var string
+   */
+  public $value = null;
+  /**
+   * @var int
+   */
+  public $type = null;
+  /**
+   * @var string
+   */
+  public $applicationArgument = null;
+  /**
+   * @var bool
+   */
+  public $standardInput = null;
+  /**
+   * @var string
+   */
+  public $userFriendlyDescription = null;
+  /**
+   * @var string
+   */
+  public $metaData = null;
+  /**
+   * @var int
+   */
+  public $inputOrder = null;
+  /**
+   * @var bool
+   */
+  public $isRequired = null;
+  /**
+   * @var bool
+   */
+  public $requiredToAddedToCommandLine = null;
+  /**
+   * @var bool
+   */
+  public $dataStaged = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'name',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'value',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'type',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'applicationArgument',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'standardInput',
+          'type' => TType::BOOL,
+          ),
+        6 => array(
+          'var' => 'userFriendlyDescription',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'metaData',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'inputOrder',
+          'type' => TType::I32,
+          ),
+        9 => array(
+          'var' => 'isRequired',
+          'type' => TType::BOOL,
+          ),
+        10 => array(
+          'var' => 'requiredToAddedToCommandLine',
+          'type' => TType::BOOL,
+          ),
+        11 => array(
+          'var' => 'dataStaged',
+          'type' => TType::BOOL,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['name'])) {
+        $this->name = $vals['name'];
+      }
+      if (isset($vals['value'])) {
+        $this->value = $vals['value'];
+      }
+      if (isset($vals['type'])) {
+        $this->type = $vals['type'];
+      }
+      if (isset($vals['applicationArgument'])) {
+        $this->applicationArgument = $vals['applicationArgument'];
+      }
+      if (isset($vals['standardInput'])) {
+        $this->standardInput = $vals['standardInput'];
+      }
+      if (isset($vals['userFriendlyDescription'])) {
+        $this->userFriendlyDescription = $vals['userFriendlyDescription'];
+      }
+      if (isset($vals['metaData'])) {
+        $this->metaData = $vals['metaData'];
+      }
+      if (isset($vals['inputOrder'])) {
+        $this->inputOrder = $vals['inputOrder'];
+      }
+      if (isset($vals['isRequired'])) {
+        $this->isRequired = $vals['isRequired'];
+      }
+      if (isset($vals['requiredToAddedToCommandLine'])) {
+        $this->requiredToAddedToCommandLine = $vals['requiredToAddedToCommandLine'];
+      }
+      if (isset($vals['dataStaged'])) {
+        $this->dataStaged = $vals['dataStaged'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'InputDataObjectType';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->name);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->value);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->type);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationArgument);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->standardInput);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userFriendlyDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->metaData);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->inputOrder);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->isRequired);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->requiredToAddedToCommandLine);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->dataStaged);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('InputDataObjectType');
+    if ($this->name !== null) {
+      $xfer += $output->writeFieldBegin('name', TType::STRING, 1);
+      $xfer += $output->writeString($this->name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->value !== null) {
+      $xfer += $output->writeFieldBegin('value', TType::STRING, 2);
+      $xfer += $output->writeString($this->value);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->type !== null) {
+      $xfer += $output->writeFieldBegin('type', TType::I32, 3);
+      $xfer += $output->writeI32($this->type);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationArgument !== null) {
+      $xfer += $output->writeFieldBegin('applicationArgument', TType::STRING, 4);
+      $xfer += $output->writeString($this->applicationArgument);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->standardInput !== null) {
+      $xfer += $output->writeFieldBegin('standardInput', TType::BOOL, 5);
+      $xfer += $output->writeBool($this->standardInput);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userFriendlyDescription !== null) {
+      $xfer += $output->writeFieldBegin('userFriendlyDescription', TType::STRING, 6);
+      $xfer += $output->writeString($this->userFriendlyDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->metaData !== null) {
+      $xfer += $output->writeFieldBegin('metaData', TType::STRING, 7);
+      $xfer += $output->writeString($this->metaData);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->inputOrder !== null) {
+      $xfer += $output->writeFieldBegin('inputOrder', TType::I32, 8);
+      $xfer += $output->writeI32($this->inputOrder);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->isRequired !== null) {
+      $xfer += $output->writeFieldBegin('isRequired', TType::BOOL, 9);
+      $xfer += $output->writeBool($this->isRequired);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->requiredToAddedToCommandLine !== null) {
+      $xfer += $output->writeFieldBegin('requiredToAddedToCommandLine', TType::BOOL, 10);
+      $xfer += $output->writeBool($this->requiredToAddedToCommandLine);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataStaged !== null) {
+      $xfer += $output->writeFieldBegin('dataStaged', TType::BOOL, 11);
+      $xfer += $output->writeBool($this->dataStaged);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * Application Outputs. The paramters describe how outputs generated by the application.
+ * 
+ * name:
+ *   Name of the parameter.
+ * 
+ * value:
+ *   Value of the parameter.
+ * 
+ * type:
+ *   Data type of the parameter
+ * 
+ * applicationArguement:
+ *   The argument flag sent to the application. Such as -p pressure.
+ * 
+ * standardInput:
+ *   When this value is set, the parameter is sent as standard input rather than a parameter.
+ *   Typically this is passed using redirection operator ">".
+ * 
+ * userFriendlyDescription:
+ *   Description to be displayed at the user interface.
+ * 
+ * metaData:
+ *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+ * 
+ */
+class OutputDataObjectType {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $name = null;
+  /**
+   * @var string
+   */
+  public $value = null;
+  /**
+   * @var int
+   */
+  public $type = null;
+  /**
+   * @var string
+   */
+  public $applicationArgument = null;
+  /**
+   * @var bool
+   */
+  public $isRequired = null;
+  /**
+   * @var bool
+   */
+  public $requiredToAddedToCommandLine = null;
+  /**
+   * @var bool
+   */
+  public $dataMovement = null;
+  /**
+   * @var string
+   */
+  public $location = null;
+  /**
+   * @var string
+   */
+  public $searchQuery = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'name',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'value',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'type',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'applicationArgument',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'isRequired',
+          'type' => TType::BOOL,
+          ),
+        6 => array(
+          'var' => 'requiredToAddedToCommandLine',
+          'type' => TType::BOOL,
+          ),
+        7 => array(
+          'var' => 'dataMovement',
+          'type' => TType::BOOL,
+          ),
+        8 => array(
+          'var' => 'location',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'searchQuery',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['name'])) {
+        $this->name = $vals['name'];
+      }
+      if (isset($vals['value'])) {
+        $this->value = $vals['value'];
+      }
+      if (isset($vals['type'])) {
+        $this->type = $vals['type'];
+      }
+      if (isset($vals['applicationArgument'])) {
+        $this->applicationArgument = $vals['applicationArgument'];
+      }
+      if (isset($vals['isRequired'])) {
+        $this->isRequired = $vals['isRequired'];
+      }
+      if (isset($vals['requiredToAddedToCommandLine'])) {
+        $this->requiredToAddedToCommandLine = $vals['requiredToAddedToCommandLine'];
+      }
+      if (isset($vals['dataMovement'])) {
+        $this->dataMovement = $vals['dataMovement'];
+      }
+      if (isset($vals['location'])) {
+        $this->location = $vals['location'];
+      }
+      if (isset($vals['searchQuery'])) {
+        $this->searchQuery = $vals['searchQuery'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'OutputDataObjectType';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->name);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->value);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->type);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationArgument);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->isRequired);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->requiredToAddedToCommandLine);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->dataMovement);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->location);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->searchQuery);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('OutputDataObjectType');
+    if ($this->name !== null) {
+      $xfer += $output->writeFieldBegin('name', TType::STRING, 1);
+      $xfer += $output->writeString($this->name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->value !== null) {
+      $xfer += $output->writeFieldBegin('value', TType::STRING, 2);
+      $xfer += $output->writeString($this->value);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->type !== null) {
+      $xfer += $output->writeFieldBegin('type', TType::I32, 3);
+      $xfer += $output->writeI32($this->type);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationArgument !== null) {
+      $xfer += $output->writeFieldBegin('applicationArgument', TType::STRING, 4);
+      $xfer += $output->writeString($this->applicationArgument);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->isRequired !== null) {
+      $xfer += $output->writeFieldBegin('isRequired', TType::BOOL, 5);
+      $xfer += $output->writeBool($this->isRequired);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->requiredToAddedToCommandLine !== null) {
+      $xfer += $output->writeFieldBegin('requiredToAddedToCommandLine', TType::BOOL, 6);
+      $xfer += $output->writeBool($this->requiredToAddedToCommandLine);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataMovement !== null) {
+      $xfer += $output->writeFieldBegin('dataMovement', TType::BOOL, 7);
+      $xfer += $output->writeBool($this->dataMovement);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->location !== null) {
+      $xfer += $output->writeFieldBegin('location', TType::STRING, 8);
+      $xfer += $output->writeString($this->location);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->searchQuery !== null) {
+      $xfer += $output->writeFieldBegin('searchQuery', TType::STRING, 9);
+      $xfer += $output->writeString($this->searchQuery);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Commons/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Commons/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Commons/Types.php
new file mode 100644
index 0000000..a4b8b85
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Commons/Types.php
@@ -0,0 +1,475 @@
+<?php
+namespace Airavata\Model\Commons;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+class ErrorModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $errorId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var string
+   */
+  public $actualErrorMessage = null;
+  /**
+   * @var string
+   */
+  public $userFriendlyMessage = null;
+  /**
+   * @var bool
+   */
+  public $transientOrPersistent = false;
+  /**
+   * @var string[]
+   */
+  public $rootCauseErrorIdList = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'errorId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        3 => array(
+          'var' => 'actualErrorMessage',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'userFriendlyMessage',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'transientOrPersistent',
+          'type' => TType::BOOL,
+          ),
+        6 => array(
+          'var' => 'rootCauseErrorIdList',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['errorId'])) {
+        $this->errorId = $vals['errorId'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['actualErrorMessage'])) {
+        $this->actualErrorMessage = $vals['actualErrorMessage'];
+      }
+      if (isset($vals['userFriendlyMessage'])) {
+        $this->userFriendlyMessage = $vals['userFriendlyMessage'];
+      }
+      if (isset($vals['transientOrPersistent'])) {
+        $this->transientOrPersistent = $vals['transientOrPersistent'];
+      }
+      if (isset($vals['rootCauseErrorIdList'])) {
+        $this->rootCauseErrorIdList = $vals['rootCauseErrorIdList'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ErrorModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->errorId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->actualErrorMessage);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userFriendlyMessage);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->transientOrPersistent);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::LST) {
+            $this->rootCauseErrorIdList = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->rootCauseErrorIdList []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ErrorModel');
+    if ($this->errorId !== null) {
+      $xfer += $output->writeFieldBegin('errorId', TType::STRING, 1);
+      $xfer += $output->writeString($this->errorId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 2);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->actualErrorMessage !== null) {
+      $xfer += $output->writeFieldBegin('actualErrorMessage', TType::STRING, 3);
+      $xfer += $output->writeString($this->actualErrorMessage);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userFriendlyMessage !== null) {
+      $xfer += $output->writeFieldBegin('userFriendlyMessage', TType::STRING, 4);
+      $xfer += $output->writeString($this->userFriendlyMessage);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->transientOrPersistent !== null) {
+      $xfer += $output->writeFieldBegin('transientOrPersistent', TType::BOOL, 5);
+      $xfer += $output->writeBool($this->transientOrPersistent);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->rootCauseErrorIdList !== null) {
+      if (!is_array($this->rootCauseErrorIdList)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('rootCauseErrorIdList', TType::LST, 6);
+      {
+        $output->writeListBegin(TType::STRING, count($this->rootCauseErrorIdList));
+        {
+          foreach ($this->rootCauseErrorIdList as $iter6)
+          {
+            $xfer += $output->writeString($iter6);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * This data structure can be used to store the validation results
+ * captured during validation step and during the launchExperiment
+ * operation it can be easilly checked to see the errors occured
+ * during the experiment launch operation
+ * 
+ */
+class ValidatorResult {
+  static $_TSPEC;
+
+  /**
+   * @var bool
+   */
+  public $result = null;
+  /**
+   * @var string
+   */
+  public $errorDetails = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'result',
+          'type' => TType::BOOL,
+          ),
+        2 => array(
+          'var' => 'errorDetails',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['result'])) {
+        $this->result = $vals['result'];
+      }
+      if (isset($vals['errorDetails'])) {
+        $this->errorDetails = $vals['errorDetails'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ValidatorResult';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->result);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->errorDetails);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ValidatorResult');
+    if ($this->result !== null) {
+      $xfer += $output->writeFieldBegin('result', TType::BOOL, 1);
+      $xfer += $output->writeBool($this->result);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->errorDetails !== null) {
+      $xfer += $output->writeFieldBegin('errorDetails', TType::STRING, 2);
+      $xfer += $output->writeString($this->errorDetails);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ValidationResults {
+  static $_TSPEC;
+
+  /**
+   * @var bool
+   */
+  public $validationState = null;
+  /**
+   * @var \Airavata\Model\Commons\ValidatorResult[]
+   */
+  public $validationResultList = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'validationState',
+          'type' => TType::BOOL,
+          ),
+        2 => array(
+          'var' => 'validationResultList',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Commons\ValidatorResult',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['validationState'])) {
+        $this->validationState = $vals['validationState'];
+      }
+      if (isset($vals['validationResultList'])) {
+        $this->validationResultList = $vals['validationResultList'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ValidationResults';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->validationState);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::LST) {
+            $this->validationResultList = array();
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+            {
+              $elem12 = null;
+              $elem12 = new \Airavata\Model\Commons\ValidatorResult();
+              $xfer += $elem12->read($input);
+              $this->validationResultList []= $elem12;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ValidationResults');
+    if ($this->validationState !== null) {
+      $xfer += $output->writeFieldBegin('validationState', TType::BOOL, 1);
+      $xfer += $output->writeBool($this->validationState);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->validationResultList !== null) {
+      if (!is_array($this->validationResultList)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('validationResultList', TType::LST, 2);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->validationResultList));
+        {
+          foreach ($this->validationResultList as $iter13)
+          {
+            $xfer += $iter13->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $DEFAULT_ID;
+
+  static protected function init_DEFAULT_ID() {
+    return "DO_NOT_SET_AT_CLIENTS";
+  }
+}
+
+


[30/44] airavata git commit: finished changing the API methods.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/283e700d/thrift-interface-descriptions/airavata-api/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-api/airavata_api.thrift b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
index 8b551d0..fbf5a47 100644
--- a/thrift-interface-descriptions/airavata-api/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
@@ -80,32 +80,38 @@ service Airavata {
   string addGateway(1: required security_model.AuthzToken authzToken, 2: required workspace_model.Gateway gateway)
          throws (1: airavata_errors.InvalidRequestException ire,
                  2: airavata_errors.AiravataClientException ace,
-                 3: airavata_errors.AiravataSystemException ase)
+                 3: airavata_errors.AiravataSystemException ase,
+                 4: airavata_errors.AuthorizationException ae)
 
   void updateGateway(1: required security_model.AuthzToken authzToken, 2: required string gatewayId, 3: required workspace_model.Gateway updatedGateway)
          throws (1: airavata_errors.InvalidRequestException ire,
                  2: airavata_errors.AiravataClientException ace,
-                 3: airavata_errors.AiravataSystemException ase)
+                 3: airavata_errors.AiravataSystemException ase,
+                 4: airavata_errors.AuthorizationException ae)
 
   workspace_model.Gateway getGateway(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
            throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase)
+                   3: airavata_errors.AiravataSystemException ase,
+                   4: airavata_errors.AuthorizationException ae)
 
   bool deleteGateway(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
              throws (1: airavata_errors.InvalidRequestException ire,
                      2: airavata_errors.AiravataClientException ace,
-                     3: airavata_errors.AiravataSystemException ase)
+                     3: airavata_errors.AiravataSystemException ase,
+                     4: airavata_errors.AuthorizationException ae)
 
   list<workspace_model.Gateway> getAllGateways(1: required security_model.AuthzToken authzToken)
              throws (1: airavata_errors.InvalidRequestException ire,
                      2: airavata_errors.AiravataClientException ace,
-                     3: airavata_errors.AiravataSystemException ase)
+                     3: airavata_errors.AiravataSystemException ase,
+                     4: airavata_errors.AuthorizationException ae)
 
   bool isGatewayExist(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
            throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase)
+                   3: airavata_errors.AiravataSystemException ase,
+                   4: airavata_errors.AuthorizationException ae)
 
 
   /**
@@ -160,7 +166,8 @@ service Airavata {
                         3: required workspace_model.Project project)
           throws (1: airavata_errors.InvalidRequestException ire,
                   2: airavata_errors.AiravataClientException ace,
-                  3: airavata_errors.AiravataSystemException ase)
+                  3: airavata_errors.AiravataSystemException ase,
+                  4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update a Project
@@ -172,7 +179,8 @@ service Airavata {
       throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
               3: airavata_errors.AiravataSystemException ase,
-              4: airavata_errors.ProjectNotFoundException pnfe)
+              4: airavata_errors.ProjectNotFoundException pnfe,
+              5: airavata_errors.AuthorizationException ae)
 
 /**
    * Get a Project by ID
@@ -182,13 +190,15 @@ service Airavata {
         throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
                 3: airavata_errors.AiravataSystemException ase,
-                4: airavata_errors.ProjectNotFoundException pnfe)
+                4: airavata_errors.ProjectNotFoundException pnfe,
+                5: airavata_errors.AuthorizationException ae)
 
   bool deleteProject (1: required security_model.AuthzToken authzToken, 2: required string projectId)
           throws (1: airavata_errors.InvalidRequestException ire,
                   2: airavata_errors.AiravataClientException ace,
                   3: airavata_errors.AiravataSystemException ase,
-                  4: airavata_errors.ProjectNotFoundException pnfe)
+                  4: airavata_errors.ProjectNotFoundException pnfe,
+                  5: airavata_errors.AuthorizationException ae)
 
  /**
    * Get all Project by user
@@ -201,7 +211,7 @@ service Airavata {
    * @deprecated Instead use getAllUserProjectsWithPagination
  **/
   list<workspace_model.Project> getAllUserProjects (1: required string gatewayId,
-                                                   2: required string userName)
+                                                    2: required string userName)
         throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
                 3: airavata_errors.AiravataSystemException ase)
@@ -219,13 +229,15 @@ service Airavata {
    * @param offset
    *    The starting point of the results to be fetched
  **/
-  list<workspace_model.Project> getAllUserProjectsWithPagination (1: required string gatewayId,
-                                                   2: required string userName,
-                                                   3: required i32 limit,
-                                                   4: required i32 offset)
+  list<workspace_model.Project> getAllUserProjectsWithPagination (1: required security_model.AuthzToken authzToken,
+                                                   2: required string gatewayId,
+                                                   3: required string userName,
+                                                   4: required i32 limit,
+                                                   5: required i32 offset)
         throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Get all Project for user by project name
@@ -239,7 +251,8 @@ service Airavata {
    * @deprecated Instead use searchProjectsByProjectNameWithPagination
    */
   list<workspace_model.Project> searchProjectsByProjectName (1: required string gatewayId,
-                        2: required string userName, 3: required string projectName)
+                        2: required string userName,
+                        3: required string projectName)
           throws (1: airavata_errors.InvalidRequestException ire,
                   2: airavata_errors.AiravataClientException ace,
                   3: airavata_errors.AiravataSystemException ase)
@@ -259,12 +272,16 @@ service Airavata {
    * @param offset
    *    The starting point of the results to be fetched
   */
-  list<workspace_model.Project> searchProjectsByProjectNameWithPagination (1: required string gatewayId,
-                        2: required string userName, 3: required string projectName,4: required i32 limit,
-                        5: required i32 offset)
+  list<workspace_model.Project> searchProjectsByProjectNameWithPagination (1: required security_model.AuthzToken authzToken,
+                        2: required string gatewayId,
+                        3: required string userName,
+                        4: required string projectName,
+                        5: required i32 limit,
+                        6: required i32 offset)
           throws (1: airavata_errors.InvalidRequestException ire,
                   2: airavata_errors.AiravataClientException ace,
-                  3: airavata_errors.AiravataSystemException ase)
+                  3: airavata_errors.AiravataSystemException ase,
+                  4: airavata_errors.AuthorizationException ae)
 
   /**
     * Get all Project for user by project description
@@ -297,12 +314,16 @@ service Airavata {
     * @param offset
     *    The starting point of the results to be fetched
    */
-  list<workspace_model.Project> searchProjectsByProjectDescWithPagination (1: required string gatewayId,
-                        2: required string userName, 3: required string description, 4: required i32 limit,
-                        5: required i32 offset)
+  list<workspace_model.Project> searchProjectsByProjectDescWithPagination (1: required security_model.AuthzToken authzToken,
+                        2: required string gatewayId,
+                        3: required string userName,
+                        4: required string description,
+                        5: required i32 limit,
+                        6: required i32 offset)
             throws (1: airavata_errors.InvalidRequestException ire,
                     2: airavata_errors.AiravataClientException ace,
-                    3: airavata_errors.AiravataSystemException ase)
+                    3: airavata_errors.AiravataSystemException ase,
+                    4: airavata_errors.AuthorizationException ae)
 
 
   /**
@@ -339,12 +360,16 @@ service Airavata {
     * @param offset
     *       The starting point of the results to be fetched
     */
-  list<experiment_model.ExperimentSummaryModel> searchExperimentsByNameWithPagination (1: required string gatewayId,
-                          2: required string userName, 3: required string expName, 4: required i32 limit,
-                          5: required i32 offset)
+  list<experiment_model.ExperimentSummaryModel> searchExperimentsByNameWithPagination (1: required security_model.AuthzToken authzToken,
+                          2: required string gatewayId,
+                          3: required string userName,
+                          4: required string expName,
+                          5: required i32 limit,
+                          6: required i32 offset)
             throws (1: airavata_errors.InvalidRequestException ire,
                     2: airavata_errors.AiravataClientException ace,
-                    3: airavata_errors.AiravataSystemException ase)
+                    3: airavata_errors.AiravataSystemException ase,
+                    4: airavata_errors.AuthorizationException ae)
 
   /**
     * Search Experiments by experiment name
@@ -379,12 +404,16 @@ service Airavata {
     * @param offset
     *       The starting point of the results to be fetched
     */
-  list<experiment_model.ExperimentSummaryModel> searchExperimentsByDescWithPagination (1: required string gatewayId,
-                            2: required string userName, 3: required string description, 4: required i32 limit,
-                            5: required i32 offset)
+  list<experiment_model.ExperimentSummaryModel> searchExperimentsByDescWithPagination (1: required security_model.AuthzToken authzToken,
+                            2: required string gatewayId,
+                            3: required string userName,
+                            4: required string description,
+                            5: required i32 limit,
+                            6: required i32 offset)
               throws (1: airavata_errors.InvalidRequestException ire,
                       2: airavata_errors.AiravataClientException ace,
-                      3: airavata_errors.AiravataSystemException ase)
+                      3: airavata_errors.AiravataSystemException ase,
+                      4: airavata_errors.AuthorizationException ae)
 
 
   /**
@@ -419,12 +448,16 @@ service Airavata {
    * @param offset
    *       The starting point of the results to be fetched
    */
-  list<experiment_model.ExperimentSummaryModel> searchExperimentsByApplicationWithPagination (1: required string gatewayId,
-                             2: required string userName, 3: required string applicationId, 4: required i32 limit,
-                             5: required i32 offset)
+  list<experiment_model.ExperimentSummaryModel> searchExperimentsByApplicationWithPagination (1: required security_model.AuthzToken authzToken,
+                             2: required string gatewayId,
+                             3: required string userName,
+                             4: required string applicationId,
+                             5: required i32 limit,
+                             6: required i32 offset)
               throws (1: airavata_errors.InvalidRequestException ire,
                       2: airavata_errors.AiravataClientException ace,
-                      3: airavata_errors.AiravataSystemException ase)
+                      3: airavata_errors.AiravataSystemException ase,
+                      4: airavata_errors.AuthorizationException ae)
    /**
     * Search Experiments by experiment status
     *
@@ -458,12 +491,16 @@ service Airavata {
    * @param offset
    *       The starting point of the results to be fetched
    */
-    list<experiment_model.ExperimentSummaryModel> searchExperimentsByStatusWithPagination (1: required string gatewayId,
-                            2: required string userName, 3: required status_models.ExperimentState experimentState,
-                            4: required i32 limit, 5: required i32 offset)
+    list<experiment_model.ExperimentSummaryModel> searchExperimentsByStatusWithPagination (1: required security_model.AuthzToken authzToken,
+                            2: required string gatewayId,
+                            3: required string userName,
+                            4: required status_models.ExperimentState experimentState,
+                            5: required i32 limit,
+                            6: required i32 offset)
                 throws (1: airavata_errors.InvalidRequestException ire,
                         2: airavata_errors.AiravataClientException ace,
-                        3: airavata_errors.AiravataSystemException ase)
+                        3: airavata_errors.AiravataSystemException ase,
+                        4: airavata_errors.AuthorizationException ae)
 
   /**
    * Search Experiments by experiment creation time
@@ -502,12 +539,17 @@ service Airavata {
    * @param offset
    *       The starting point of the results to be fetched
    */
-    list<experiment_model.ExperimentSummaryModel> searchExperimentsByCreationTimeWithPagination (1: required string gatewayId,
-                            2: required string userName, 3: required i64 fromTime, 4: required i64 toTime,
-                            5: required i32 limit, 6: required i32 offset)
+    list<experiment_model.ExperimentSummaryModel> searchExperimentsByCreationTimeWithPagination (1: required security_model.AuthzToken authzToken,
+                            2: required string gatewayId,
+                            3: required string userName,
+                            4: required i64 fromTime,
+                            5: required i64 toTime,
+                            6: required i32 limit,
+                            7: required i32 offset)
                 throws (1: airavata_errors.InvalidRequestException ire,
                         2: airavata_errors.AiravataClientException ace,
-                        3: airavata_errors.AiravataSystemException ase)
+                        3: airavata_errors.AiravataSystemException ase,
+                        4: airavata_errors.AuthorizationException ae)
 
   /**
    * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
@@ -524,12 +566,16 @@ service Airavata {
    * @param offset
    *       The starting point of the results to be fetched
    */
-    list<experiment_model.ExperimentSummaryModel> searchExperiments(1: required string gatewayId,
-                            2: required string userName, 3: map<experiment_model.ExperimentSearchFields, string> filters,
-                            4: required i32 limit, 5: required i32 offset)
+    list<experiment_model.ExperimentSummaryModel> searchExperiments(1: required security_model.AuthzToken authzToken,
+                            2: required string gatewayId,
+                            3: required string userName,
+                            4: map<experiment_model.ExperimentSearchFields, string> filters,
+                            5: required i32 limit,
+                            6: required i32 offset)
                 throws (1: airavata_errors.InvalidRequestException ire,
                         2: airavata_errors.AiravataClientException ace,
-                        3: airavata_errors.AiravataSystemException ase)
+                        3: airavata_errors.AiravataSystemException ase,
+                        4: airavata_errors.AuthorizationException ae)
 
     /**
      * Get Experiment Statisitics for the given gateway for a specific time period
@@ -540,11 +586,14 @@ service Airavata {
      * @param toTime
      *       Ending data time
      **/
-    experiment_model.ExperimentStatistics getExperimentStatistics(1: required string gatewayId,
-                            2: required i64 fromTime, 3: required i64 toTime)
+    experiment_model.ExperimentStatistics getExperimentStatistics(1: required security_model.AuthzToken authzToken,
+                            2: required string gatewayId,
+                            3: required i64 fromTime,
+                            4: required i64 toTime)
                 throws (1: airavata_errors.InvalidRequestException ire,
                         2: airavata_errors.AiravataClientException ace,
-                        3: airavata_errors.AiravataSystemException ase)
+                        3: airavata_errors.AiravataSystemException ase,
+                        4: airavata_errors.AuthorizationException ae)
 
    /**
     * Get all Experiments within a Project
@@ -571,12 +620,15 @@ service Airavata {
    * @param offset
    *       The starting point of the results to be fetched
    */
-  list<experiment_model.ExperimentModel> getAllExperimentsInProjectWithPagination(1: required string projectId,
-                  2: required i32 limit, 3: required i32 offset)
+  list<experiment_model.ExperimentModel> getAllExperimentsInProjectWithPagination(1: required security_model.AuthzToken authzToken,
+                  2: required string projectId,
+                  3: required i32 limit,
+                  4: required i32 offset)
           throws (1: airavata_errors.InvalidRequestException ire,
                   2: airavata_errors.AiravataClientException ace,
                   3: airavata_errors.AiravataSystemException ase,
-                  4: airavata_errors.ProjectNotFoundException pnfe)
+                  4: airavata_errors.ProjectNotFoundException pnfe,
+                  5: airavata_errors.AuthorizationException ae)
 
 
   /**
@@ -608,11 +660,15 @@ service Airavata {
    * @param offset
    *       The starting point of the results to be fetched
    */
-  list<experiment_model.ExperimentModel> getAllUserExperimentsWithPagination(1: required string gatewayId,
-                        2: required string userName, 3: required i32 limit, 4: required i32 offset)
+  list<experiment_model.ExperimentModel> getAllUserExperimentsWithPagination(1: required security_model.AuthzToken authzToken,
+                        2: required string gatewayId,
+                        3: required string userName,
+                        4: required i32 limit,
+                        5: required i32 offset)
             throws (1: airavata_errors.InvalidRequestException ire,
                     2: airavata_errors.AiravataClientException ace,
-                    3: airavata_errors.AiravataSystemException ase)
+                    3: airavata_errors.AiravataSystemException ase,
+                    4: airavata_errors.AuthorizationException ae)
 
   /**
      * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
@@ -650,11 +706,13 @@ service Airavata {
      *
     */
 
-  string createExperiment(1: required string gatewayId,
-                          2: required experiment_model.ExperimentModel experiment)
+  string createExperiment(1: required security_model.AuthzToken authzToken,
+                          2: required string gatewayId,
+                          3: required experiment_model.ExperimentModel experiment)
     throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch previously created experiment metadata.
@@ -689,11 +747,13 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take corrective action.
    *
   */
-  experiment_model.ExperimentModel getExperiment(1: required string airavataExperimentId)
+  experiment_model.ExperimentModel getExperiment(1: required security_model.AuthzToken authzToken,
+                                                 2: required string airavataExperimentId)
     throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.ExperimentNotFoundException enf,
             3: airavata_errors.AiravataClientException ace,
-            4: airavata_errors.AiravataSystemException ase)
+            4: airavata_errors.AiravataSystemException ase,
+            5: airavata_errors.AuthorizationException ae)
 
   /**
    * Configure a previously created experiment with required inputs, scheduling and other quality of service
@@ -734,18 +794,24 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take corrective action.
    *
   */
-  void updateExperiment(1: required string airavataExperimentId,
-                        2: required experiment_model.ExperimentModel experiment)
+  void updateExperiment(1: required security_model.AuthzToken authzToken,
+                        2: required string airavataExperimentId,
+                        3: required experiment_model.ExperimentModel experiment)
     throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.ExperimentNotFoundException enf,
             3: airavata_errors.AiravataClientException ace,
-            4: airavata_errors.AiravataSystemException ase)
+            4: airavata_errors.AiravataSystemException ase,
+            5: airavata_errors.AuthorizationException ae)
 
-  void updateExperimentConfiguration(1: required string airavataExperimentId,
-                                     2: required experiment_model.UserConfigurationDataModel userConfiguration)
+  void updateExperimentConfiguration(1: required security_model.AuthzToken authzToken,
+                                     2: required string airavataExperimentId,
+                                     3: required experiment_model.UserConfigurationDataModel userConfiguration)
+    throws (1: airavata_errors.AuthorizationException ae)
 
-  void updateResourceScheduleing(1: required string airavataExperimentId,
-                                 2: required scheduling_model.ComputationalResourceSchedulingModel resourceScheduling)
+  void updateResourceScheduleing(1: required security_model.AuthzToken authzToken,
+                                 2: required string airavataExperimentId,
+                                 3: required scheduling_model.ComputationalResourceSchedulingModel resourceScheduling)
+    throws (1: airavata_errors.AuthorizationException ae)
 
     /**
      *
@@ -755,11 +821,13 @@ service Airavata {
      * @return sucess/failure
      *
     **/
-  bool validateExperiment(1: required string airavataExperimentId)
+  bool validateExperiment(1: required security_model.AuthzToken authzToken,
+                          2: required string airavataExperimentId)
       throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.ExperimentNotFoundException enf,
               3: airavata_errors.AiravataClientException ace,
-              4: airavata_errors.AiravataSystemException ase)
+              4: airavata_errors.AiravataSystemException ase,
+              5: airavata_errors.AuthorizationException ae)
 
   /**
    * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
@@ -804,44 +872,56 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take corrective action.
    *
   */
-  void launchExperiment(1: required string airavataExperimentId
-                        2: required string airavataCredStoreToken)
+  void launchExperiment(1: required security_model.AuthzToken authzToken,
+                        2: required string airavataExperimentId
+                        3: required string airavataCredStoreToken)
     throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.ExperimentNotFoundException enf,
             3: airavata_errors.AiravataClientException ace,
-            4: airavata_errors.AiravataSystemException ase)
+            4: airavata_errors.AiravataSystemException ase,
+            5: airavata_errors.AuthorizationException ae)
 
 
-   status_models.ExperimentStatus getExperimentStatus(1: required string airavataExperimentId)
+   status_models.ExperimentStatus getExperimentStatus(1: required security_model.AuthzToken authzToken,
+                                                      2: required string airavataExperimentId)
       throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.ExperimentNotFoundException enf,
               3: airavata_errors.AiravataClientException ace,
-              4: airavata_errors.AiravataSystemException ase)
+              4: airavata_errors.AiravataSystemException ase,
+              5: airavata_errors.AuthorizationException ae)
 
-  list<application_io_models.OutputDataObjectType> getExperimentOutputs (1: required string airavataExperimentId)
+  list<application_io_models.OutputDataObjectType> getExperimentOutputs (1: required security_model.AuthzToken authzToken,
+                2: required string airavataExperimentId)
       throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.ExperimentNotFoundException enf,
               3: airavata_errors.AiravataClientException ace,
-              4: airavata_errors.AiravataSystemException ase)
+              4: airavata_errors.AiravataSystemException ase,
+              5: airavata_errors.AuthorizationException ae)
 
-   list<application_io_models.OutputDataObjectType> getIntermediateOutputs (1: required string airavataExperimentId)
+   list<application_io_models.OutputDataObjectType> getIntermediateOutputs (1: required security_model.AuthzToken authzToken,
+                2: required string airavataExperimentId)
         throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.ExperimentNotFoundException enf,
                 3: airavata_errors.AiravataClientException ace,
-                4: airavata_errors.AiravataSystemException ase)
+                4: airavata_errors.AiravataSystemException ase,
+                5: airavata_errors.AuthorizationException ae)
 
 
-  map<string, status_models.JobStatus> getJobStatuses(1: required string airavataExperimentId)
+  map<string, status_models.JobStatus> getJobStatuses(1: required security_model.AuthzToken authzToken,
+                      2: required string airavataExperimentId)
               throws (1: airavata_errors.InvalidRequestException ire,
                       2: airavata_errors.ExperimentNotFoundException enf,
                       3: airavata_errors.AiravataClientException ace,
-                      4: airavata_errors.AiravataSystemException ase)
+                      4: airavata_errors.AiravataSystemException ase,
+                      5: airavata_errors.AuthorizationException ae)
 
-  list<job_model.JobModel> getJobDetails(1: required string airavataExperimentId)
+  list<job_model.JobModel> getJobDetails(1: required security_model.AuthzToken authzToken,
+                                         2: required string airavataExperimentId)
                 throws (1: airavata_errors.InvalidRequestException ire,
                         2: airavata_errors.ExperimentNotFoundException enf,
                         3: airavata_errors.AiravataClientException ace,
-                        4: airavata_errors.AiravataSystemException ase)
+                        4: airavata_errors.AiravataSystemException ase,
+                        5: airavata_errors.AuthorizationException ae)
 
 
   /**
@@ -883,12 +963,14 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take corrective action.
    *
   */
-  string cloneExperiment(1: string existingExperimentID,
-                         2: string newExperimentName)
+  string cloneExperiment(1: required security_model.AuthzToken authzToken,
+                         2: string existingExperimentID,
+                         3: string newExperimentName)
     throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.ExperimentNotFoundException enf,
             3: airavata_errors.AiravataClientException ace,
-            4: airavata_errors.AiravataSystemException ase)
+            4: airavata_errors.AiravataSystemException ase,
+            5: airavata_errors.AuthorizationException ae)
 
   /**
    * Terminate a running experiment.
@@ -923,11 +1005,14 @@ service Airavata {
    *       rather an Airavata Administrator will be notified to take corrective action.
    *
   */
-  void terminateExperiment(1: string airavataExperimentId, 2: string tokenId)
+  void terminateExperiment(1: required security_model.AuthzToken authzToken,
+                           2: string airavataExperimentId,
+                           3: string tokenId)
     throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.ExperimentNotFoundException enf,
             3: airavata_errors.AiravataClientException ace,
-            4: airavata_errors.AiravataSystemException ase)
+            4: airavata_errors.AiravataSystemException ase,
+            5: airavata_errors.AuthorizationException ae)
 
 /*
  * API definitions for App Catalog related operations
@@ -953,11 +1038,13 @@ service Airavata {
    *   Returns a server-side generated airavata appModule globally unique identifier.
    *
   */
-  string registerApplicationModule(1: required string gatewayId,
-                        2: required application_deployment_model.ApplicationModule applicationModule)
+  string registerApplicationModule(1: required security_model.AuthzToken authzToken,
+                        2: required string gatewayId,
+                        3: required application_deployment_model.ApplicationModule applicationModule)
     	throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
-              3: airavata_errors.AiravataSystemException ase)
+              3: airavata_errors.AiravataSystemException ase,
+              4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch a Application Module.
@@ -969,10 +1056,12 @@ service Airavata {
    *   Returns a application Module Object.
    *
   */
-  application_deployment_model.ApplicationModule getApplicationModule(1: required string appModuleId)
+  application_deployment_model.ApplicationModule getApplicationModule(1: required security_model.AuthzToken authzToken,
+                2: required string appModuleId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update a Application Module.
@@ -987,17 +1076,21 @@ service Airavata {
    *   Returns a success/failure of the update.
    *
   */
-  bool updateApplicationModule(1: required string appModuleId,
-            2: required application_deployment_model.ApplicationModule applicationModule)
+  bool updateApplicationModule(1: required security_model.AuthzToken authzToken,
+            2: required string appModuleId,
+            3: required application_deployment_model.ApplicationModule applicationModule)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
 
-  list<application_deployment_model.ApplicationModule> getAllAppModules (1: required string gatewayId)
+  list<application_deployment_model.ApplicationModule> getAllAppModules (1: required security_model.AuthzToken authzToken,
+                2: required string gatewayId)
         throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Delete a Application Module.
@@ -1009,10 +1102,12 @@ service Airavata {
    *   Returns a success/failure of the deletion.
    *
   */
-  bool deleteApplicationModule(1: required string appModuleId)
+  bool deleteApplicationModule(1: required security_model.AuthzToken authzToken,
+                               2: required string appModuleId)
          	throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase)
+                   3: airavata_errors.AiravataSystemException ase,
+                   4: airavata_errors.AuthorizationException ae)
 
 /*
  * Application Deployment registers a deployment of a application module on a compute resource
@@ -1029,11 +1124,13 @@ service Airavata {
    *   Returns a server-side generated airavata appDeployment globally unique identifier.
    *
   */
-  string registerApplicationDeployment(1: required string gatewayId,
-                2: required application_deployment_model.ApplicationDeploymentDescription applicationDeployment)
+  string registerApplicationDeployment(1: required security_model.AuthzToken authzToken,
+                2: required string gatewayId,
+                3: required application_deployment_model.ApplicationDeploymentDescription applicationDeployment)
     	throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
-              3: airavata_errors.AiravataSystemException ase)
+              3: airavata_errors.AiravataSystemException ase,
+              4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch a Application Deployment.
@@ -1045,10 +1142,12 @@ service Airavata {
    *   Returns a application Deployment Object.
    *
   */
-  application_deployment_model.ApplicationDeploymentDescription getApplicationDeployment(1: required string appDeploymentId)
+  application_deployment_model.ApplicationDeploymentDescription getApplicationDeployment(1: required security_model.AuthzToken authzToken,
+                2: required string appDeploymentId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update a Application Deployment.
@@ -1063,11 +1162,13 @@ service Airavata {
    *   Returns a success/failure of the update.
    *
   */
-  bool updateApplicationDeployment(1: required string appDeploymentId,
-            2: required application_deployment_model.ApplicationDeploymentDescription applicationDeployment)
+  bool updateApplicationDeployment(1: required security_model.AuthzToken authzToken,
+            2: required string appDeploymentId,
+            3: required application_deployment_model.ApplicationDeploymentDescription applicationDeployment)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Delete a Application deployment.
@@ -1079,10 +1180,12 @@ service Airavata {
    *   Returns a success/failure of the deletion.
    *
   */
-  bool deleteApplicationDeployment(1: required string appDeploymentId)
+  bool deleteApplicationDeployment(1: required security_model.AuthzToken authzToken,
+                    2: required string appDeploymentId)
          	throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase)
+                   3: airavata_errors.AiravataSystemException ase,
+                   4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch all Application Deployment Descriptions.
@@ -1091,10 +1194,12 @@ service Airavata {
    *   Returns the list of all application Deployment Objects.
    *
   */
-  list<application_deployment_model.ApplicationDeploymentDescription> getAllApplicationDeployments(1: required string gatewayId)
+  list<application_deployment_model.ApplicationDeploymentDescription> getAllApplicationDeployments(1: required security_model.AuthzToken authzToken,
+                2: required string gatewayId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch a list of Deployed Compute Hosts.
@@ -1106,10 +1211,11 @@ service Airavata {
    *   Returns a list of Deployed Resources.
    *
   */
-  list<string> getAppModuleDeployedResources(1: required string appModuleId)
+  list<string> getAppModuleDeployedResources(1: required security_model.AuthzToken authzToken, 2: required string appModuleId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
 /*
  * Application Interface
@@ -1126,11 +1232,12 @@ service Airavata {
    *   Returns a server-side generated airavata application interface globally unique identifier.
    *
   */
-  string registerApplicationInterface(1: required string gatewayId,
-                2: required application_interface_model.ApplicationInterfaceDescription applicationInterface)
+  string registerApplicationInterface(1: required security_model.AuthzToken authzToken, 2: required string gatewayId,
+                3: required application_interface_model.ApplicationInterfaceDescription applicationInterface)
     	throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
-              3: airavata_errors.AiravataSystemException ase)
+              3: airavata_errors.AiravataSystemException ase,
+              4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch a Application Interface.
@@ -1143,10 +1250,12 @@ service Airavata {
    *
    *
   */
-  application_interface_model.ApplicationInterfaceDescription getApplicationInterface(1: required string appInterfaceId)
+  application_interface_model.ApplicationInterfaceDescription getApplicationInterface(1: required security_model.AuthzToken authzToken,
+                2: required string appInterfaceId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update a Application Interface.
@@ -1162,11 +1271,13 @@ service Airavata {
    *
    *
   */
-  bool updateApplicationInterface(1: required string appInterfaceId,
-            2: required application_interface_model.ApplicationInterfaceDescription applicationInterface)
+  bool updateApplicationInterface(1: required security_model.AuthzToken authzToken,
+            2: required string appInterfaceId,
+            3: required application_interface_model.ApplicationInterfaceDescription applicationInterface)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Delete a Application Interface.
@@ -1179,10 +1290,11 @@ service Airavata {
    *
    *
   */
-  bool deleteApplicationInterface(1: required string appInterfaceId)
+  bool deleteApplicationInterface(1: required security_model.AuthzToken authzToken, 2: required string appInterfaceId)
          	throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase)
+                   3: airavata_errors.AiravataSystemException ase,
+                   4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch name and id of  Application Interface documents.
@@ -1192,10 +1304,11 @@ service Airavata {
    *   Returns a list of application interfaces with corresponsing id's
    *
   */
-  map<string, string> getAllApplicationInterfaceNames (1: required string gatewayId)
+  map<string, string> getAllApplicationInterfaceNames (1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch all Application Interface documents.
@@ -1205,10 +1318,12 @@ service Airavata {
    *   Returns a list of application interfaces documents
    *
   */
-  list<application_interface_model.ApplicationInterfaceDescription> getAllApplicationInterfaces (1: required string gatewayId)
+  list<application_interface_model.ApplicationInterfaceDescription> getAllApplicationInterfaces (1: required security_model.AuthzToken authzToken,
+                2: required string gatewayId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch the list of Application Inputs.
@@ -1220,10 +1335,12 @@ service Airavata {
    *   Returns a list of application inputs.
    *
   */
-  list<application_io_models.InputDataObjectType> getApplicationInputs(1: required string appInterfaceId)
+  list<application_io_models.InputDataObjectType> getApplicationInputs(1: required security_model.AuthzToken authzToken,
+                2: required string appInterfaceId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch the list of Application Outputs.
@@ -1235,10 +1352,12 @@ service Airavata {
    *   Returns a list of application outputs.
    *
   */
-  list<application_io_models.OutputDataObjectType> getApplicationOutputs(1: required string appInterfaceId)
+  list<application_io_models.OutputDataObjectType> getApplicationOutputs(1: required security_model.AuthzToken authzToken,
+                2: required string appInterfaceId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch a list of all deployed Compute Hosts for a given application interfaces.
@@ -1251,10 +1370,11 @@ service Airavata {
    *    Deployments of each modules listed within the interfaces will be listed.
    *
   */
-  map<string, string> getAvailableAppInterfaceComputeResources(1: required string appInterfaceId)
+  map<string, string> getAvailableAppInterfaceComputeResources(1: required security_model.AuthzToken authzToken, 2: required string appInterfaceId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
 /*
  * Compute Resource
@@ -1271,11 +1391,12 @@ service Airavata {
    *   Returns a server-side generated airavata compute resource globally unique identifier.
    *
   */
-  string registerComputeResource(1: required compute_resource_model.ComputeResourceDescription
-                                            computeResourceDescription)
+  string registerComputeResource(1: required security_model.AuthzToken authzToken,
+                                 2: required compute_resource_model.ComputeResourceDescription computeResourceDescription)
     	throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
-              3: airavata_errors.AiravataSystemException ase)
+              3: airavata_errors.AiravataSystemException ase,
+              4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch the given Compute Resource.
@@ -1287,10 +1408,12 @@ service Airavata {
    *    Compute Resource Object created from the datamodel..
    *
   */
-  compute_resource_model.ComputeResourceDescription getComputeResource(1: required string computeResourceId)
+  compute_resource_model.ComputeResourceDescription getComputeResource(1: required security_model.AuthzToken authzToken,
+                2: required string computeResourceId)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch all registered Compute Resources.
@@ -1299,10 +1422,11 @@ service Airavata {
    *    Compute Resource Object created from the datamodel..
    *
   */
-  map<string, string> getAllComputeResourceNames()
+  map<string, string> getAllComputeResourceNames(1: required security_model.AuthzToken authzToken)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update a Compute Resource.
@@ -1317,11 +1441,13 @@ service Airavata {
    *   Returns a success/failure of the update.
    *
   */
-  bool updateComputeResource(1: required string computeResourceId,
-            2: required compute_resource_model.ComputeResourceDescription computeResourceDescription)
+  bool updateComputeResource(1: required security_model.AuthzToken authzToken,
+            2: required string computeResourceId,
+            3: required compute_resource_model.ComputeResourceDescription computeResourceDescription)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Delete a Compute Resource.
@@ -1333,10 +1459,11 @@ service Airavata {
    *   Returns a success/failure of the deletion.
    *
   */
-  bool deleteComputeResource(1: required string computeResourceId)
+  bool deleteComputeResource(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId)
          	throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase)
+                   3: airavata_errors.AiravataSystemException ase,
+                   4: airavata_errors.AuthorizationException ae)
 
   /**
    * Add a Local Job Submission details to a compute resource
@@ -1355,13 +1482,14 @@ service Airavata {
    *   Returns the unique job submission id.
    *
   */
-  string addLocalSubmissionDetails(1: required string computeResourceId,
-            2: required i32 priorityOrder,
-            3: required compute_resource_model.LOCALSubmission localSubmission)
+  string addLocalSubmissionDetails(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId,
+            3: required i32 priorityOrder,
+            4: required compute_resource_model.LOCALSubmission localSubmission)
 
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update the given Local Job Submission details
@@ -1376,11 +1504,13 @@ service Airavata {
    *   Returns a success/failure of the deletion.
    *
   */
-  bool updateLocalSubmissionDetails(1: required string jobSubmissionInterfaceId,
-            2: required compute_resource_model.LOCALSubmission localSubmission)
+  bool updateLocalSubmissionDetails(1: required security_model.AuthzToken authzToken,
+            2: required string jobSubmissionInterfaceId,
+            3: required compute_resource_model.LOCALSubmission localSubmission)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
   * This method returns localJobSubmission object
@@ -1388,10 +1518,12 @@ service Airavata {
   *   The identifier of the JobSubmission Interface to be retrieved.
   *  @return LOCALSubmission instance
   **/
-  compute_resource_model.LOCALSubmission getLocalJobSubmission(1: required string jobSubmissionId)
+  compute_resource_model.LOCALSubmission getLocalJobSubmission(1: required security_model.AuthzToken authzToken,
+                    2: required string jobSubmissionId)
             throws (1: airavata_errors.InvalidRequestException ire,
                     2: airavata_errors.AiravataClientException ace,
-                    3: airavata_errors.AiravataSystemException ase)
+                    3: airavata_errors.AiravataSystemException ase,
+                    4: airavata_errors.AuthorizationException ae)
 
 
 
@@ -1414,12 +1546,14 @@ service Airavata {
   */
 
 
-  string addSSHJobSubmissionDetails(1: required string computeResourceId,
-            2: required i32 priorityOrder,
-            3: required compute_resource_model.SSHJobSubmission sshJobSubmission)
+  string addSSHJobSubmissionDetails(1: required security_model.AuthzToken authzToken,
+            2: required string computeResourceId,
+            3: required i32 priorityOrder,
+            4: required compute_resource_model.SSHJobSubmission sshJobSubmission)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
     /**
     * This method returns SSHJobSubmission object
@@ -1427,10 +1561,12 @@ service Airavata {
     *   The identifier of the JobSubmission Interface to be retrieved.
     *  @return SSHJobSubmission instance
     **/
-    compute_resource_model.SSHJobSubmission getSSHJobSubmission(1: required string jobSubmissionId)
+    compute_resource_model.SSHJobSubmission getSSHJobSubmission(1: required security_model.AuthzToken authzToken,
+                      2: required string jobSubmissionId)
               throws (1: airavata_errors.InvalidRequestException ire,
                       2: airavata_errors.AiravataClientException ace,
-                      3: airavata_errors.AiravataSystemException ase)
+                      3: airavata_errors.AiravataSystemException ase,
+                      4: airavata_errors.AuthorizationException ae)
 
 
 
@@ -1451,12 +1587,14 @@ service Airavata {
    *  Returns the unique job submission id.
    *
   */
-  string addUNICOREJobSubmissionDetails(1: required string computeResourceId,
-            2: required i32 priorityOrder,
-            3: required compute_resource_model.UnicoreJobSubmission unicoreJobSubmission)
+  string addUNICOREJobSubmissionDetails(1: required security_model.AuthzToken authzToken,
+            2: required string computeResourceId,
+            3: required i32 priorityOrder,
+            4: required compute_resource_model.UnicoreJobSubmission unicoreJobSubmission)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
 
   /**
@@ -1465,10 +1603,12 @@ service Airavata {
     *   The identifier of the JobSubmission Interface to be retrieved.
     *  @return UnicoreJobSubmission instance
   **/
-  compute_resource_model.UnicoreJobSubmission getUnicoreJobSubmission(1: required string jobSubmissionId)
+  compute_resource_model.UnicoreJobSubmission getUnicoreJobSubmission(1: required security_model.AuthzToken authzToken,
+                        2: required string jobSubmissionId)
                 throws (1: airavata_errors.InvalidRequestException ire,
                         2: airavata_errors.AiravataClientException ace,
-                        3: airavata_errors.AiravataSystemException ase)
+                        3: airavata_errors.AiravataSystemException ase,
+                        4: airavata_errors.AuthorizationException ae)
 
 
  /**
@@ -1487,12 +1627,13 @@ service Airavata {
    * @return status
    *   Returns the unique job submission id.
 **/
- string addCloudJobSubmissionDetails(1: required string computeResourceId,
-            2: required i32 priorityOrder,
-            3: required compute_resource_model.CloudJobSubmission cloudSubmission)
+ string addCloudJobSubmissionDetails(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId,
+            3: required i32 priorityOrder,
+            4: required compute_resource_model.CloudJobSubmission cloudSubmission)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
  /**
     * This method returns cloudJobSubmission object
@@ -1500,10 +1641,11 @@ service Airavata {
         *   The identifier of the JobSubmission Interface to be retrieved.
     *  @return CloudJobSubmission instance
  **/
- compute_resource_model.CloudJobSubmission getCloudJobSubmission(1: required string jobSubmissionId)
+ compute_resource_model.CloudJobSubmission getCloudJobSubmission(1: required security_model.AuthzToken authzToken, 2: required string jobSubmissionId)
                   throws (1: airavata_errors.InvalidRequestException ire,
                           2: airavata_errors.AiravataClientException ace,
-                          3: airavata_errors.AiravataSystemException ase)
+                          3: airavata_errors.AiravataSystemException ase,
+                          4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update the given SSH Job Submission details
@@ -1518,14 +1660,16 @@ service Airavata {
    *   Returns a success/failure of the deletion.
    *
   */
-  bool updateSSHJobSubmissionDetails(1: required string jobSubmissionInterfaceId,
-            2: required compute_resource_model.SSHJobSubmission sshJobSubmission)
+  bool updateSSHJobSubmissionDetails(1: required security_model.AuthzToken authzToken,
+            2: required string jobSubmissionInterfaceId,
+            3: required compute_resource_model.SSHJobSubmission sshJobSubmission)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
 /**
-   * Update the given SSH Job Submission details
+   * Update the cloud Job Submission details
    *
    * @param jobSubmissionInterfaceId
    *   The identifier of the JobSubmission Interface to be updated.
@@ -1537,17 +1681,21 @@ service Airavata {
    *   Returns a success/failure of the deletion.
    *
   */
-  bool updateCloudJobSubmissionDetails(1: required string jobSubmissionInterfaceId,
-            2: required compute_resource_model.CloudJobSubmission sshJobSubmission)
+  bool updateCloudJobSubmissionDetails(1: required security_model.AuthzToken authzToken,
+            2: required string jobSubmissionInterfaceId,
+            3: required compute_resource_model.CloudJobSubmission sshJobSubmission)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
-  bool updateUnicoreJobSubmissionDetails(1: required string jobSubmissionInterfaceId,
-              2: required compute_resource_model.UnicoreJobSubmission unicoreJobSubmission)
+  bool updateUnicoreJobSubmissionDetails(1: required security_model.AuthzToken authzToken,
+              2: required string jobSubmissionInterfaceId,
+              3: required compute_resource_model.UnicoreJobSubmission unicoreJobSubmission)
     	throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
-              3: airavata_errors.AiravataSystemException ase)
+              3: airavata_errors.AiravataSystemException ase,
+              4: airavata_errors.AuthorizationException ae)
   /**
    * Add a Local data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1565,12 +1713,14 @@ service Airavata {
    *   Returns the unique job submission id.
    *
   */
-  string addLocalDataMovementDetails(1: required string computeResourceId,
-            2: required i32 priorityOrder,
-            3: required compute_resource_model.LOCALDataMovement localDataMovement)
+  string addLocalDataMovementDetails(1: required security_model.AuthzToken authzToken,
+            2: required string computeResourceId,
+            3: required i32 priorityOrder,
+            4: required compute_resource_model.LOCALDataMovement localDataMovement)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update the given Local data movement details
@@ -1585,11 +1735,13 @@ service Airavata {
    *   Returns a success/failure of the update.
    *
   */
-  bool updateLocalDataMovementDetails(1: required string dataMovementInterfaceId,
-            2: required compute_resource_model.LOCALDataMovement localDataMovement)
+  bool updateLocalDataMovementDetails(1: required security_model.AuthzToken authzToken,
+            2: required string dataMovementInterfaceId,
+            3: required compute_resource_model.LOCALDataMovement localDataMovement)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
           * This method returns local datamovement object
@@ -1597,10 +1749,12 @@ service Airavata {
           *   The identifier of the datamovement Interface to be retrieved.
           *  @return LOCALDataMovement instance
   **/
-  compute_resource_model.LOCALDataMovement getLocalDataMovement(1: required string dataMovementId)
+  compute_resource_model.LOCALDataMovement getLocalDataMovement(1: required security_model.AuthzToken authzToken,
+                    2: required string dataMovementId)
                     throws (1: airavata_errors.InvalidRequestException ire,
                             2: airavata_errors.AiravataClientException ace,
-                            3: airavata_errors.AiravataSystemException ase)
+                            3: airavata_errors.AiravataSystemException ase,
+                            4: airavata_errors.AuthorizationException ae)
 
 
   /**
@@ -1620,12 +1774,13 @@ service Airavata {
    *   Returns the unique job submission id.
    *
   */
-  string addSCPDataMovementDetails(1: required string computeResourceId,
-            2: required i32 priorityOrder,
-            3: required compute_resource_model.SCPDataMovement scpDataMovement)
+  string addSCPDataMovementDetails(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId,
+            3: required i32 priorityOrder,
+            4: required compute_resource_model.SCPDataMovement scpDataMovement)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update the given scp data movement details
@@ -1641,11 +1796,12 @@ service Airavata {
    *   Returns a success/failure of the update.
    *
   */
-  bool updateSCPDataMovementDetails(1: required string dataMovementInterfaceId,
-            2: required compute_resource_model.SCPDataMovement scpDataMovement)
+  bool updateSCPDataMovementDetails(1: required security_model.AuthzToken authzToken, 2: required string dataMovementInterfaceId,
+            3: required compute_resource_model.SCPDataMovement scpDataMovement)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
  /**
     * This method returns SCP datamovement object
@@ -1653,29 +1809,34 @@ service Airavata {
        *   The identifier of the datamovement Interface to be retrieved.
        *  @return SCPDataMovement instance
   **/
-  compute_resource_model.SCPDataMovement getSCPDataMovement(1: required string dataMovementId)
+  compute_resource_model.SCPDataMovement getSCPDataMovement(1: required security_model.AuthzToken authzToken, 2: required string dataMovementId)
                     throws (1: airavata_errors.InvalidRequestException ire,
                             2: airavata_errors.AiravataClientException ace,
-                            3: airavata_errors.AiravataSystemException ase)
+                            3: airavata_errors.AiravataSystemException ase,
+                            4: airavata_errors.AuthorizationException ae)
 
 
- string addUnicoreDataMovementDetails(1: required string computeResourceId,
-              2: required i32 priorityOrder,
-              3: required compute_resource_model.UnicoreDataMovement unicoreDataMovement)
+ string addUnicoreDataMovementDetails(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId,
+              3: required i32 priorityOrder,
+              4: required compute_resource_model.UnicoreDataMovement unicoreDataMovement)
     	throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
-              3: airavata_errors.AiravataSystemException ase)
+              3: airavata_errors.AiravataSystemException ase,
+              4: airavata_errors.AuthorizationException ae)
 
- bool updateUnicoreDataMovementDetails(1: required string dataMovementInterfaceId,
-             2: required compute_resource_model.UnicoreDataMovement unicoreDataMovement)
+ bool updateUnicoreDataMovementDetails(1: required security_model.AuthzToken authzToken, 2: required string dataMovementInterfaceId,
+             3: required compute_resource_model.UnicoreDataMovement unicoreDataMovement)
    	throws (1: airavata_errors.InvalidRequestException ire,
              2: airavata_errors.AiravataClientException ace,
-             3: airavata_errors.AiravataSystemException ase)
+             3: airavata_errors.AiravataSystemException ase,
+             4: airavata_errors.AuthorizationException ae)
 
- compute_resource_model.UnicoreDataMovement getUnicoreDataMovement(1: required string dataMovementId)
+ compute_resource_model.UnicoreDataMovement getUnicoreDataMovement(1: required security_model.AuthzToken authzToken,
+                     2: required string dataMovementId)
                      throws (1: airavata_errors.InvalidRequestException ire,
                              2: airavata_errors.AiravataClientException ace,
-                             3: airavata_errors.AiravataSystemException ase)
+                             3: airavata_errors.AiravataSystemException ase,
+                             4: airavata_errors.AuthorizationException ae)
 
   /**
    * Add a GridFTP data movement details to a compute resource
@@ -1694,12 +1855,13 @@ service Airavata {
    *   Returns the unique job submission id.
    *
   */
-  string addGridFTPDataMovementDetails(1: required string computeResourceId,
-            2: required i32 priorityOrder,
-            3: required compute_resource_model.GridFTPDataMovement gridFTPDataMovement)
+  string addGridFTPDataMovementDetails(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId,
+            3: required i32 priorityOrder,
+            4: required compute_resource_model.GridFTPDataMovement gridFTPDataMovement)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update the given GridFTP data movement details to a compute resource
@@ -1715,11 +1877,12 @@ service Airavata {
    *   Returns a success/failure of the updation.
    *
   */
-  bool updateGridFTPDataMovementDetails(1: required string dataMovementInterfaceId,
-            2: required compute_resource_model.GridFTPDataMovement gridFTPDataMovement)
+  bool updateGridFTPDataMovementDetails(1: required security_model.AuthzToken authzToken, 2: required string dataMovementInterfaceId,
+            3: required compute_resource_model.GridFTPDataMovement gridFTPDataMovement)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
  /**
     * This method returns GridFTP datamovement object
@@ -1727,10 +1890,11 @@ service Airavata {
        *   The identifier of the datamovement Interface to be retrieved.
     *  @return GridFTPDataMovement instance
   **/
-  compute_resource_model.GridFTPDataMovement getGridFTPDataMovement(1: required string dataMovementId)
+  compute_resource_model.GridFTPDataMovement getGridFTPDataMovement(1: required security_model.AuthzToken authzToken, 2: required string dataMovementId)
                     throws (1: airavata_errors.InvalidRequestException ire,
                             2: airavata_errors.AiravataClientException ace,
-                            3: airavata_errors.AiravataSystemException ase)
+                            3: airavata_errors.AiravataSystemException ase,
+                            4: airavata_errors.AuthorizationException ae)
 
 
   /**
@@ -1746,11 +1910,12 @@ service Airavata {
    *   Returns a success/failure of the change.
    *
   */
-  bool changeJobSubmissionPriority(1: required string jobSubmissionInterfaceId,
-            2: required i32 newPriorityOrder)
+  bool changeJobSubmissionPriority(1: required security_model.AuthzToken authzToken, 2: required string jobSubmissionInterfaceId,
+            3: required i32 newPriorityOrder)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Change the priority of a given data movement interface
@@ -1765,11 +1930,12 @@ service Airavata {
    *   Returns a success/failure of the change.
    *
   */
-  bool changeDataMovementPriority(1: required string dataMovementInterfaceId,
-            2: required i32 newPriorityOrder)
+  bool changeDataMovementPriority(1: required security_model.AuthzToken authzToken, 2: required string dataMovementInterfaceId,
+            3: required i32 newPriorityOrder)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Change the priorities of a given set of job submission interfaces
@@ -1781,10 +1947,11 @@ service Airavata {
    *   Returns a success/failure of the changes.
    *
   */
-  bool changeJobSubmissionPriorities(1: required map<string, i32> jobSubmissionPriorityMap)
+  bool changeJobSubmissionPriorities(1: required security_model.AuthzToken authzToken, 2: required map<string, i32> jobSubmissionPriorityMap)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Change the priorities of a given set of data movement interfaces
@@ -1796,10 +1963,11 @@ service Airavata {
    *   Returns a success/failure of the changes.
    *
   */
-  bool changeDataMovementPriorities(1: required map<string, i32> dataMovementPriorityMap)
+  bool changeDataMovementPriorities(1: required security_model.AuthzToken authzToken, 2: required map<string, i32> dataMovementPriorityMap)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Delete a given job submisison interface
@@ -1811,10 +1979,12 @@ service Airavata {
    *   Returns a success/failure of the deletion.
    *
   */
-  bool deleteJobSubmissionInterface(1: required string computeResourceId, 2: required string jobSubmissionInterfaceId)
+  bool deleteJobSubmissionInterface(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId,
+            3: required string jobSubmissionInterfaceId)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Delete a given data movement interface
@@ -1826,35 +1996,43 @@ service Airavata {
    *   Returns a success/failure of the deletion.
    *
   */
-  bool deleteDataMovementInterface(1: required string computeResourceId, 2: required string dataMovementInterfaceId)
+  bool deleteDataMovementInterface(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId,
+            3: required string dataMovementInterfaceId)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
- string registerResourceJobManager(1: required compute_resource_model.ResourceJobManager resourceJobManager)
+ string registerResourceJobManager(1: required security_model.AuthzToken authzToken, 2: required compute_resource_model.ResourceJobManager resourceJobManager)
     throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
- bool updateResourceJobManager(1: required string resourceJobManagerId, 2: required compute_resource_model.ResourceJobManager updatedResourceJobManager)
+ bool updateResourceJobManager(1: required security_model.AuthzToken authzToken, 2: required string resourceJobManagerId,
+            3: required compute_resource_model.ResourceJobManager updatedResourceJobManager)
      throws (1: airavata_errors.InvalidRequestException ire,
              2: airavata_errors.AiravataClientException ace,
-             3: airavata_errors.AiravataSystemException ase)
+             3: airavata_errors.AiravataSystemException ase,
+             4: airavata_errors.AuthorizationException ae)
 
- compute_resource_model.ResourceJobManager getResourceJobManager(1: required string resourceJobManagerId)
+ compute_resource_model.ResourceJobManager getResourceJobManager(1: required security_model.AuthzToken authzToken, 2: required string resourceJobManagerId)
       throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
-              3: airavata_errors.AiravataSystemException ase)
+              3: airavata_errors.AiravataSystemException ase,
+              4: airavata_errors.AuthorizationException ae)
 
- bool deleteResourceJobManager(1: required string resourceJobManagerId)
+ bool deleteResourceJobManager(1: required security_model.AuthzToken authzToken, 2: required string resourceJobManagerId)
        throws (1: airavata_errors.InvalidRequestException ire,
                2: airavata_errors.AiravataClientException ace,
-               3: airavata_errors.AiravataSystemException ase)
+               3: airavata_errors.AiravataSystemException ase,
+               4: airavata_errors.AuthorizationException ae)
 
-  bool deleteBatchQueue(1: required string computeResourceId, 2: required string queueName)
+  bool deleteBatchQueue(1: required security_model.AuthzToken authzToken, 2: required string computeResourceId, 3: required string queueName)
         throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 /*
  * Gateway Resource Profile
  *
@@ -1872,11 +2050,12 @@ service Airavata {
    *   Returns a success/failure of the update.
    *
   */
-  string registerGatewayResourceProfile(
-                    1: required gateway_resource_profile_model.GatewayResourceProfile gatewayResourceProfile)
+  string registerGatewayResourceProfile(1: required security_model.AuthzToken authzToken,
+                    2: required gateway_resource_profile_model.GatewayResourceProfile gatewayResourceProfile)
     	throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
-              3: airavata_errors.AiravataSystemException ase)
+              3: airavata_errors.AiravataSystemException ase,
+              4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch the given Gateway Resource Profile.
@@ -1888,10 +2067,12 @@ service Airavata {
    *    Gateway Resource Profile Object.
    *
   */
-  gateway_resource_profile_model.GatewayResourceProfile getGatewayResourceProfile(1: required string gatewayID)
+  gateway_resource_profile_model.GatewayResourceProfile getGatewayResourceProfile(1: required security_model.AuthzToken authzToken,
+                2: required string gatewayID)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update a Gateway Resource Profile.
@@ -1906,11 +2087,12 @@ service Airavata {
    *   Returns a success/failure of the update.
    *
   */
-  bool updateGatewayResourceProfile(1: required string gatewayID,
-            2: required gateway_resource_profile_model.GatewayResourceProfile gatewayResourceProfile)
+  bool updateGatewayResourceProfile(1: required security_model.AuthzToken authzToken, 2: required string gatewayID,
+            3: required gateway_resource_profile_model.GatewayResourceProfile gatewayResourceProfile)
       	throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
   /**
    * Delete the given Gateway Resource Profile.
@@ -1922,10 +2104,11 @@ service Airavata {
    *   Returns a success/failure of the deletion.
    *
   */
-  bool deleteGatewayResourceProfile(1: required string gatewayID)
+  bool deleteGatewayResourceProfile(1: required security_model.AuthzToken authzToken, 2: required string gatewayID)
          	throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase)
+                   3: airavata_errors.AiravataSystemException ase,
+                   4: airavata_errors.AuthorizationException ae)
 
   /**
    * Add a Compute Resource Preference to a registered gateway profile.
@@ -1944,12 +2127,13 @@ service Airavata {
    *    Instead an update should be used.
    *
   */
-  bool addGatewayComputeResourcePreference(1: required string gatewayID,
-            2: required string computeResourceId,
-            3: required gateway_resource_profile_model.ComputeResourcePreference computeResourcePreference)
+  bool addGatewayComputeResourcePreference(1: required security_model.AuthzToken authzToken, 2: required string gatewayID,
+            3: required string computeResourceId,
+            4: required gateway_resource_profile_model.ComputeResourcePreference computeResourcePreference)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch a Compute Resource Preference of a registered gateway profile.
@@ -1964,11 +2148,13 @@ service Airavata {
    *   Returns the ComputeResourcePreference object.
    *
   */
-  gateway_resource_profile_model.ComputeResourcePreference getGatewayComputeResourcePreference(1: required string gatewayID,
-            2: required string computeResourceId)
+  gateway_resource_profile_model.ComputeResourcePreference getGatewayComputeResourcePreference(1: required security_model.AuthzToken authzToken,
+            2: required string gatewayID,
+            3: required string computeResourceId)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Fetch all Compute Resource Preferences of a registered gateway profile.
@@ -1981,20 +2167,22 @@ service Airavata {
    *
   */
   list<gateway_resource_profile_model.ComputeResourcePreference>
-            getAllGatewayComputeResourcePreferences(1: required string gatewayID)
+            getAllGatewayComputeResourcePreferences(1: required security_model.AuthzToken authzToken, 2: required string gatewayID)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
 
   /**
   * Fetch all gateway profiles registered
   **/
   list<gateway_resource_profile_model.GatewayResourceProfile>
-              getAllGatewayComputeResources()
+              getAllGatewayComputeResources(1: required security_model.AuthzToken authzToken)
     	throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
-              3: airavata_errors.AiravataSystemException ase)
+              3: airavata_errors.AiravataSystemException ase,
+              4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update a Compute Resource Preference to a registered gateway profile.
@@ -2012,12 +2200,13 @@ service Airavata {
    *   Returns a success/failure of the updation.
    *
   */
-  bool updateGatewayComputeResourcePreference(1: required string gatewayID,
-            2: required string computeResourceId,
-            3: required gateway_resource_profile_model.ComputeResourcePreference computeResourcePreference)
+  bool updateGatewayComputeResourcePreference(1: required security_model.AuthzToken authzToken, 2: required string gatewayID,
+            3: required string computeResourceId,
+            4: required gateway_resource_profile_model.ComputeResourcePreference computeResourcePreference)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
   /**
    * Delete the Compute Resource Preference of a registered gateway profile.
@@ -2032,47 +2221,56 @@ service Airavata {
    *   Returns a success/failure of the deletion.
    *
   */
-  bool deleteGatewayComputeResourcePreference(1: required string gatewayID,
-            2: required string computeResourceId)
+  bool deleteGatewayComputeResourcePreference(1: required security_model.AuthzToken authzToken, 2: required string gatewayID,
+            3: required string computeResourceId)
   	throws (1: airavata_errors.InvalidRequestException ire,
             2: airavata_errors.AiravataClientException ace,
-            3: airavata_errors.AiravataSystemException ase)
+            3: airavata_errors.AiravataSystemException ase,
+            4: airavata_errors.AuthorizationException ae)
 
-  list<string> getAllWorkflows(1: required string gatewayId)
+  list<string> getAllWorkflows(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
           throws (1: airavata_errors.InvalidRequestException ire,
                   2: airavata_errors.AiravataClientException ace,
-                  3: airavata_errors.AiravataSystemException ase)
+                  3: airavata_errors.AiravataSystemException ase,
+                  4: airavata_errors.AuthorizationException ae)
 
-  workflow_data_model.Workflow getWorkflow (1: required string workflowTemplateId)
+  workflow_data_model.Workflow getWorkflow (1: required security_model.AuthzToken authzToken, 2: required string workflowTemplateId)
         throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
-  void deleteWorkflow (1: required string workflowTemplateId)
+  void deleteWorkflow (1: required security_model.AuthzToken authzToken, 2: required string workflowTemplateId)
         throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
-                3: airavata_errors.AiravataSystemException ase)
+                3: airavata_errors.AiravataSystemException ase,
+                4: airavata_errors.AuthorizationException ae)
 
-  string registerWorkflow(1: required string gatewayId,
-                          2: required workflow_data_model.Workflow workflow)
+  string registerWorkflow(1: required security_model.AuthzToken authzToken, 2: required string gatewayId,
+                          3: required workflow_data_model.Workflow workflow)
           throws (1: airavata_errors.InvalidRequestException ire,
                   2: airavata_errors.AiravataClientException ace,
-                  3: airavata_errors.AiravataSystemException ase)
+                  3: airavata_errors.AiravataSystemException ase,
+                  4: airavata_errors.AuthorizationException ae)
 
-  void updateWorkflow (1: required string workflowTemplateId, 2: required workflow_data_model.Workflow workflow)
+  void updateWorkflow (1: required security_model.AuthzToken authzToken, 2: required string workflowTemplateId,
+                       3: required workflow_data_model.Workflow workflow)
           throws (1: airavata_errors.InvalidReque

<TRUNCATED>

[04/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
new file mode 100644
index 0000000..8ab0259
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
@@ -0,0 +1,1478 @@
+<?php
+namespace Airavata\Model\Experiment;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+final class ExperimentType {
+  const SINGLE_APPLICATION = 0;
+  const WORKFLOW = 1;
+  static public $__names = array(
+    0 => 'SINGLE_APPLICATION',
+    1 => 'WORKFLOW',
+  );
+}
+
+final class ExperimentSearchFields {
+  const EXPERIMENT_NAME = 0;
+  const EXPERIMENT_DESC = 1;
+  const APPLICATION_ID = 2;
+  const FROM_DATE = 3;
+  const TO_DATE = 4;
+  const STATUS = 5;
+  static public $__names = array(
+    0 => 'EXPERIMENT_NAME',
+    1 => 'EXPERIMENT_DESC',
+    2 => 'APPLICATION_ID',
+    3 => 'FROM_DATE',
+    4 => 'TO_DATE',
+    5 => 'STATUS',
+  );
+}
+
+/**
+ * A structure holding the experiment configuration.
+ * 
+ * 
+ */
+class UserConfigurationDataModel {
+  static $_TSPEC;
+
+  /**
+   * @var bool
+   */
+  public $airavataAutoSchedule = false;
+  /**
+   * @var bool
+   */
+  public $overrideManualScheduledParams = false;
+  /**
+   * @var bool
+   */
+  public $shareExperimentPublicly = false;
+  /**
+   * @var \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel
+   */
+  public $computationalResourceScheduling = null;
+  /**
+   * @var bool
+   */
+  public $throttleResources = false;
+  /**
+   * @var string
+   */
+  public $userDN = null;
+  /**
+   * @var bool
+   */
+  public $generateCert = false;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'airavataAutoSchedule',
+          'type' => TType::BOOL,
+          ),
+        2 => array(
+          'var' => 'overrideManualScheduledParams',
+          'type' => TType::BOOL,
+          ),
+        3 => array(
+          'var' => 'shareExperimentPublicly',
+          'type' => TType::BOOL,
+          ),
+        4 => array(
+          'var' => 'computationalResourceScheduling',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Scheduling\ComputationalResourceSchedulingModel',
+          ),
+        5 => array(
+          'var' => 'throttleResources',
+          'type' => TType::BOOL,
+          ),
+        6 => array(
+          'var' => 'userDN',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'generateCert',
+          'type' => TType::BOOL,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['airavataAutoSchedule'])) {
+        $this->airavataAutoSchedule = $vals['airavataAutoSchedule'];
+      }
+      if (isset($vals['overrideManualScheduledParams'])) {
+        $this->overrideManualScheduledParams = $vals['overrideManualScheduledParams'];
+      }
+      if (isset($vals['shareExperimentPublicly'])) {
+        $this->shareExperimentPublicly = $vals['shareExperimentPublicly'];
+      }
+      if (isset($vals['computationalResourceScheduling'])) {
+        $this->computationalResourceScheduling = $vals['computationalResourceScheduling'];
+      }
+      if (isset($vals['throttleResources'])) {
+        $this->throttleResources = $vals['throttleResources'];
+      }
+      if (isset($vals['userDN'])) {
+        $this->userDN = $vals['userDN'];
+      }
+      if (isset($vals['generateCert'])) {
+        $this->generateCert = $vals['generateCert'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'UserConfigurationDataModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->airavataAutoSchedule);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->overrideManualScheduledParams);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->shareExperimentPublicly);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->computationalResourceScheduling = new \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel();
+            $xfer += $this->computationalResourceScheduling->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->throttleResources);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userDN);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->generateCert);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('UserConfigurationDataModel');
+    if ($this->airavataAutoSchedule !== null) {
+      $xfer += $output->writeFieldBegin('airavataAutoSchedule', TType::BOOL, 1);
+      $xfer += $output->writeBool($this->airavataAutoSchedule);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->overrideManualScheduledParams !== null) {
+      $xfer += $output->writeFieldBegin('overrideManualScheduledParams', TType::BOOL, 2);
+      $xfer += $output->writeBool($this->overrideManualScheduledParams);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->shareExperimentPublicly !== null) {
+      $xfer += $output->writeFieldBegin('shareExperimentPublicly', TType::BOOL, 3);
+      $xfer += $output->writeBool($this->shareExperimentPublicly);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->computationalResourceScheduling !== null) {
+      if (!is_object($this->computationalResourceScheduling)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('computationalResourceScheduling', TType::STRUCT, 4);
+      $xfer += $this->computationalResourceScheduling->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->throttleResources !== null) {
+      $xfer += $output->writeFieldBegin('throttleResources', TType::BOOL, 5);
+      $xfer += $output->writeBool($this->throttleResources);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userDN !== null) {
+      $xfer += $output->writeFieldBegin('userDN', TType::STRING, 6);
+      $xfer += $output->writeString($this->userDN);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->generateCert !== null) {
+      $xfer += $output->writeFieldBegin('generateCert', TType::BOOL, 7);
+      $xfer += $output->writeBool($this->generateCert);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * A structure holding the experiment metadata and its child models.
+ * 
+ * userName:
+ *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
+ *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
+ *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
+ *     Airavata, an authorization exception is thrown.
+ * 
+ * experimentName:
+ *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
+ *      by the generated experiment id.
+ * 
+ * experimentDescription:
+ *    The verbose description of the experiment. This is an optional parameter.
+ */
+class ExperimentModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $experimentId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
+  public $projectId = null;
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
+  /**
+   * @var int
+   */
+  public $experimentType =   0;
+  /**
+   * @var string
+   */
+  public $userName = null;
+  /**
+   * @var string
+   */
+  public $experimentName = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var string
+   */
+  public $description = null;
+  /**
+   * @var string
+   */
+  public $executionId = null;
+  /**
+   * @var string
+   */
+  public $gatewayExecutionId = null;
+  /**
+   * @var bool
+   */
+  public $enableEmailNotification = null;
+  /**
+   * @var string[]
+   */
+  public $emailAddresses = null;
+  /**
+   * @var \Airavata\Model\Experiment\UserConfigurationDataModel
+   */
+  public $userConfigurationData = null;
+  /**
+   * @var \Airavata\Model\Application\Io\InputDataObjectType[]
+   */
+  public $experimentInputs = null;
+  /**
+   * @var \Airavata\Model\Application\Io\OutputDataObjectType[]
+   */
+  public $experimentOutputs = null;
+  /**
+   * @var \Airavata\Model\Status\ExperimentStatus
+   */
+  public $experimentStatus = null;
+  /**
+   * @var \Airavata\Model\Commons\ErrorModel[]
+   */
+  public $errors = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'experimentId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'projectId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'experimentType',
+          'type' => TType::I32,
+          ),
+        5 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'experimentName',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        8 => array(
+          'var' => 'description',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'executionId',
+          'type' => TType::STRING,
+          ),
+        10 => array(
+          'var' => 'gatewayExecutionId',
+          'type' => TType::STRING,
+          ),
+        11 => array(
+          'var' => 'enableEmailNotification',
+          'type' => TType::BOOL,
+          ),
+        12 => array(
+          'var' => 'emailAddresses',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        13 => array(
+          'var' => 'userConfigurationData',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Experiment\UserConfigurationDataModel',
+          ),
+        14 => array(
+          'var' => 'experimentInputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Application\Io\InputDataObjectType',
+            ),
+          ),
+        15 => array(
+          'var' => 'experimentOutputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Application\Io\OutputDataObjectType',
+            ),
+          ),
+        16 => array(
+          'var' => 'experimentStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Status\ExperimentStatus',
+          ),
+        17 => array(
+          'var' => 'errors',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Commons\ErrorModel',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['experimentId'])) {
+        $this->experimentId = $vals['experimentId'];
+      }
+      if (isset($vals['projectId'])) {
+        $this->projectId = $vals['projectId'];
+      }
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['experimentType'])) {
+        $this->experimentType = $vals['experimentType'];
+      }
+      if (isset($vals['userName'])) {
+        $this->userName = $vals['userName'];
+      }
+      if (isset($vals['experimentName'])) {
+        $this->experimentName = $vals['experimentName'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['description'])) {
+        $this->description = $vals['description'];
+      }
+      if (isset($vals['executionId'])) {
+        $this->executionId = $vals['executionId'];
+      }
+      if (isset($vals['gatewayExecutionId'])) {
+        $this->gatewayExecutionId = $vals['gatewayExecutionId'];
+      }
+      if (isset($vals['enableEmailNotification'])) {
+        $this->enableEmailNotification = $vals['enableEmailNotification'];
+      }
+      if (isset($vals['emailAddresses'])) {
+        $this->emailAddresses = $vals['emailAddresses'];
+      }
+      if (isset($vals['userConfigurationData'])) {
+        $this->userConfigurationData = $vals['userConfigurationData'];
+      }
+      if (isset($vals['experimentInputs'])) {
+        $this->experimentInputs = $vals['experimentInputs'];
+      }
+      if (isset($vals['experimentOutputs'])) {
+        $this->experimentOutputs = $vals['experimentOutputs'];
+      }
+      if (isset($vals['experimentStatus'])) {
+        $this->experimentStatus = $vals['experimentStatus'];
+      }
+      if (isset($vals['errors'])) {
+        $this->errors = $vals['errors'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ExperimentModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->projectId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->experimentType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->description);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->executionId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayExecutionId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->enableEmailNotification);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::LST) {
+            $this->emailAddresses = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->emailAddresses []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
+          if ($ftype == TType::STRUCT) {
+            $this->userConfigurationData = new \Airavata\Model\Experiment\UserConfigurationDataModel();
+            $xfer += $this->userConfigurationData->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 14:
+          if ($ftype == TType::LST) {
+            $this->experimentInputs = array();
+            $_size6 = 0;
+            $_etype9 = 0;
+            $xfer += $input->readListBegin($_etype9, $_size6);
+            for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
+            {
+              $elem11 = null;
+              $elem11 = new \Airavata\Model\Application\Io\InputDataObjectType();
+              $xfer += $elem11->read($input);
+              $this->experimentInputs []= $elem11;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 15:
+          if ($ftype == TType::LST) {
+            $this->experimentOutputs = array();
+            $_size12 = 0;
+            $_etype15 = 0;
+            $xfer += $input->readListBegin($_etype15, $_size12);
+            for ($_i16 = 0; $_i16 < $_size12; ++$_i16)
+            {
+              $elem17 = null;
+              $elem17 = new \Airavata\Model\Application\Io\OutputDataObjectType();
+              $xfer += $elem17->read($input);
+              $this->experimentOutputs []= $elem17;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 16:
+          if ($ftype == TType::STRUCT) {
+            $this->experimentStatus = new \Airavata\Model\Status\ExperimentStatus();
+            $xfer += $this->experimentStatus->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 17:
+          if ($ftype == TType::LST) {
+            $this->errors = array();
+            $_size18 = 0;
+            $_etype21 = 0;
+            $xfer += $input->readListBegin($_etype21, $_size18);
+            for ($_i22 = 0; $_i22 < $_size18; ++$_i22)
+            {
+              $elem23 = null;
+              $elem23 = new \Airavata\Model\Commons\ErrorModel();
+              $xfer += $elem23->read($input);
+              $this->errors []= $elem23;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ExperimentModel');
+    if ($this->experimentId !== null) {
+      $xfer += $output->writeFieldBegin('experimentId', TType::STRING, 1);
+      $xfer += $output->writeString($this->experimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->projectId !== null) {
+      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
+      $xfer += $output->writeString($this->projectId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 3);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentType !== null) {
+      $xfer += $output->writeFieldBegin('experimentType', TType::I32, 4);
+      $xfer += $output->writeI32($this->experimentType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userName !== null) {
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 5);
+      $xfer += $output->writeString($this->userName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentName !== null) {
+      $xfer += $output->writeFieldBegin('experimentName', TType::STRING, 6);
+      $xfer += $output->writeString($this->experimentName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 7);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->description !== null) {
+      $xfer += $output->writeFieldBegin('description', TType::STRING, 8);
+      $xfer += $output->writeString($this->description);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->executionId !== null) {
+      $xfer += $output->writeFieldBegin('executionId', TType::STRING, 9);
+      $xfer += $output->writeString($this->executionId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayExecutionId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayExecutionId', TType::STRING, 10);
+      $xfer += $output->writeString($this->gatewayExecutionId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->enableEmailNotification !== null) {
+      $xfer += $output->writeFieldBegin('enableEmailNotification', TType::BOOL, 11);
+      $xfer += $output->writeBool($this->enableEmailNotification);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->emailAddresses !== null) {
+      if (!is_array($this->emailAddresses)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('emailAddresses', TType::LST, 12);
+      {
+        $output->writeListBegin(TType::STRING, count($this->emailAddresses));
+        {
+          foreach ($this->emailAddresses as $iter24)
+          {
+            $xfer += $output->writeString($iter24);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userConfigurationData !== null) {
+      if (!is_object($this->userConfigurationData)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('userConfigurationData', TType::STRUCT, 13);
+      $xfer += $this->userConfigurationData->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentInputs !== null) {
+      if (!is_array($this->experimentInputs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('experimentInputs', TType::LST, 14);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->experimentInputs));
+        {
+          foreach ($this->experimentInputs as $iter25)
+          {
+            $xfer += $iter25->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentOutputs !== null) {
+      if (!is_array($this->experimentOutputs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('experimentOutputs', TType::LST, 15);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->experimentOutputs));
+        {
+          foreach ($this->experimentOutputs as $iter26)
+          {
+            $xfer += $iter26->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentStatus !== null) {
+      if (!is_object($this->experimentStatus)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('experimentStatus', TType::STRUCT, 16);
+      $xfer += $this->experimentStatus->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->errors !== null) {
+      if (!is_array($this->errors)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('errors', TType::LST, 17);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->errors));
+        {
+          foreach ($this->errors as $iter27)
+          {
+            $xfer += $iter27->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ExperimentSummaryModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $experimentId = null;
+  /**
+   * @var string
+   */
+  public $projectId = null;
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var string
+   */
+  public $userName = null;
+  /**
+   * @var string
+   */
+  public $name = null;
+  /**
+   * @var string
+   */
+  public $description = null;
+  /**
+   * @var string
+   */
+  public $executionId = null;
+  /**
+   * @var string
+   */
+  public $experimentStatus = null;
+  /**
+   * @var int
+   */
+  public $statusUpdateTime = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'experimentId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'projectId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        5 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'name',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'description',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'executionId',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'experimentStatus',
+          'type' => TType::STRING,
+          ),
+        10 => array(
+          'var' => 'statusUpdateTime',
+          'type' => TType::I64,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['experimentId'])) {
+        $this->experimentId = $vals['experimentId'];
+      }
+      if (isset($vals['projectId'])) {
+        $this->projectId = $vals['projectId'];
+      }
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['userName'])) {
+        $this->userName = $vals['userName'];
+      }
+      if (isset($vals['name'])) {
+        $this->name = $vals['name'];
+      }
+      if (isset($vals['description'])) {
+        $this->description = $vals['description'];
+      }
+      if (isset($vals['executionId'])) {
+        $this->executionId = $vals['executionId'];
+      }
+      if (isset($vals['experimentStatus'])) {
+        $this->experimentStatus = $vals['experimentStatus'];
+      }
+      if (isset($vals['statusUpdateTime'])) {
+        $this->statusUpdateTime = $vals['statusUpdateTime'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ExperimentSummaryModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->projectId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->name);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->description);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->executionId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentStatus);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->statusUpdateTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ExperimentSummaryModel');
+    if ($this->experimentId !== null) {
+      $xfer += $output->writeFieldBegin('experimentId', TType::STRING, 1);
+      $xfer += $output->writeString($this->experimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->projectId !== null) {
+      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
+      $xfer += $output->writeString($this->projectId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 3);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 4);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userName !== null) {
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 5);
+      $xfer += $output->writeString($this->userName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->name !== null) {
+      $xfer += $output->writeFieldBegin('name', TType::STRING, 6);
+      $xfer += $output->writeString($this->name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->description !== null) {
+      $xfer += $output->writeFieldBegin('description', TType::STRING, 7);
+      $xfer += $output->writeString($this->description);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->executionId !== null) {
+      $xfer += $output->writeFieldBegin('executionId', TType::STRING, 8);
+      $xfer += $output->writeString($this->executionId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentStatus !== null) {
+      $xfer += $output->writeFieldBegin('experimentStatus', TType::STRING, 9);
+      $xfer += $output->writeString($this->experimentStatus);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->statusUpdateTime !== null) {
+      $xfer += $output->writeFieldBegin('statusUpdateTime', TType::I64, 10);
+      $xfer += $output->writeI64($this->statusUpdateTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ExperimentStatistics {
+  static $_TSPEC;
+
+  /**
+   * @var int
+   */
+  public $allExperimentCount = null;
+  /**
+   * @var int
+   */
+  public $completedExperimentCount = null;
+  /**
+   * @var int
+   */
+  public $cancelledExperimentCount = null;
+  /**
+   * @var int
+   */
+  public $failedExperimentCount = null;
+  /**
+   * @var \Airavata\Model\Experiment\ExperimentSummaryModel[]
+   */
+  public $allExperiments = null;
+  /**
+   * @var \Airavata\Model\Experiment\ExperimentSummaryModel[]
+   */
+  public $completedExperiments = null;
+  /**
+   * @var \Airavata\Model\Experiment\ExperimentSummaryModel[]
+   */
+  public $failedExperiments = null;
+  /**
+   * @var \Airavata\Model\Experiment\ExperimentSummaryModel[]
+   */
+  public $cancelledExperiments = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'allExperimentCount',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'completedExperimentCount',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'cancelledExperimentCount',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'failedExperimentCount',
+          'type' => TType::I32,
+          ),
+        5 => array(
+          'var' => 'allExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Experiment\ExperimentSummaryModel',
+            ),
+          ),
+        6 => array(
+          'var' => 'completedExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Experiment\ExperimentSummaryModel',
+            ),
+          ),
+        7 => array(
+          'var' => 'failedExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Experiment\ExperimentSummaryModel',
+            ),
+          ),
+        8 => array(
+          'var' => 'cancelledExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Experiment\ExperimentSummaryModel',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['allExperimentCount'])) {
+        $this->allExperimentCount = $vals['allExperimentCount'];
+      }
+      if (isset($vals['completedExperimentCount'])) {
+        $this->completedExperimentCount = $vals['completedExperimentCount'];
+      }
+      if (isset($vals['cancelledExperimentCount'])) {
+        $this->cancelledExperimentCount = $vals['cancelledExperimentCount'];
+      }
+      if (isset($vals['failedExperimentCount'])) {
+        $this->failedExperimentCount = $vals['failedExperimentCount'];
+      }
+      if (isset($vals['allExperiments'])) {
+        $this->allExperiments = $vals['allExperiments'];
+      }
+      if (isset($vals['completedExperiments'])) {
+        $this->completedExperiments = $vals['completedExperiments'];
+      }
+      if (isset($vals['failedExperiments'])) {
+        $this->failedExperiments = $vals['failedExperiments'];
+      }
+      if (isset($vals['cancelledExperiments'])) {
+        $this->cancelledExperiments = $vals['cancelledExperiments'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ExperimentStatistics';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->allExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->completedExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->cancelledExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->failedExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::LST) {
+            $this->allExperiments = array();
+            $_size28 = 0;
+            $_etype31 = 0;
+            $xfer += $input->readListBegin($_etype31, $_size28);
+            for ($_i32 = 0; $_i32 < $_size28; ++$_i32)
+            {
+              $elem33 = null;
+              $elem33 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem33->read($input);
+              $this->allExperiments []= $elem33;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::LST) {
+            $this->completedExperiments = array();
+            $_size34 = 0;
+            $_etype37 = 0;
+            $xfer += $input->readListBegin($_etype37, $_size34);
+            for ($_i38 = 0; $_i38 < $_size34; ++$_i38)
+            {
+              $elem39 = null;
+              $elem39 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem39->read($input);
+              $this->completedExperiments []= $elem39;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::LST) {
+            $this->failedExperiments = array();
+            $_size40 = 0;
+            $_etype43 = 0;
+            $xfer += $input->readListBegin($_etype43, $_size40);
+            for ($_i44 = 0; $_i44 < $_size40; ++$_i44)
+            {
+              $elem45 = null;
+              $elem45 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem45->read($input);
+              $this->failedExperiments []= $elem45;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::LST) {
+            $this->cancelledExperiments = array();
+            $_size46 = 0;
+            $_etype49 = 0;
+            $xfer += $input->readListBegin($_etype49, $_size46);
+            for ($_i50 = 0; $_i50 < $_size46; ++$_i50)
+            {
+              $elem51 = null;
+              $elem51 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem51->read($input);
+              $this->cancelledExperiments []= $elem51;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ExperimentStatistics');
+    if ($this->allExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('allExperimentCount', TType::I32, 1);
+      $xfer += $output->writeI32($this->allExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->completedExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('completedExperimentCount', TType::I32, 2);
+      $xfer += $output->writeI32($this->completedExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->cancelledExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('cancelledExperimentCount', TType::I32, 3);
+      $xfer += $output->writeI32($this->cancelledExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->failedExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('failedExperimentCount', TType::I32, 4);
+      $xfer += $output->writeI32($this->failedExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->allExperiments !== null) {
+      if (!is_array($this->allExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('allExperiments', TType::LST, 5);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->allExperiments));
+        {
+          foreach ($this->allExperiments as $iter52)
+          {
+            $xfer += $iter52->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->completedExperiments !== null) {
+      if (!is_array($this->completedExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('completedExperiments', TType::LST, 6);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->completedExperiments));
+        {
+          foreach ($this->completedExperiments as $iter53)
+          {
+            $xfer += $iter53->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->failedExperiments !== null) {
+      if (!is_array($this->failedExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('failedExperiments', TType::LST, 7);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->failedExperiments));
+        {
+          foreach ($this->failedExperiments as $iter54)
+          {
+            $xfer += $iter54->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->cancelledExperiments !== null) {
+      if (!is_array($this->cancelledExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('cancelledExperiments', TType::LST, 8);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->cancelledExperiments));
+        {
+          foreach ($this->cancelledExperiments as $iter55)
+          {
+            $xfer += $iter55->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
index d90c6f8..c6dce6c 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
@@ -1760,12 +1760,4 @@ class Message {
 
 }
 
-final class Constant extends \Thrift\Type\TConstant {
-  static protected $DEFAULT_ID;
-
-  static protected function init_DEFAULT_ID() {
-    return "DO_NOT_SET_AT_CLIENTS";
-  }
-}
-
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
new file mode 100644
index 0000000..2fd241f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
@@ -0,0 +1,620 @@
+<?php
+namespace Airavata\Model\Process;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+/**
+ * ProcessModel: A structure holding the process details. The infromation is derived based on user provided
+ *          configuration data or system inferred information from scheduling and QoS parameters.
+ * 
+ * processDetail:
+ *   A friendly description of the process, usally used to communicate information to users.
+ * 
+ * 
+ */
+class ProcessModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $processId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
+  public $experimentId = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var int
+   */
+  public $lastUpdateTime = null;
+  /**
+   * @var \Airavata\Model\Status\ProcessStatus
+   */
+  public $processStatus = null;
+  /**
+   * @var string
+   */
+  public $processDetail = null;
+  /**
+   * @var string
+   */
+  public $applicationInterfaceId = null;
+  /**
+   * @var string
+   */
+  public $applicationDeploymentId = null;
+  /**
+   * @var string
+   */
+  public $computeResourceId = null;
+  /**
+   * @var \Airavata\Model\Application\Io\InputDataObjectType[]
+   */
+  public $processInputs = null;
+  /**
+   * @var \Airavata\Model\Application\Io\OutputDataObjectType[]
+   */
+  public $processOutputs = null;
+  /**
+   * @var \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel
+   */
+  public $resourceSchedule = null;
+  /**
+   * @var \Airavata\Model\Task\TaskModel[]
+   */
+  public $tasks = null;
+  /**
+   * @var string
+   */
+  public $taskDag = null;
+  /**
+   * @var \Airavata\Model\Commons\ErrorModel
+   */
+  public $processError = null;
+  /**
+   * @var string
+   */
+  public $gatewayExecutionId = null;
+  /**
+   * @var bool
+   */
+  public $enableEmailNotification = null;
+  /**
+   * @var string[]
+   */
+  public $emailAddresses = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'processId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'experimentId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        4 => array(
+          'var' => 'lastUpdateTime',
+          'type' => TType::I64,
+          ),
+        5 => array(
+          'var' => 'processStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Status\ProcessStatus',
+          ),
+        6 => array(
+          'var' => 'processDetail',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'applicationInterfaceId',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'applicationDeploymentId',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'computeResourceId',
+          'type' => TType::STRING,
+          ),
+        10 => array(
+          'var' => 'processInputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Application\Io\InputDataObjectType',
+            ),
+          ),
+        11 => array(
+          'var' => 'processOutputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Application\Io\OutputDataObjectType',
+            ),
+          ),
+        12 => array(
+          'var' => 'resourceSchedule',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Scheduling\ComputationalResourceSchedulingModel',
+          ),
+        13 => array(
+          'var' => 'tasks',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Task\TaskModel',
+            ),
+          ),
+        14 => array(
+          'var' => 'taskDag',
+          'type' => TType::STRING,
+          ),
+        15 => array(
+          'var' => 'processError',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Commons\ErrorModel',
+          ),
+        16 => array(
+          'var' => 'gatewayExecutionId',
+          'type' => TType::STRING,
+          ),
+        17 => array(
+          'var' => 'enableEmailNotification',
+          'type' => TType::BOOL,
+          ),
+        18 => array(
+          'var' => 'emailAddresses',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['processId'])) {
+        $this->processId = $vals['processId'];
+      }
+      if (isset($vals['experimentId'])) {
+        $this->experimentId = $vals['experimentId'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['lastUpdateTime'])) {
+        $this->lastUpdateTime = $vals['lastUpdateTime'];
+      }
+      if (isset($vals['processStatus'])) {
+        $this->processStatus = $vals['processStatus'];
+      }
+      if (isset($vals['processDetail'])) {
+        $this->processDetail = $vals['processDetail'];
+      }
+      if (isset($vals['applicationInterfaceId'])) {
+        $this->applicationInterfaceId = $vals['applicationInterfaceId'];
+      }
+      if (isset($vals['applicationDeploymentId'])) {
+        $this->applicationDeploymentId = $vals['applicationDeploymentId'];
+      }
+      if (isset($vals['computeResourceId'])) {
+        $this->computeResourceId = $vals['computeResourceId'];
+      }
+      if (isset($vals['processInputs'])) {
+        $this->processInputs = $vals['processInputs'];
+      }
+      if (isset($vals['processOutputs'])) {
+        $this->processOutputs = $vals['processOutputs'];
+      }
+      if (isset($vals['resourceSchedule'])) {
+        $this->resourceSchedule = $vals['resourceSchedule'];
+      }
+      if (isset($vals['tasks'])) {
+        $this->tasks = $vals['tasks'];
+      }
+      if (isset($vals['taskDag'])) {
+        $this->taskDag = $vals['taskDag'];
+      }
+      if (isset($vals['processError'])) {
+        $this->processError = $vals['processError'];
+      }
+      if (isset($vals['gatewayExecutionId'])) {
+        $this->gatewayExecutionId = $vals['gatewayExecutionId'];
+      }
+      if (isset($vals['enableEmailNotification'])) {
+        $this->enableEmailNotification = $vals['enableEmailNotification'];
+      }
+      if (isset($vals['emailAddresses'])) {
+        $this->emailAddresses = $vals['emailAddresses'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ProcessModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->processId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastUpdateTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRUCT) {
+            $this->processStatus = new \Airavata\Model\Status\ProcessStatus();
+            $xfer += $this->processStatus->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->processDetail);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationDeploymentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->computeResourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::LST) {
+            $this->processInputs = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $elem5 = new \Airavata\Model\Application\Io\InputDataObjectType();
+              $xfer += $elem5->read($input);
+              $this->processInputs []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::LST) {
+            $this->processOutputs = array();
+            $_size6 = 0;
+            $_etype9 = 0;
+            $xfer += $input->readListBegin($_etype9, $_size6);
+            for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
+            {
+              $elem11 = null;
+              $elem11 = new \Airavata\Model\Application\Io\OutputDataObjectType();
+              $xfer += $elem11->read($input);
+              $this->processOutputs []= $elem11;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::STRUCT) {
+            $this->resourceSchedule = new \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel();
+            $xfer += $this->resourceSchedule->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
+          if ($ftype == TType::LST) {
+            $this->tasks = array();
+            $_size12 = 0;
+            $_etype15 = 0;
+            $xfer += $input->readListBegin($_etype15, $_size12);
+            for ($_i16 = 0; $_i16 < $_size12; ++$_i16)
+            {
+              $elem17 = null;
+              $elem17 = new \Airavata\Model\Task\TaskModel();
+              $xfer += $elem17->read($input);
+              $this->tasks []= $elem17;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 14:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->taskDag);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 15:
+          if ($ftype == TType::STRUCT) {
+            $this->processError = new \Airavata\Model\Commons\ErrorModel();
+            $xfer += $this->processError->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 16:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayExecutionId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 17:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->enableEmailNotification);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 18:
+          if ($ftype == TType::LST) {
+            $this->emailAddresses = array();
+            $_size18 = 0;
+            $_etype21 = 0;
+            $xfer += $input->readListBegin($_etype21, $_size18);
+            for ($_i22 = 0; $_i22 < $_size18; ++$_i22)
+            {
+              $elem23 = null;
+              $xfer += $input->readString($elem23);
+              $this->emailAddresses []= $elem23;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ProcessModel');
+    if ($this->processId !== null) {
+      $xfer += $output->writeFieldBegin('processId', TType::STRING, 1);
+      $xfer += $output->writeString($this->processId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentId !== null) {
+      $xfer += $output->writeFieldBegin('experimentId', TType::STRING, 2);
+      $xfer += $output->writeString($this->experimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 3);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->lastUpdateTime !== null) {
+      $xfer += $output->writeFieldBegin('lastUpdateTime', TType::I64, 4);
+      $xfer += $output->writeI64($this->lastUpdateTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->processStatus !== null) {
+      if (!is_object($this->processStatus)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('processStatus', TType::STRUCT, 5);
+      $xfer += $this->processStatus->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->processDetail !== null) {
+      $xfer += $output->writeFieldBegin('processDetail', TType::STRING, 6);
+      $xfer += $output->writeString($this->processDetail);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('applicationInterfaceId', TType::STRING, 7);
+      $xfer += $output->writeString($this->applicationInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationDeploymentId !== null) {
+      $xfer += $output->writeFieldBegin('applicationDeploymentId', TType::STRING, 8);
+      $xfer += $output->writeString($this->applicationDeploymentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->computeResourceId !== null) {
+      $xfer += $output->writeFieldBegin('computeResourceId', TType::STRING, 9);
+      $xfer += $output->writeString($this->computeResourceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->processInputs !== null) {
+      if (!is_array($this->processInputs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('processInputs', TType::LST, 10);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->processInputs));
+        {
+          foreach ($this->processInputs as $iter24)
+          {
+            $xfer += $iter24->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->processOutputs !== null) {
+      if (!is_array($this->processOutputs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('processOutputs', TType::LST, 11);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->processOutputs));
+        {
+          foreach ($this->processOutputs as $iter25)
+          {
+            $xfer += $iter25->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->resourceSchedule !== null) {
+      if (!is_object($this->resourceSchedule)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('resourceSchedule', TType::STRUCT, 12);
+      $xfer += $this->resourceSchedule->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tasks !== null) {
+      if (!is_array($this->tasks)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('tasks', TType::LST, 13);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->tasks));
+        {
+          foreach ($this->tasks as $iter26)
+          {
+            $xfer += $iter26->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->taskDag !== null) {
+      $xfer += $output->writeFieldBegin('taskDag', TType::STRING, 14);
+      $xfer += $output->writeString($this->taskDag);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->processError !== null) {
+      if (!is_object($this->processError)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('processError', TType::STRUCT, 15);
+      $xfer += $this->processError->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayExecutionId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayExecutionId', TType::STRING, 16);
+      $xfer += $output->writeString($this->gatewayExecutionId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->enableEmailNotification !== null) {
+      $xfer += $output->writeFieldBegin('enableEmailNotification', TType::BOOL, 17);
+      $xfer += $output->writeBool($this->enableEmailNotification);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->emailAddresses !== null) {
+      if (!is_array($this->emailAddresses)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('emailAddresses', TType::LST, 18);
+      {
+        $output->writeListBegin(TType::STRING, count($this->emailAddresses));
+        {
+          foreach ($this->emailAddresses as $iter27)
+          {
+            $xfer += $output->writeString($iter27);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Scheduling/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Scheduling/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Scheduling/Types.php
new file mode 100644
index 0000000..ffda7fa
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Scheduling/Types.php
@@ -0,0 +1,261 @@
+<?php
+namespace Airavata\Model\Scheduling;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+/**
+ * ComputationalResourceSchedulingModel:
+ * 
+ * 
+ */
+class ComputationalResourceSchedulingModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $resourceHostId = null;
+  /**
+   * @var int
+   */
+  public $totalCPUCount = null;
+  /**
+   * @var int
+   */
+  public $nodeCount = null;
+  /**
+   * @var int
+   */
+  public $numberOfThreads = null;
+  /**
+   * @var string
+   */
+  public $queueName = null;
+  /**
+   * @var int
+   */
+  public $wallTimeLimit = null;
+  /**
+   * @var int
+   */
+  public $totalPhysicalMemory = null;
+  /**
+   * @var string
+   */
+  public $chessisNumber = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'resourceHostId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'totalCPUCount',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'nodeCount',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'numberOfThreads',
+          'type' => TType::I32,
+          ),
+        5 => array(
+          'var' => 'queueName',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'wallTimeLimit',
+          'type' => TType::I32,
+          ),
+        7 => array(
+          'var' => 'totalPhysicalMemory',
+          'type' => TType::I32,
+          ),
+        8 => array(
+          'var' => 'chessisNumber',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['resourceHostId'])) {
+        $this->resourceHostId = $vals['resourceHostId'];
+      }
+      if (isset($vals['totalCPUCount'])) {
+        $this->totalCPUCount = $vals['totalCPUCount'];
+      }
+      if (isset($vals['nodeCount'])) {
+        $this->nodeCount = $vals['nodeCount'];
+      }
+      if (isset($vals['numberOfThreads'])) {
+        $this->numberOfThreads = $vals['numberOfThreads'];
+      }
+      if (isset($vals['queueName'])) {
+        $this->queueName = $vals['queueName'];
+      }
+      if (isset($vals['wallTimeLimit'])) {
+        $this->wallTimeLimit = $vals['wallTimeLimit'];
+      }
+      if (isset($vals['totalPhysicalMemory'])) {
+        $this->totalPhysicalMemory = $vals['totalPhysicalMemory'];
+      }
+      if (isset($vals['chessisNumber'])) {
+        $this->chessisNumber = $vals['chessisNumber'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ComputationalResourceSchedulingModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->resourceHostId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->totalCPUCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->nodeCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->numberOfThreads);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->queueName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->wallTimeLimit);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->totalPhysicalMemory);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->chessisNumber);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ComputationalResourceSchedulingModel');
+    if ($this->resourceHostId !== null) {
+      $xfer += $output->writeFieldBegin('resourceHostId', TType::STRING, 1);
+      $xfer += $output->writeString($this->resourceHostId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->totalCPUCount !== null) {
+      $xfer += $output->writeFieldBegin('totalCPUCount', TType::I32, 2);
+      $xfer += $output->writeI32($this->totalCPUCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->nodeCount !== null) {
+      $xfer += $output->writeFieldBegin('nodeCount', TType::I32, 3);
+      $xfer += $output->writeI32($this->nodeCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->numberOfThreads !== null) {
+      $xfer += $output->writeFieldBegin('numberOfThreads', TType::I32, 4);
+      $xfer += $output->writeI32($this->numberOfThreads);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->queueName !== null) {
+      $xfer += $output->writeFieldBegin('queueName', TType::STRING, 5);
+      $xfer += $output->writeString($this->queueName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->wallTimeLimit !== null) {
+      $xfer += $output->writeFieldBegin('wallTimeLimit', TType::I32, 6);
+      $xfer += $output->writeI32($this->wallTimeLimit);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->totalPhysicalMemory !== null) {
+      $xfer += $output->writeFieldBegin('totalPhysicalMemory', TType::I32, 7);
+      $xfer += $output->writeI32($this->totalPhysicalMemory);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->chessisNumber !== null) {
+      $xfer += $output->writeFieldBegin('chessisNumber', TType::STRING, 8);
+      $xfer += $output->writeString($this->chessisNumber);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Security/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Security/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Security/Types.php
new file mode 100644
index 0000000..7904fef
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Security/Types.php
@@ -0,0 +1,152 @@
+<?php
+namespace Airavata\Model\Security;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+class AuthzToken {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $accessToken = null;
+  /**
+   * @var array
+   */
+  public $claimsMap = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'accessToken',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'claimsMap',
+          'type' => TType::MAP,
+          'ktype' => TType::STRING,
+          'vtype' => TType::STRING,
+          'key' => array(
+            'type' => TType::STRING,
+          ),
+          'val' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['accessToken'])) {
+        $this->accessToken = $vals['accessToken'];
+      }
+      if (isset($vals['claimsMap'])) {
+        $this->claimsMap = $vals['claimsMap'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'AuthzToken';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->accessToken);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::MAP) {
+            $this->claimsMap = array();
+            $_size0 = 0;
+            $_ktype1 = 0;
+            $_vtype2 = 0;
+            $xfer += $input->readMapBegin($_ktype1, $_vtype2, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $key5 = '';
+              $val6 = '';
+              $xfer += $input->readString($key5);
+              $xfer += $input->readString($val6);
+              $this->claimsMap[$key5] = $val6;
+            }
+            $xfer += $input->readMapEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('AuthzToken');
+    if ($this->accessToken !== null) {
+      $xfer += $output->writeFieldBegin('accessToken', TType::STRING, 1);
+      $xfer += $output->writeString($this->accessToken);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->claimsMap !== null) {
+      if (!is_array($this->claimsMap)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('claimsMap', TType::MAP, 2);
+      {
+        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->claimsMap));
+        {
+          foreach ($this->claimsMap as $kiter7 => $viter8)
+          {
+            $xfer += $output->writeString($kiter7);
+            $xfer += $output->writeString($viter8);
+          }
+        }
+        $output->writeMapEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+


[42/44] airavata git commit: fixed all compilation errors in the java client samples after the API changes.

Posted by sm...@apache.org.
fixed all compilation errors in the java client samples after the API changes.


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

Branch: refs/heads/master
Commit: 7be309d7ffbbcb012573ecb8a44ebb7db077950f
Parents: 283e700
Author: hasinitg <ha...@gmail.com>
Authored: Sun Jul 19 21:10:43 2015 +0530
Committer: hasinitg <ha...@gmail.com>
Committed: Sun Jul 19 21:10:43 2015 +0530

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |    62 +-
 .../java/org/apache/airavata/api/Airavata.java  | 29690 +++++++++++++++--
 .../main/resources/lib/airavata/Airavata.cpp    |  7910 ++++-
 .../src/main/resources/lib/airavata/Airavata.h  |  5259 ++-
 .../lib/airavata/Airavata_server.skeleton.cpp   |   289 +-
 .../resources/lib/Airavata/API/Airavata.php     |  7987 ++++-
 .../lib/apache/airavata/api/Airavata-remote     |   824 +-
 .../lib/apache/airavata/api/Airavata.py         |  6845 +++-
 .../client/samples/CancelExperiments.java       |     3 +-
 .../client/samples/CreateLaunchBES.java         |    27 +-
 .../client/samples/CreateLaunchExperiment.java  |   169 +-
 .../samples/CreateLaunchExperimentUS3.java      |    14 +-
 .../client/samples/RegisterSampleData.java      |    42 +-
 .../tools/RegisterOGCEUS3Application.java       |    24 +-
 .../tools/RegisterSampleApplications.java       |   129 +-
 .../client/tools/RegisterUS3Application.java    |    27 +-
 16 files changed, 50561 insertions(+), 8740 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index e2b35c3..600c694 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -415,7 +415,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public List<Project> getAllUserProjects(String gatewayId, String userName) throws InvalidRequestException,
             AiravataClientException, AiravataSystemException, TException {
-        return getAllUserProjectsWithPagination(gatewayId, userName, -1, -1);
+        return getAllUserProjectsWithPagination(new AuthzToken(""), gatewayId, userName, -1, -1);
     }
 
     /**
@@ -492,7 +492,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public List<Project> searchProjectsByProjectName(String gatewayId, String userName, String projectName)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        return searchProjectsByProjectNameWithPagination(gatewayId, userName, projectName, -1, -1);
+        return searchProjectsByProjectNameWithPagination(new AuthzToken(""), gatewayId, userName, projectName, -1, -1);
     }
 
     /**
@@ -571,7 +571,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                                                                                                  AiravataClientException,
                                                                                                  AiravataSystemException,
                                                                                                  TException {
-        return searchProjectsByProjectDescWithPagination(gatewayId, userName, description, -1, -1);
+        return searchProjectsByProjectDescWithPagination(new AuthzToken(""), gatewayId, userName, description, -1, -1);
     }
 
     /**
@@ -591,8 +591,8 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     @SecurityCheck
-    public List<Project> searchProjectsByProjectDescWithPagination(String gatewayId, String userName, String description,
-                                                                   int limit, int offset) throws InvalidRequestException,
+    public List<Project> searchProjectsByProjectDescWithPagination(AuthzToken authzToken, String gatewayId, String userName,
+                                                                   String description, int limit, int offset) throws InvalidRequestException,
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
@@ -651,7 +651,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public List<ExperimentSummaryModel> searchExperimentsByName(String gatewayId, String userName, String expName)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        return searchExperimentsByNameWithPagination(gatewayId, userName, expName, -1, -1);
+        return searchExperimentsByNameWithPagination(new AuthzToken(""), gatewayId, userName, expName, -1, -1);
     }
 
     /**
@@ -730,7 +730,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public List<ExperimentSummaryModel> searchExperimentsByDesc(String gatewayId, String userName, String description)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        return searchExperimentsByDescWithPagination(gatewayId, userName, description, -1, -1);
+        return searchExperimentsByDescWithPagination(new AuthzToken(""), gatewayId, userName, description, -1, -1);
     }
 
     /**
@@ -809,7 +809,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public List<ExperimentSummaryModel> searchExperimentsByApplication(String gatewayId, String userName, String applicationId)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        return searchExperimentsByApplicationWithPagination(gatewayId, userName, applicationId, -1, -1);
+        return searchExperimentsByApplicationWithPagination(new AuthzToken(""), gatewayId, userName, applicationId, -1, -1);
     }
 
     /**
@@ -888,7 +888,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Deprecated
     @Override
     public List<ExperimentSummaryModel> searchExperimentsByStatus(String gatewayId, String userName, ExperimentState experimentState) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        return searchExperimentsByStatusWithPagination(gatewayId, userName, experimentState, -1, -1);
+        return searchExperimentsByStatusWithPagination(new AuthzToken(""), gatewayId, userName, experimentState, -1, -1);
     }
 
     /**
@@ -969,7 +969,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Deprecated
     @Override
     public List<ExperimentSummaryModel> searchExperimentsByCreationTime(String gatewayId, String userName, long fromTime, long toTime) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        return searchExperimentsByCreationTimeWithPagination(gatewayId, userName, fromTime, toTime, -1, -1);
+        return searchExperimentsByCreationTimeWithPagination(new AuthzToken(""), gatewayId, userName, fromTime, toTime, -1, -1);
     }
 
     /**
@@ -991,7 +991,7 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     @SecurityCheck
-    public List<ExperimentSummaryModel> searchExperimentsByCreationTimeWithPagination(String gatewayId,
+    public List<ExperimentSummaryModel> searchExperimentsByCreationTimeWithPagination(AuthzToken authzToken, String gatewayId,
                                                                                       String userName, long fromTime,
                                                                                       long toTime, int limit, int offset)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
@@ -1164,7 +1164,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                                                                                 AiravataSystemException,
                                                                                 ProjectNotFoundException,
                                                                                 TException {
-        return getAllExperimentsInProjectWithPagination(projectId, -1, -1);
+        return getAllExperimentsInProjectWithPagination(new AuthzToken(""), projectId, -1, -1);
     }
 
     /**
@@ -1230,7 +1230,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Deprecated
     @Override
     public List<ExperimentModel> getAllUserExperiments(String gatewayId, String userName) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        return getAllUserExperimentsWithPagination(gatewayId, userName, -1, -1);
+        return getAllUserExperimentsWithPagination(new AuthzToken(""), gatewayId, userName, -1, -1);
     }
 
     /**
@@ -1376,6 +1376,12 @@ public class AiravataServerHandler implements Airavata.Iface {
     @SecurityCheck
     public ExperimentModel getExperiment(AuthzToken authzToken, String airavataExperimentId) throws InvalidRequestException,
             ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        return getExperimentInternal(airavataExperimentId);
+    }
+
+    /*This private method wraps the logic of getExperiment method as this method is called internally in the API.*/
+    private ExperimentModel getExperimentInternal(String airavataExperimentId) throws InvalidRequestException,
+            ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
@@ -1391,7 +1397,6 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
     }
 
-
     /**
      * Configure a previously created experiment with required inputs, scheduling and other quality of service
      * parameters. This method only updates the experiment object within the registry. The experiment has to be launched
@@ -1427,7 +1432,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error(airavataExperimentId, "Update request failed, Experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
-            ExperimentStatus experimentStatus = getExperimentStatus(airavataExperimentId);
+            ExperimentStatus experimentStatus = getExperimentStatusInternal(airavataExperimentId);
             if (experimentStatus != null){
                 ExperimentState experimentState = experimentStatus.getState();
                 switch (experimentState){
@@ -1466,7 +1471,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error(airavataExperimentId, "Update experiment configuration failed, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
-            ExperimentStatus experimentStatus = getExperimentStatus(airavataExperimentId);
+            ExperimentStatus experimentStatus = getExperimentStatusInternal(airavataExperimentId);
             if (experimentStatus != null){
                 ExperimentState experimentState = experimentStatus.getState();
                 switch (experimentState){
@@ -1508,7 +1513,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.info(airavataExperimentId, "Update resource scheduling failed, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
-            ExperimentStatus experimentStatus = getExperimentStatus(airavataExperimentId);
+            ExperimentStatus experimentStatus = getExperimentStatusInternal(airavataExperimentId);
             if (experimentStatus != null){
                 ExperimentState experimentState = experimentStatus.getState();
                 switch (experimentState){
@@ -1613,12 +1618,18 @@ public class AiravataServerHandler implements Airavata.Iface {
     @SecurityCheck
     public ExperimentStatus getExperimentStatus(AuthzToken authzToken, String airavataExperimentId) throws InvalidRequestException,
             ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        return getExperimentStatusInternal(airavataExperimentId);
+    }
+
+    /*Private method wraps the logic of getExperimentStatus method since this method is called internally.*/
+    private ExperimentStatus getExperimentStatusInternal(String airavataExperimentId) throws InvalidRequestException,
+            ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
                 logger.error(airavataExperimentId, "Error while retrieving experiment status, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId +
-                                                      " does not exist in the system..");
+                        " does not exist in the system..");
             }
             return (ExperimentStatus) experimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT_STATUS, airavataExperimentId);
         } catch (Exception e) {
@@ -1790,7 +1801,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Error while instantiate the registry instance. More info : " + e1.getMessage());
             throw exception;
         }
-    	ExperimentModel experiment = getExperiment(airavataExperimentId);
+    	ExperimentModel experiment = getExperimentInternal(airavataExperimentId);
     	OrchestratorService.Client orchestratorClient = getOrchestratorClient();
     	if (orchestratorClient.validateExperiment(airavataExperimentId)) {
     		orchestratorClient.launchExperiment(airavataExperimentId, airavataCredStoreToken);
@@ -1867,7 +1878,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             String gatewayId = (String) experimentCatalog.getValue(ExperimentCatalogModelType.EXPERIMENT, existingExperimentID, Constants.FieldConstants.ExperimentConstants.GATEWAY_ID);
             existingExperiment.setCreationTime(AiravataUtils.getCurrentTimestamp().getTime());
             if (existingExperiment.getExecutionId() != null){
-                List<OutputDataObjectType> applicationOutputs = getApplicationOutputs(existingExperiment.getExecutionId());
+                List<OutputDataObjectType> applicationOutputs = getApplicationOutputsInternal(existingExperiment.getExecutionId());
                 existingExperiment.setExperimentOutputs(applicationOutputs);
             }
             if (validateString(newExperiementName)){
@@ -1936,7 +1947,7 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     @SecurityCheck
-    public String registerApplicationModule(AuthzToken, String gatewayId, ApplicationModule applicationModule)
+    public String registerApplicationModule(AuthzToken authzToken, String gatewayId, ApplicationModule applicationModule)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
@@ -2262,7 +2273,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @SecurityCheck
     public boolean updateApplicationInterface(AuthzToken authzToken, String appInterfaceId,
                                               ApplicationInterfaceDescription applicationInterface) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, AuthorizationException. TException {
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationInterface().updateApplicationInterface(appInterfaceId, applicationInterface);
@@ -2392,6 +2403,12 @@ public class AiravataServerHandler implements Airavata.Iface {
     @SecurityCheck
     public List<OutputDataObjectType> getApplicationOutputs(AuthzToken authzToken, String appInterfaceId) throws InvalidRequestException,
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        return getApplicationOutputsInternal(appInterfaceId);
+    }
+
+    /*This private method wraps the logic of getApplicationOutputs method as this method is called internally in the API.*/
+    private List<OutputDataObjectType> getApplicationOutputsInternal(String appInterfaceId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getApplicationOutputs(appInterfaceId);
@@ -2403,7 +2420,6 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw exception;
         }
     }
-
     /**
      * Fetch a list of all deployed Compute Hosts for a given application interfaces.
      *


[13/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
new file mode 100644
index 0000000..95cd459
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
@@ -0,0 +1,287 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef application_io_models_TYPES_H
+#define application_io_models_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "compute_resource_model_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace application { namespace io {
+
+struct DataType {
+  enum type {
+    STRING = 0,
+    INTEGER = 1,
+    FLOAT = 2,
+    URI = 3,
+    STDOUT = 4,
+    STDERR = 5
+  };
+};
+
+extern const std::map<int, const char*> _DataType_VALUES_TO_NAMES;
+
+class InputDataObjectType;
+
+class OutputDataObjectType;
+
+typedef struct _InputDataObjectType__isset {
+  _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(false), userFriendlyDescription(false), metaData(false), inputOrder(false), isRequired(false), requiredToAddedToCommandLine(false), dataStaged(false) {}
+  bool value :1;
+  bool type :1;
+  bool applicationArgument :1;
+  bool standardInput :1;
+  bool userFriendlyDescription :1;
+  bool metaData :1;
+  bool inputOrder :1;
+  bool isRequired :1;
+  bool requiredToAddedToCommandLine :1;
+  bool dataStaged :1;
+} _InputDataObjectType__isset;
+
+class InputDataObjectType {
+ public:
+
+  static const char* ascii_fingerprint; // = "22DB8CAA7C1FBBFDD0CA6E19790BA799";
+  static const uint8_t binary_fingerprint[16]; // = {0x22,0xDB,0x8C,0xAA,0x7C,0x1F,0xBB,0xFD,0xD0,0xCA,0x6E,0x19,0x79,0x0B,0xA7,0x99};
+
+  InputDataObjectType(const InputDataObjectType&);
+  InputDataObjectType& operator=(const InputDataObjectType&);
+  InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(0), userFriendlyDescription(), metaData(), inputOrder(0), isRequired(0), requiredToAddedToCommandLine(0), dataStaged(0) {
+  }
+
+  virtual ~InputDataObjectType() throw();
+  std::string name;
+  std::string value;
+  DataType::type type;
+  std::string applicationArgument;
+  bool standardInput;
+  std::string userFriendlyDescription;
+  std::string metaData;
+  int32_t inputOrder;
+  bool isRequired;
+  bool requiredToAddedToCommandLine;
+  bool dataStaged;
+
+  _InputDataObjectType__isset __isset;
+
+  void __set_name(const std::string& val);
+
+  void __set_value(const std::string& val);
+
+  void __set_type(const DataType::type val);
+
+  void __set_applicationArgument(const std::string& val);
+
+  void __set_standardInput(const bool val);
+
+  void __set_userFriendlyDescription(const std::string& val);
+
+  void __set_metaData(const std::string& val);
+
+  void __set_inputOrder(const int32_t val);
+
+  void __set_isRequired(const bool val);
+
+  void __set_requiredToAddedToCommandLine(const bool val);
+
+  void __set_dataStaged(const bool val);
+
+  bool operator == (const InputDataObjectType & rhs) const
+  {
+    if (!(name == rhs.name))
+      return false;
+    if (__isset.value != rhs.__isset.value)
+      return false;
+    else if (__isset.value && !(value == rhs.value))
+      return false;
+    if (__isset.type != rhs.__isset.type)
+      return false;
+    else if (__isset.type && !(type == rhs.type))
+      return false;
+    if (__isset.applicationArgument != rhs.__isset.applicationArgument)
+      return false;
+    else if (__isset.applicationArgument && !(applicationArgument == rhs.applicationArgument))
+      return false;
+    if (__isset.standardInput != rhs.__isset.standardInput)
+      return false;
+    else if (__isset.standardInput && !(standardInput == rhs.standardInput))
+      return false;
+    if (__isset.userFriendlyDescription != rhs.__isset.userFriendlyDescription)
+      return false;
+    else if (__isset.userFriendlyDescription && !(userFriendlyDescription == rhs.userFriendlyDescription))
+      return false;
+    if (__isset.metaData != rhs.__isset.metaData)
+      return false;
+    else if (__isset.metaData && !(metaData == rhs.metaData))
+      return false;
+    if (__isset.inputOrder != rhs.__isset.inputOrder)
+      return false;
+    else if (__isset.inputOrder && !(inputOrder == rhs.inputOrder))
+      return false;
+    if (__isset.isRequired != rhs.__isset.isRequired)
+      return false;
+    else if (__isset.isRequired && !(isRequired == rhs.isRequired))
+      return false;
+    if (__isset.requiredToAddedToCommandLine != rhs.__isset.requiredToAddedToCommandLine)
+      return false;
+    else if (__isset.requiredToAddedToCommandLine && !(requiredToAddedToCommandLine == rhs.requiredToAddedToCommandLine))
+      return false;
+    if (__isset.dataStaged != rhs.__isset.dataStaged)
+      return false;
+    else if (__isset.dataStaged && !(dataStaged == rhs.dataStaged))
+      return false;
+    return true;
+  }
+  bool operator != (const InputDataObjectType &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const InputDataObjectType & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const InputDataObjectType& obj);
+};
+
+void swap(InputDataObjectType &a, InputDataObjectType &b);
+
+typedef struct _OutputDataObjectType__isset {
+  _OutputDataObjectType__isset() : value(false), type(false), applicationArgument(false), isRequired(false), requiredToAddedToCommandLine(false), dataMovement(false), location(false), searchQuery(false) {}
+  bool value :1;
+  bool type :1;
+  bool applicationArgument :1;
+  bool isRequired :1;
+  bool requiredToAddedToCommandLine :1;
+  bool dataMovement :1;
+  bool location :1;
+  bool searchQuery :1;
+} _OutputDataObjectType__isset;
+
+class OutputDataObjectType {
+ public:
+
+  static const char* ascii_fingerprint; // = "3259D81CA906AEEBC4D76ED47386A18B";
+  static const uint8_t binary_fingerprint[16]; // = {0x32,0x59,0xD8,0x1C,0xA9,0x06,0xAE,0xEB,0xC4,0xD7,0x6E,0xD4,0x73,0x86,0xA1,0x8B};
+
+  OutputDataObjectType(const OutputDataObjectType&);
+  OutputDataObjectType& operator=(const OutputDataObjectType&);
+  OutputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), isRequired(0), requiredToAddedToCommandLine(0), dataMovement(0), location(), searchQuery() {
+  }
+
+  virtual ~OutputDataObjectType() throw();
+  std::string name;
+  std::string value;
+  DataType::type type;
+  std::string applicationArgument;
+  bool isRequired;
+  bool requiredToAddedToCommandLine;
+  bool dataMovement;
+  std::string location;
+  std::string searchQuery;
+
+  _OutputDataObjectType__isset __isset;
+
+  void __set_name(const std::string& val);
+
+  void __set_value(const std::string& val);
+
+  void __set_type(const DataType::type val);
+
+  void __set_applicationArgument(const std::string& val);
+
+  void __set_isRequired(const bool val);
+
+  void __set_requiredToAddedToCommandLine(const bool val);
+
+  void __set_dataMovement(const bool val);
+
+  void __set_location(const std::string& val);
+
+  void __set_searchQuery(const std::string& val);
+
+  bool operator == (const OutputDataObjectType & rhs) const
+  {
+    if (!(name == rhs.name))
+      return false;
+    if (__isset.value != rhs.__isset.value)
+      return false;
+    else if (__isset.value && !(value == rhs.value))
+      return false;
+    if (__isset.type != rhs.__isset.type)
+      return false;
+    else if (__isset.type && !(type == rhs.type))
+      return false;
+    if (__isset.applicationArgument != rhs.__isset.applicationArgument)
+      return false;
+    else if (__isset.applicationArgument && !(applicationArgument == rhs.applicationArgument))
+      return false;
+    if (__isset.isRequired != rhs.__isset.isRequired)
+      return false;
+    else if (__isset.isRequired && !(isRequired == rhs.isRequired))
+      return false;
+    if (__isset.requiredToAddedToCommandLine != rhs.__isset.requiredToAddedToCommandLine)
+      return false;
+    else if (__isset.requiredToAddedToCommandLine && !(requiredToAddedToCommandLine == rhs.requiredToAddedToCommandLine))
+      return false;
+    if (__isset.dataMovement != rhs.__isset.dataMovement)
+      return false;
+    else if (__isset.dataMovement && !(dataMovement == rhs.dataMovement))
+      return false;
+    if (__isset.location != rhs.__isset.location)
+      return false;
+    else if (__isset.location && !(location == rhs.location))
+      return false;
+    if (__isset.searchQuery != rhs.__isset.searchQuery)
+      return false;
+    else if (__isset.searchQuery && !(searchQuery == rhs.searchQuery))
+      return false;
+    return true;
+  }
+  bool operator != (const OutputDataObjectType &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const OutputDataObjectType & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const OutputDataObjectType& obj);
+};
+
+void swap(OutputDataObjectType &a, OutputDataObjectType &b);
+
+}}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.cpp
new file mode 100644
index 0000000..ceed4f3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "compute_resource_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
+
+const compute_resource_modelConstants g_compute_resource_model_constants;
+
+compute_resource_modelConstants::compute_resource_modelConstants() {
+}
+
+}}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.h
new file mode 100644
index 0000000..5628fa1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef compute_resource_model_CONSTANTS_H
+#define compute_resource_model_CONSTANTS_H
+
+#include "compute_resource_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
+
+class compute_resource_modelConstants {
+ public:
+  compute_resource_modelConstants();
+
+};
+
+extern const compute_resource_modelConstants g_compute_resource_model_constants;
+
+}}}}} // namespace
+
+#endif


[02/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/constants.py
new file mode 100644
index 0000000..f9a2df5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/constants.py
@@ -0,0 +1,12 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+
+DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/ttypes.py
new file mode 100644
index 0000000..29fe575
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/commons/ttypes.py
@@ -0,0 +1,335 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+
+class ErrorModel:
+  """
+  Attributes:
+   - errorId
+   - creationTime
+   - actualErrorMessage
+   - userFriendlyMessage
+   - transientOrPersistent
+   - rootCauseErrorIdList
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'errorId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+    (2, TType.I64, 'creationTime', None, None, ), # 2
+    (3, TType.STRING, 'actualErrorMessage', None, None, ), # 3
+    (4, TType.STRING, 'userFriendlyMessage', None, None, ), # 4
+    (5, TType.BOOL, 'transientOrPersistent', None, False, ), # 5
+    (6, TType.LIST, 'rootCauseErrorIdList', (TType.STRING,None), None, ), # 6
+  )
+
+  def __init__(self, errorId=thrift_spec[1][4], creationTime=None, actualErrorMessage=None, userFriendlyMessage=None, transientOrPersistent=thrift_spec[5][4], rootCauseErrorIdList=None,):
+    self.errorId = errorId
+    self.creationTime = creationTime
+    self.actualErrorMessage = actualErrorMessage
+    self.userFriendlyMessage = userFriendlyMessage
+    self.transientOrPersistent = transientOrPersistent
+    self.rootCauseErrorIdList = rootCauseErrorIdList
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.errorId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.actualErrorMessage = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.userFriendlyMessage = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.BOOL:
+          self.transientOrPersistent = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.LIST:
+          self.rootCauseErrorIdList = []
+          (_etype3, _size0) = iprot.readListBegin()
+          for _i4 in xrange(_size0):
+            _elem5 = iprot.readString();
+            self.rootCauseErrorIdList.append(_elem5)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ErrorModel')
+    if self.errorId is not None:
+      oprot.writeFieldBegin('errorId', TType.STRING, 1)
+      oprot.writeString(self.errorId)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 2)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.actualErrorMessage is not None:
+      oprot.writeFieldBegin('actualErrorMessage', TType.STRING, 3)
+      oprot.writeString(self.actualErrorMessage)
+      oprot.writeFieldEnd()
+    if self.userFriendlyMessage is not None:
+      oprot.writeFieldBegin('userFriendlyMessage', TType.STRING, 4)
+      oprot.writeString(self.userFriendlyMessage)
+      oprot.writeFieldEnd()
+    if self.transientOrPersistent is not None:
+      oprot.writeFieldBegin('transientOrPersistent', TType.BOOL, 5)
+      oprot.writeBool(self.transientOrPersistent)
+      oprot.writeFieldEnd()
+    if self.rootCauseErrorIdList is not None:
+      oprot.writeFieldBegin('rootCauseErrorIdList', TType.LIST, 6)
+      oprot.writeListBegin(TType.STRING, len(self.rootCauseErrorIdList))
+      for iter6 in self.rootCauseErrorIdList:
+        oprot.writeString(iter6)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.errorId is None:
+      raise TProtocol.TProtocolException(message='Required field errorId is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.errorId)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.actualErrorMessage)
+    value = (value * 31) ^ hash(self.userFriendlyMessage)
+    value = (value * 31) ^ hash(self.transientOrPersistent)
+    value = (value * 31) ^ hash(self.rootCauseErrorIdList)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class ValidatorResult:
+  """
+  This data structure can be used to store the validation results
+  captured during validation step and during the launchExperiment
+  operation it can be easilly checked to see the errors occured
+  during the experiment launch operation
+
+
+  Attributes:
+   - result
+   - errorDetails
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.BOOL, 'result', None, None, ), # 1
+    (2, TType.STRING, 'errorDetails', None, None, ), # 2
+  )
+
+  def __init__(self, result=None, errorDetails=None,):
+    self.result = result
+    self.errorDetails = errorDetails
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.BOOL:
+          self.result = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.errorDetails = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ValidatorResult')
+    if self.result is not None:
+      oprot.writeFieldBegin('result', TType.BOOL, 1)
+      oprot.writeBool(self.result)
+      oprot.writeFieldEnd()
+    if self.errorDetails is not None:
+      oprot.writeFieldBegin('errorDetails', TType.STRING, 2)
+      oprot.writeString(self.errorDetails)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.result is None:
+      raise TProtocol.TProtocolException(message='Required field result is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.result)
+    value = (value * 31) ^ hash(self.errorDetails)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class ValidationResults:
+  """
+  Attributes:
+   - validationState
+   - validationResultList
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.BOOL, 'validationState', None, None, ), # 1
+    (2, TType.LIST, 'validationResultList', (TType.STRUCT,(ValidatorResult, ValidatorResult.thrift_spec)), None, ), # 2
+  )
+
+  def __init__(self, validationState=None, validationResultList=None,):
+    self.validationState = validationState
+    self.validationResultList = validationResultList
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.BOOL:
+          self.validationState = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.LIST:
+          self.validationResultList = []
+          (_etype10, _size7) = iprot.readListBegin()
+          for _i11 in xrange(_size7):
+            _elem12 = ValidatorResult()
+            _elem12.read(iprot)
+            self.validationResultList.append(_elem12)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ValidationResults')
+    if self.validationState is not None:
+      oprot.writeFieldBegin('validationState', TType.BOOL, 1)
+      oprot.writeBool(self.validationState)
+      oprot.writeFieldEnd()
+    if self.validationResultList is not None:
+      oprot.writeFieldBegin('validationResultList', TType.LIST, 2)
+      oprot.writeListBegin(TType.STRUCT, len(self.validationResultList))
+      for iter13 in self.validationResultList:
+        iter13.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.validationState is None:
+      raise TProtocol.TProtocolException(message='Required field validationState is unset!')
+    if self.validationResultList is None:
+      raise TProtocol.TProtocolException(message='Required field validationResultList is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.validationState)
+    value = (value * 31) ^ hash(self.validationResultList)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/constants.py
new file mode 100644
index 0000000..99717a9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
new file mode 100644
index 0000000..15b7342
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
@@ -0,0 +1,944 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.application.io.ttypes
+import apache.airavata.model.scheduling.ttypes
+import apache.airavata.model.commons.ttypes
+import apache.airavata.model.status.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class ExperimentType:
+  SINGLE_APPLICATION = 0
+  WORKFLOW = 1
+
+  _VALUES_TO_NAMES = {
+    0: "SINGLE_APPLICATION",
+    1: "WORKFLOW",
+  }
+
+  _NAMES_TO_VALUES = {
+    "SINGLE_APPLICATION": 0,
+    "WORKFLOW": 1,
+  }
+
+class ExperimentSearchFields:
+  EXPERIMENT_NAME = 0
+  EXPERIMENT_DESC = 1
+  APPLICATION_ID = 2
+  FROM_DATE = 3
+  TO_DATE = 4
+  STATUS = 5
+
+  _VALUES_TO_NAMES = {
+    0: "EXPERIMENT_NAME",
+    1: "EXPERIMENT_DESC",
+    2: "APPLICATION_ID",
+    3: "FROM_DATE",
+    4: "TO_DATE",
+    5: "STATUS",
+  }
+
+  _NAMES_TO_VALUES = {
+    "EXPERIMENT_NAME": 0,
+    "EXPERIMENT_DESC": 1,
+    "APPLICATION_ID": 2,
+    "FROM_DATE": 3,
+    "TO_DATE": 4,
+    "STATUS": 5,
+  }
+
+
+class UserConfigurationDataModel:
+  """
+  A structure holding the experiment configuration.
+
+
+
+  Attributes:
+   - airavataAutoSchedule
+   - overrideManualScheduledParams
+   - shareExperimentPublicly
+   - computationalResourceScheduling
+   - throttleResources
+   - userDN
+   - generateCert
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.BOOL, 'airavataAutoSchedule', None, False, ), # 1
+    (2, TType.BOOL, 'overrideManualScheduledParams', None, False, ), # 2
+    (3, TType.BOOL, 'shareExperimentPublicly', None, False, ), # 3
+    (4, TType.STRUCT, 'computationalResourceScheduling', (apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel.thrift_spec), None, ), # 4
+    (5, TType.BOOL, 'throttleResources', None, False, ), # 5
+    (6, TType.STRING, 'userDN', None, None, ), # 6
+    (7, TType.BOOL, 'generateCert', None, False, ), # 7
+  )
+
+  def __init__(self, airavataAutoSchedule=thrift_spec[1][4], overrideManualScheduledParams=thrift_spec[2][4], shareExperimentPublicly=thrift_spec[3][4], computationalResourceScheduling=None, throttleResources=thrift_spec[5][4], userDN=None, generateCert=thrift_spec[7][4],):
+    self.airavataAutoSchedule = airavataAutoSchedule
+    self.overrideManualScheduledParams = overrideManualScheduledParams
+    self.shareExperimentPublicly = shareExperimentPublicly
+    self.computationalResourceScheduling = computationalResourceScheduling
+    self.throttleResources = throttleResources
+    self.userDN = userDN
+    self.generateCert = generateCert
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.BOOL:
+          self.airavataAutoSchedule = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.BOOL:
+          self.overrideManualScheduledParams = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.BOOL:
+          self.shareExperimentPublicly = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.computationalResourceScheduling = apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel()
+          self.computationalResourceScheduling.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.BOOL:
+          self.throttleResources = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.userDN = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.BOOL:
+          self.generateCert = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('UserConfigurationDataModel')
+    if self.airavataAutoSchedule is not None:
+      oprot.writeFieldBegin('airavataAutoSchedule', TType.BOOL, 1)
+      oprot.writeBool(self.airavataAutoSchedule)
+      oprot.writeFieldEnd()
+    if self.overrideManualScheduledParams is not None:
+      oprot.writeFieldBegin('overrideManualScheduledParams', TType.BOOL, 2)
+      oprot.writeBool(self.overrideManualScheduledParams)
+      oprot.writeFieldEnd()
+    if self.shareExperimentPublicly is not None:
+      oprot.writeFieldBegin('shareExperimentPublicly', TType.BOOL, 3)
+      oprot.writeBool(self.shareExperimentPublicly)
+      oprot.writeFieldEnd()
+    if self.computationalResourceScheduling is not None:
+      oprot.writeFieldBegin('computationalResourceScheduling', TType.STRUCT, 4)
+      self.computationalResourceScheduling.write(oprot)
+      oprot.writeFieldEnd()
+    if self.throttleResources is not None:
+      oprot.writeFieldBegin('throttleResources', TType.BOOL, 5)
+      oprot.writeBool(self.throttleResources)
+      oprot.writeFieldEnd()
+    if self.userDN is not None:
+      oprot.writeFieldBegin('userDN', TType.STRING, 6)
+      oprot.writeString(self.userDN)
+      oprot.writeFieldEnd()
+    if self.generateCert is not None:
+      oprot.writeFieldBegin('generateCert', TType.BOOL, 7)
+      oprot.writeBool(self.generateCert)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.airavataAutoSchedule is None:
+      raise TProtocol.TProtocolException(message='Required field airavataAutoSchedule is unset!')
+    if self.overrideManualScheduledParams is None:
+      raise TProtocol.TProtocolException(message='Required field overrideManualScheduledParams is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.airavataAutoSchedule)
+    value = (value * 31) ^ hash(self.overrideManualScheduledParams)
+    value = (value * 31) ^ hash(self.shareExperimentPublicly)
+    value = (value * 31) ^ hash(self.computationalResourceScheduling)
+    value = (value * 31) ^ hash(self.throttleResources)
+    value = (value * 31) ^ hash(self.userDN)
+    value = (value * 31) ^ hash(self.generateCert)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class ExperimentModel:
+  """
+  A structure holding the experiment metadata and its child models.
+
+  userName:
+    The user name of the targeted gateway end user on whose behalf the experiment is being created.
+      the associated gateway identity can only be inferred from the security hand-shake so as to avoid
+      authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
+      Airavata, an authorization exception is thrown.
+
+  experimentName:
+    The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
+       by the generated experiment id.
+
+  experimentDescription:
+     The verbose description of the experiment. This is an optional parameter.
+
+  Attributes:
+   - experimentId
+   - projectId
+   - gatewayId
+   - experimentType
+   - userName
+   - experimentName
+   - creationTime
+   - description
+   - executionId
+   - gatewayExecutionId
+   - enableEmailNotification
+   - emailAddresses
+   - userConfigurationData
+   - experimentInputs
+   - experimentOutputs
+   - experimentStatus
+   - errors
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'experimentId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+    (2, TType.STRING, 'projectId', None, None, ), # 2
+    (3, TType.STRING, 'gatewayId', None, None, ), # 3
+    (4, TType.I32, 'experimentType', None,     0, ), # 4
+    (5, TType.STRING, 'userName', None, None, ), # 5
+    (6, TType.STRING, 'experimentName', None, None, ), # 6
+    (7, TType.I64, 'creationTime', None, None, ), # 7
+    (8, TType.STRING, 'description', None, None, ), # 8
+    (9, TType.STRING, 'executionId', None, None, ), # 9
+    (10, TType.STRING, 'gatewayExecutionId', None, None, ), # 10
+    (11, TType.BOOL, 'enableEmailNotification', None, None, ), # 11
+    (12, TType.LIST, 'emailAddresses', (TType.STRING,None), None, ), # 12
+    (13, TType.STRUCT, 'userConfigurationData', (UserConfigurationDataModel, UserConfigurationDataModel.thrift_spec), None, ), # 13
+    (14, TType.LIST, 'experimentInputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.InputDataObjectType, apache.airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec)), None, ), # 14
+    (15, TType.LIST, 'experimentOutputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.OutputDataObjectType, apache.airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec)), None, ), # 15
+    (16, TType.STRUCT, 'experimentStatus', (apache.airavata.model.status.ttypes.ExperimentStatus, apache.airavata.model.status.ttypes.ExperimentStatus.thrift_spec), None, ), # 16
+    (17, TType.LIST, 'errors', (TType.STRUCT,(apache.airavata.model.commons.ttypes.ErrorModel, apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec)), None, ), # 17
+  )
+
+  def __init__(self, experimentId=thrift_spec[1][4], projectId=None, gatewayId=None, experimentType=thrift_spec[4][4], userName=None, experimentName=None, creationTime=None, description=None, executionId=None, gatewayExecutionId=None, enableEmailNotification=None, emailAddresses=None, userConfigurationData=None, experimentInputs=None, experimentOutputs=None, experimentStatus=None, errors=None,):
+    self.experimentId = experimentId
+    self.projectId = projectId
+    self.gatewayId = gatewayId
+    self.experimentType = experimentType
+    self.userName = userName
+    self.experimentName = experimentName
+    self.creationTime = creationTime
+    self.description = description
+    self.executionId = executionId
+    self.gatewayExecutionId = gatewayExecutionId
+    self.enableEmailNotification = enableEmailNotification
+    self.emailAddresses = emailAddresses
+    self.userConfigurationData = userConfigurationData
+    self.experimentInputs = experimentInputs
+    self.experimentOutputs = experimentOutputs
+    self.experimentStatus = experimentStatus
+    self.errors = errors
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.experimentId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.projectId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.gatewayId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I32:
+          self.experimentType = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.userName = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.experimentName = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.description = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRING:
+          self.executionId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.STRING:
+          self.gatewayExecutionId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.BOOL:
+          self.enableEmailNotification = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.LIST:
+          self.emailAddresses = []
+          (_etype3, _size0) = iprot.readListBegin()
+          for _i4 in xrange(_size0):
+            _elem5 = iprot.readString();
+            self.emailAddresses.append(_elem5)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
+        if ftype == TType.STRUCT:
+          self.userConfigurationData = UserConfigurationDataModel()
+          self.userConfigurationData.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 14:
+        if ftype == TType.LIST:
+          self.experimentInputs = []
+          (_etype9, _size6) = iprot.readListBegin()
+          for _i10 in xrange(_size6):
+            _elem11 = apache.airavata.model.application.io.ttypes.InputDataObjectType()
+            _elem11.read(iprot)
+            self.experimentInputs.append(_elem11)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 15:
+        if ftype == TType.LIST:
+          self.experimentOutputs = []
+          (_etype15, _size12) = iprot.readListBegin()
+          for _i16 in xrange(_size12):
+            _elem17 = apache.airavata.model.application.io.ttypes.OutputDataObjectType()
+            _elem17.read(iprot)
+            self.experimentOutputs.append(_elem17)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 16:
+        if ftype == TType.STRUCT:
+          self.experimentStatus = apache.airavata.model.status.ttypes.ExperimentStatus()
+          self.experimentStatus.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 17:
+        if ftype == TType.LIST:
+          self.errors = []
+          (_etype21, _size18) = iprot.readListBegin()
+          for _i22 in xrange(_size18):
+            _elem23 = apache.airavata.model.commons.ttypes.ErrorModel()
+            _elem23.read(iprot)
+            self.errors.append(_elem23)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ExperimentModel')
+    if self.experimentId is not None:
+      oprot.writeFieldBegin('experimentId', TType.STRING, 1)
+      oprot.writeString(self.experimentId)
+      oprot.writeFieldEnd()
+    if self.projectId is not None:
+      oprot.writeFieldBegin('projectId', TType.STRING, 2)
+      oprot.writeString(self.projectId)
+      oprot.writeFieldEnd()
+    if self.gatewayId is not None:
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 3)
+      oprot.writeString(self.gatewayId)
+      oprot.writeFieldEnd()
+    if self.experimentType is not None:
+      oprot.writeFieldBegin('experimentType', TType.I32, 4)
+      oprot.writeI32(self.experimentType)
+      oprot.writeFieldEnd()
+    if self.userName is not None:
+      oprot.writeFieldBegin('userName', TType.STRING, 5)
+      oprot.writeString(self.userName)
+      oprot.writeFieldEnd()
+    if self.experimentName is not None:
+      oprot.writeFieldBegin('experimentName', TType.STRING, 6)
+      oprot.writeString(self.experimentName)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 7)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.description is not None:
+      oprot.writeFieldBegin('description', TType.STRING, 8)
+      oprot.writeString(self.description)
+      oprot.writeFieldEnd()
+    if self.executionId is not None:
+      oprot.writeFieldBegin('executionId', TType.STRING, 9)
+      oprot.writeString(self.executionId)
+      oprot.writeFieldEnd()
+    if self.gatewayExecutionId is not None:
+      oprot.writeFieldBegin('gatewayExecutionId', TType.STRING, 10)
+      oprot.writeString(self.gatewayExecutionId)
+      oprot.writeFieldEnd()
+    if self.enableEmailNotification is not None:
+      oprot.writeFieldBegin('enableEmailNotification', TType.BOOL, 11)
+      oprot.writeBool(self.enableEmailNotification)
+      oprot.writeFieldEnd()
+    if self.emailAddresses is not None:
+      oprot.writeFieldBegin('emailAddresses', TType.LIST, 12)
+      oprot.writeListBegin(TType.STRING, len(self.emailAddresses))
+      for iter24 in self.emailAddresses:
+        oprot.writeString(iter24)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.userConfigurationData is not None:
+      oprot.writeFieldBegin('userConfigurationData', TType.STRUCT, 13)
+      self.userConfigurationData.write(oprot)
+      oprot.writeFieldEnd()
+    if self.experimentInputs is not None:
+      oprot.writeFieldBegin('experimentInputs', TType.LIST, 14)
+      oprot.writeListBegin(TType.STRUCT, len(self.experimentInputs))
+      for iter25 in self.experimentInputs:
+        iter25.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.experimentOutputs is not None:
+      oprot.writeFieldBegin('experimentOutputs', TType.LIST, 15)
+      oprot.writeListBegin(TType.STRUCT, len(self.experimentOutputs))
+      for iter26 in self.experimentOutputs:
+        iter26.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.experimentStatus is not None:
+      oprot.writeFieldBegin('experimentStatus', TType.STRUCT, 16)
+      self.experimentStatus.write(oprot)
+      oprot.writeFieldEnd()
+    if self.errors is not None:
+      oprot.writeFieldBegin('errors', TType.LIST, 17)
+      oprot.writeListBegin(TType.STRUCT, len(self.errors))
+      for iter27 in self.errors:
+        iter27.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.experimentId is None:
+      raise TProtocol.TProtocolException(message='Required field experimentId is unset!')
+    if self.projectId is None:
+      raise TProtocol.TProtocolException(message='Required field projectId is unset!')
+    if self.gatewayId is None:
+      raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
+    if self.experimentType is None:
+      raise TProtocol.TProtocolException(message='Required field experimentType is unset!')
+    if self.userName is None:
+      raise TProtocol.TProtocolException(message='Required field userName is unset!')
+    if self.experimentName is None:
+      raise TProtocol.TProtocolException(message='Required field experimentName is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.experimentId)
+    value = (value * 31) ^ hash(self.projectId)
+    value = (value * 31) ^ hash(self.gatewayId)
+    value = (value * 31) ^ hash(self.experimentType)
+    value = (value * 31) ^ hash(self.userName)
+    value = (value * 31) ^ hash(self.experimentName)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.description)
+    value = (value * 31) ^ hash(self.executionId)
+    value = (value * 31) ^ hash(self.gatewayExecutionId)
+    value = (value * 31) ^ hash(self.enableEmailNotification)
+    value = (value * 31) ^ hash(self.emailAddresses)
+    value = (value * 31) ^ hash(self.userConfigurationData)
+    value = (value * 31) ^ hash(self.experimentInputs)
+    value = (value * 31) ^ hash(self.experimentOutputs)
+    value = (value * 31) ^ hash(self.experimentStatus)
+    value = (value * 31) ^ hash(self.errors)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class ExperimentSummaryModel:
+  """
+  Attributes:
+   - experimentId
+   - projectId
+   - gatewayId
+   - creationTime
+   - userName
+   - name
+   - description
+   - executionId
+   - experimentStatus
+   - statusUpdateTime
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'experimentId', None, None, ), # 1
+    (2, TType.STRING, 'projectId', None, None, ), # 2
+    (3, TType.STRING, 'gatewayId', None, None, ), # 3
+    (4, TType.I64, 'creationTime', None, None, ), # 4
+    (5, TType.STRING, 'userName', None, None, ), # 5
+    (6, TType.STRING, 'name', None, None, ), # 6
+    (7, TType.STRING, 'description', None, None, ), # 7
+    (8, TType.STRING, 'executionId', None, None, ), # 8
+    (9, TType.STRING, 'experimentStatus', None, None, ), # 9
+    (10, TType.I64, 'statusUpdateTime', None, None, ), # 10
+  )
+
+  def __init__(self, experimentId=None, projectId=None, gatewayId=None, creationTime=None, userName=None, name=None, description=None, executionId=None, experimentStatus=None, statusUpdateTime=None,):
+    self.experimentId = experimentId
+    self.projectId = projectId
+    self.gatewayId = gatewayId
+    self.creationTime = creationTime
+    self.userName = userName
+    self.name = name
+    self.description = description
+    self.executionId = executionId
+    self.experimentStatus = experimentStatus
+    self.statusUpdateTime = statusUpdateTime
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.experimentId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.projectId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.gatewayId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.userName = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRING:
+          self.description = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.executionId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRING:
+          self.experimentStatus = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.I64:
+          self.statusUpdateTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ExperimentSummaryModel')
+    if self.experimentId is not None:
+      oprot.writeFieldBegin('experimentId', TType.STRING, 1)
+      oprot.writeString(self.experimentId)
+      oprot.writeFieldEnd()
+    if self.projectId is not None:
+      oprot.writeFieldBegin('projectId', TType.STRING, 2)
+      oprot.writeString(self.projectId)
+      oprot.writeFieldEnd()
+    if self.gatewayId is not None:
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 3)
+      oprot.writeString(self.gatewayId)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 4)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.userName is not None:
+      oprot.writeFieldBegin('userName', TType.STRING, 5)
+      oprot.writeString(self.userName)
+      oprot.writeFieldEnd()
+    if self.name is not None:
+      oprot.writeFieldBegin('name', TType.STRING, 6)
+      oprot.writeString(self.name)
+      oprot.writeFieldEnd()
+    if self.description is not None:
+      oprot.writeFieldBegin('description', TType.STRING, 7)
+      oprot.writeString(self.description)
+      oprot.writeFieldEnd()
+    if self.executionId is not None:
+      oprot.writeFieldBegin('executionId', TType.STRING, 8)
+      oprot.writeString(self.executionId)
+      oprot.writeFieldEnd()
+    if self.experimentStatus is not None:
+      oprot.writeFieldBegin('experimentStatus', TType.STRING, 9)
+      oprot.writeString(self.experimentStatus)
+      oprot.writeFieldEnd()
+    if self.statusUpdateTime is not None:
+      oprot.writeFieldBegin('statusUpdateTime', TType.I64, 10)
+      oprot.writeI64(self.statusUpdateTime)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.experimentId is None:
+      raise TProtocol.TProtocolException(message='Required field experimentId is unset!')
+    if self.projectId is None:
+      raise TProtocol.TProtocolException(message='Required field projectId is unset!')
+    if self.gatewayId is None:
+      raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
+    if self.userName is None:
+      raise TProtocol.TProtocolException(message='Required field userName is unset!')
+    if self.name is None:
+      raise TProtocol.TProtocolException(message='Required field name is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.experimentId)
+    value = (value * 31) ^ hash(self.projectId)
+    value = (value * 31) ^ hash(self.gatewayId)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.userName)
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.description)
+    value = (value * 31) ^ hash(self.executionId)
+    value = (value * 31) ^ hash(self.experimentStatus)
+    value = (value * 31) ^ hash(self.statusUpdateTime)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class ExperimentStatistics:
+  """
+  Attributes:
+   - allExperimentCount
+   - completedExperimentCount
+   - cancelledExperimentCount
+   - failedExperimentCount
+   - allExperiments
+   - completedExperiments
+   - failedExperiments
+   - cancelledExperiments
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'allExperimentCount', None, None, ), # 1
+    (2, TType.I32, 'completedExperimentCount', None, None, ), # 2
+    (3, TType.I32, 'cancelledExperimentCount', None, None, ), # 3
+    (4, TType.I32, 'failedExperimentCount', None, None, ), # 4
+    (5, TType.LIST, 'allExperiments', (TType.STRUCT,(ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec)), None, ), # 5
+    (6, TType.LIST, 'completedExperiments', (TType.STRUCT,(ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec)), None, ), # 6
+    (7, TType.LIST, 'failedExperiments', (TType.STRUCT,(ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec)), None, ), # 7
+    (8, TType.LIST, 'cancelledExperiments', (TType.STRUCT,(ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec)), None, ), # 8
+  )
+
+  def __init__(self, allExperimentCount=None, completedExperimentCount=None, cancelledExperimentCount=None, failedExperimentCount=None, allExperiments=None, completedExperiments=None, failedExperiments=None, cancelledExperiments=None,):
+    self.allExperimentCount = allExperimentCount
+    self.completedExperimentCount = completedExperimentCount
+    self.cancelledExperimentCount = cancelledExperimentCount
+    self.failedExperimentCount = failedExperimentCount
+    self.allExperiments = allExperiments
+    self.completedExperiments = completedExperiments
+    self.failedExperiments = failedExperiments
+    self.cancelledExperiments = cancelledExperiments
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.allExperimentCount = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.completedExperimentCount = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.I32:
+          self.cancelledExperimentCount = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I32:
+          self.failedExperimentCount = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.LIST:
+          self.allExperiments = []
+          (_etype31, _size28) = iprot.readListBegin()
+          for _i32 in xrange(_size28):
+            _elem33 = ExperimentSummaryModel()
+            _elem33.read(iprot)
+            self.allExperiments.append(_elem33)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.LIST:
+          self.completedExperiments = []
+          (_etype37, _size34) = iprot.readListBegin()
+          for _i38 in xrange(_size34):
+            _elem39 = ExperimentSummaryModel()
+            _elem39.read(iprot)
+            self.completedExperiments.append(_elem39)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.LIST:
+          self.failedExperiments = []
+          (_etype43, _size40) = iprot.readListBegin()
+          for _i44 in xrange(_size40):
+            _elem45 = ExperimentSummaryModel()
+            _elem45.read(iprot)
+            self.failedExperiments.append(_elem45)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.LIST:
+          self.cancelledExperiments = []
+          (_etype49, _size46) = iprot.readListBegin()
+          for _i50 in xrange(_size46):
+            _elem51 = ExperimentSummaryModel()
+            _elem51.read(iprot)
+            self.cancelledExperiments.append(_elem51)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ExperimentStatistics')
+    if self.allExperimentCount is not None:
+      oprot.writeFieldBegin('allExperimentCount', TType.I32, 1)
+      oprot.writeI32(self.allExperimentCount)
+      oprot.writeFieldEnd()
+    if self.completedExperimentCount is not None:
+      oprot.writeFieldBegin('completedExperimentCount', TType.I32, 2)
+      oprot.writeI32(self.completedExperimentCount)
+      oprot.writeFieldEnd()
+    if self.cancelledExperimentCount is not None:
+      oprot.writeFieldBegin('cancelledExperimentCount', TType.I32, 3)
+      oprot.writeI32(self.cancelledExperimentCount)
+      oprot.writeFieldEnd()
+    if self.failedExperimentCount is not None:
+      oprot.writeFieldBegin('failedExperimentCount', TType.I32, 4)
+      oprot.writeI32(self.failedExperimentCount)
+      oprot.writeFieldEnd()
+    if self.allExperiments is not None:
+      oprot.writeFieldBegin('allExperiments', TType.LIST, 5)
+      oprot.writeListBegin(TType.STRUCT, len(self.allExperiments))
+      for iter52 in self.allExperiments:
+        iter52.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.completedExperiments is not None:
+      oprot.writeFieldBegin('completedExperiments', TType.LIST, 6)
+      oprot.writeListBegin(TType.STRUCT, len(self.completedExperiments))
+      for iter53 in self.completedExperiments:
+        iter53.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.failedExperiments is not None:
+      oprot.writeFieldBegin('failedExperiments', TType.LIST, 7)
+      oprot.writeListBegin(TType.STRUCT, len(self.failedExperiments))
+      for iter54 in self.failedExperiments:
+        iter54.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.cancelledExperiments is not None:
+      oprot.writeFieldBegin('cancelledExperiments', TType.LIST, 8)
+      oprot.writeListBegin(TType.STRUCT, len(self.cancelledExperiments))
+      for iter55 in self.cancelledExperiments:
+        iter55.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.allExperimentCount is None:
+      raise TProtocol.TProtocolException(message='Required field allExperimentCount is unset!')
+    if self.completedExperimentCount is None:
+      raise TProtocol.TProtocolException(message='Required field completedExperimentCount is unset!')
+    if self.failedExperimentCount is None:
+      raise TProtocol.TProtocolException(message='Required field failedExperimentCount is unset!')
+    if self.allExperiments is None:
+      raise TProtocol.TProtocolException(message='Required field allExperiments is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.allExperimentCount)
+    value = (value * 31) ^ hash(self.completedExperimentCount)
+    value = (value * 31) ^ hash(self.cancelledExperimentCount)
+    value = (value * 31) ^ hash(self.failedExperimentCount)
+    value = (value * 31) ^ hash(self.allExperiments)
+    value = (value * 31) ^ hash(self.completedExperiments)
+    value = (value * 31) ^ hash(self.failedExperiments)
+    value = (value * 31) ^ hash(self.cancelledExperiments)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/constants.py
new file mode 100644
index 0000000..99717a9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/ttypes.py
new file mode 100644
index 0000000..cdf406b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/job/ttypes.py
@@ -0,0 +1,183 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.status.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+
+class JobModel:
+  """
+  Attributes:
+   - jobId
+   - taskId
+   - jobDescription
+   - creationTime
+   - jobStatus
+   - computeResourceConsumed
+   - jobName
+   - workingDir
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'jobId', None, None, ), # 1
+    (2, TType.STRING, 'taskId', None, None, ), # 2
+    (3, TType.STRING, 'jobDescription', None, None, ), # 3
+    (4, TType.I64, 'creationTime', None, None, ), # 4
+    (5, TType.STRUCT, 'jobStatus', (apache.airavata.model.status.ttypes.JobStatus, apache.airavata.model.status.ttypes.JobStatus.thrift_spec), None, ), # 5
+    (6, TType.STRING, 'computeResourceConsumed', None, None, ), # 6
+    (7, TType.STRING, 'jobName', None, None, ), # 7
+    (8, TType.STRING, 'workingDir', None, None, ), # 8
+  )
+
+  def __init__(self, jobId=None, taskId=None, jobDescription=None, creationTime=None, jobStatus=None, computeResourceConsumed=None, jobName=None, workingDir=None,):
+    self.jobId = jobId
+    self.taskId = taskId
+    self.jobDescription = jobDescription
+    self.creationTime = creationTime
+    self.jobStatus = jobStatus
+    self.computeResourceConsumed = computeResourceConsumed
+    self.jobName = jobName
+    self.workingDir = workingDir
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.jobId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.taskId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.jobDescription = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRUCT:
+          self.jobStatus = apache.airavata.model.status.ttypes.JobStatus()
+          self.jobStatus.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.computeResourceConsumed = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRING:
+          self.jobName = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.workingDir = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('JobModel')
+    if self.jobId is not None:
+      oprot.writeFieldBegin('jobId', TType.STRING, 1)
+      oprot.writeString(self.jobId)
+      oprot.writeFieldEnd()
+    if self.taskId is not None:
+      oprot.writeFieldBegin('taskId', TType.STRING, 2)
+      oprot.writeString(self.taskId)
+      oprot.writeFieldEnd()
+    if self.jobDescription is not None:
+      oprot.writeFieldBegin('jobDescription', TType.STRING, 3)
+      oprot.writeString(self.jobDescription)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 4)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.jobStatus is not None:
+      oprot.writeFieldBegin('jobStatus', TType.STRUCT, 5)
+      self.jobStatus.write(oprot)
+      oprot.writeFieldEnd()
+    if self.computeResourceConsumed is not None:
+      oprot.writeFieldBegin('computeResourceConsumed', TType.STRING, 6)
+      oprot.writeString(self.computeResourceConsumed)
+      oprot.writeFieldEnd()
+    if self.jobName is not None:
+      oprot.writeFieldBegin('jobName', TType.STRING, 7)
+      oprot.writeString(self.jobName)
+      oprot.writeFieldEnd()
+    if self.workingDir is not None:
+      oprot.writeFieldBegin('workingDir', TType.STRING, 8)
+      oprot.writeString(self.workingDir)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.jobId is None:
+      raise TProtocol.TProtocolException(message='Required field jobId is unset!')
+    if self.taskId is None:
+      raise TProtocol.TProtocolException(message='Required field taskId is unset!')
+    if self.jobDescription is None:
+      raise TProtocol.TProtocolException(message='Required field jobDescription is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.jobId)
+    value = (value * 31) ^ hash(self.taskId)
+    value = (value * 31) ^ hash(self.jobDescription)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.jobStatus)
+    value = (value * 31) ^ hash(self.computeResourceConsumed)
+    value = (value * 31) ^ hash(self.jobName)
+    value = (value * 31) ^ hash(self.workingDir)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/constants.py
index f9a2df5..99717a9 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/constants.py
@@ -9,4 +9,3 @@
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
 from ttypes import *
 
-DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/ttypes.py
index 94b2d30..24fbc4b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/messaging/event/ttypes.py
@@ -9,6 +9,7 @@
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
 import apache.airavata.model.status.ttypes
 import apache.airavata.model.application.io.ttypes
+import apache.airavata.model.commons.ttypes
 
 
 from thrift.transport import TTransport

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/constants.py
new file mode 100644
index 0000000..99717a9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/ttypes.py
new file mode 100644
index 0000000..10104e4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/ttypes.py
@@ -0,0 +1,360 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.commons.ttypes
+import apache.airavata.model.status.ttypes
+import apache.airavata.model.task.ttypes
+import apache.airavata.model.application.io.ttypes
+import apache.airavata.model.scheduling.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+
+class ProcessModel:
+  """
+  ProcessModel: A structure holding the process details. The infromation is derived based on user provided
+           configuration data or system inferred information from scheduling and QoS parameters.
+
+  processDetail:
+    A friendly description of the process, usally used to communicate information to users.
+
+
+
+  Attributes:
+   - processId
+   - experimentId
+   - creationTime
+   - lastUpdateTime
+   - processStatus
+   - processDetail
+   - applicationInterfaceId
+   - applicationDeploymentId
+   - computeResourceId
+   - processInputs
+   - processOutputs
+   - resourceSchedule
+   - tasks
+   - taskDag
+   - processError
+   - gatewayExecutionId
+   - enableEmailNotification
+   - emailAddresses
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'processId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1
+    (2, TType.STRING, 'experimentId', None, None, ), # 2
+    (3, TType.I64, 'creationTime', None, None, ), # 3
+    (4, TType.I64, 'lastUpdateTime', None, None, ), # 4
+    (5, TType.STRUCT, 'processStatus', (apache.airavata.model.status.ttypes.ProcessStatus, apache.airavata.model.status.ttypes.ProcessStatus.thrift_spec), None, ), # 5
+    (6, TType.STRING, 'processDetail', None, None, ), # 6
+    (7, TType.STRING, 'applicationInterfaceId', None, None, ), # 7
+    (8, TType.STRING, 'applicationDeploymentId', None, None, ), # 8
+    (9, TType.STRING, 'computeResourceId', None, None, ), # 9
+    (10, TType.LIST, 'processInputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.InputDataObjectType, apache.airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec)), None, ), # 10
+    (11, TType.LIST, 'processOutputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.OutputDataObjectType, apache.airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec)), None, ), # 11
+    (12, TType.STRUCT, 'resourceSchedule', (apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel.thrift_spec), None, ), # 12
+    (13, TType.LIST, 'tasks', (TType.STRUCT,(apache.airavata.model.task.ttypes.TaskModel, apache.airavata.model.task.ttypes.TaskModel.thrift_spec)), None, ), # 13
+    (14, TType.STRING, 'taskDag', None, None, ), # 14
+    (15, TType.STRUCT, 'processError', (apache.airavata.model.commons.ttypes.ErrorModel, apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec), None, ), # 15
+    (16, TType.STRING, 'gatewayExecutionId', None, None, ), # 16
+    (17, TType.BOOL, 'enableEmailNotification', None, None, ), # 17
+    (18, TType.LIST, 'emailAddresses', (TType.STRING,None), None, ), # 18
+  )
+
+  def __init__(self, processId=thrift_spec[1][4], experimentId=None, creationTime=None, lastUpdateTime=None, processStatus=None, processDetail=None, applicationInterfaceId=None, applicationDeploymentId=None, computeResourceId=None, processInputs=None, processOutputs=None, resourceSchedule=None, tasks=None, taskDag=None, processError=None, gatewayExecutionId=None, enableEmailNotification=None, emailAddresses=None,):
+    self.processId = processId
+    self.experimentId = experimentId
+    self.creationTime = creationTime
+    self.lastUpdateTime = lastUpdateTime
+    self.processStatus = processStatus
+    self.processDetail = processDetail
+    self.applicationInterfaceId = applicationInterfaceId
+    self.applicationDeploymentId = applicationDeploymentId
+    self.computeResourceId = computeResourceId
+    self.processInputs = processInputs
+    self.processOutputs = processOutputs
+    self.resourceSchedule = resourceSchedule
+    self.tasks = tasks
+    self.taskDag = taskDag
+    self.processError = processError
+    self.gatewayExecutionId = gatewayExecutionId
+    self.enableEmailNotification = enableEmailNotification
+    self.emailAddresses = emailAddresses
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.processId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.experimentId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I64:
+          self.lastUpdateTime = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRUCT:
+          self.processStatus = apache.airavata.model.status.ttypes.ProcessStatus()
+          self.processStatus.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.processDetail = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRING:
+          self.applicationInterfaceId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.applicationDeploymentId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRING:
+          self.computeResourceId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.LIST:
+          self.processInputs = []
+          (_etype3, _size0) = iprot.readListBegin()
+          for _i4 in xrange(_size0):
+            _elem5 = apache.airavata.model.application.io.ttypes.InputDataObjectType()
+            _elem5.read(iprot)
+            self.processInputs.append(_elem5)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.LIST:
+          self.processOutputs = []
+          (_etype9, _size6) = iprot.readListBegin()
+          for _i10 in xrange(_size6):
+            _elem11 = apache.airavata.model.application.io.ttypes.OutputDataObjectType()
+            _elem11.read(iprot)
+            self.processOutputs.append(_elem11)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.STRUCT:
+          self.resourceSchedule = apache.airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel()
+          self.resourceSchedule.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
+        if ftype == TType.LIST:
+          self.tasks = []
+          (_etype15, _size12) = iprot.readListBegin()
+          for _i16 in xrange(_size12):
+            _elem17 = apache.airavata.model.task.ttypes.TaskModel()
+            _elem17.read(iprot)
+            self.tasks.append(_elem17)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 14:
+        if ftype == TType.STRING:
+          self.taskDag = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 15:
+        if ftype == TType.STRUCT:
+          self.processError = apache.airavata.model.commons.ttypes.ErrorModel()
+          self.processError.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 16:
+        if ftype == TType.STRING:
+          self.gatewayExecutionId = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 17:
+        if ftype == TType.BOOL:
+          self.enableEmailNotification = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 18:
+        if ftype == TType.LIST:
+          self.emailAddresses = []
+          (_etype21, _size18) = iprot.readListBegin()
+          for _i22 in xrange(_size18):
+            _elem23 = iprot.readString();
+            self.emailAddresses.append(_elem23)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('ProcessModel')
+    if self.processId is not None:
+      oprot.writeFieldBegin('processId', TType.STRING, 1)
+      oprot.writeString(self.processId)
+      oprot.writeFieldEnd()
+    if self.experimentId is not None:
+      oprot.writeFieldBegin('experimentId', TType.STRING, 2)
+      oprot.writeString(self.experimentId)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 3)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.lastUpdateTime is not None:
+      oprot.writeFieldBegin('lastUpdateTime', TType.I64, 4)
+      oprot.writeI64(self.lastUpdateTime)
+      oprot.writeFieldEnd()
+    if self.processStatus is not None:
+      oprot.writeFieldBegin('processStatus', TType.STRUCT, 5)
+      self.processStatus.write(oprot)
+      oprot.writeFieldEnd()
+    if self.processDetail is not None:
+      oprot.writeFieldBegin('processDetail', TType.STRING, 6)
+      oprot.writeString(self.processDetail)
+      oprot.writeFieldEnd()
+    if self.applicationInterfaceId is not None:
+      oprot.writeFieldBegin('applicationInterfaceId', TType.STRING, 7)
+      oprot.writeString(self.applicationInterfaceId)
+      oprot.writeFieldEnd()
+    if self.applicationDeploymentId is not None:
+      oprot.writeFieldBegin('applicationDeploymentId', TType.STRING, 8)
+      oprot.writeString(self.applicationDeploymentId)
+      oprot.writeFieldEnd()
+    if self.computeResourceId is not None:
+      oprot.writeFieldBegin('computeResourceId', TType.STRING, 9)
+      oprot.writeString(self.computeResourceId)
+      oprot.writeFieldEnd()
+    if self.processInputs is not None:
+      oprot.writeFieldBegin('processInputs', TType.LIST, 10)
+      oprot.writeListBegin(TType.STRUCT, len(self.processInputs))
+      for iter24 in self.processInputs:
+        iter24.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.processOutputs is not None:
+      oprot.writeFieldBegin('processOutputs', TType.LIST, 11)
+      oprot.writeListBegin(TType.STRUCT, len(self.processOutputs))
+      for iter25 in self.processOutputs:
+        iter25.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.resourceSchedule is not None:
+      oprot.writeFieldBegin('resourceSchedule', TType.STRUCT, 12)
+      self.resourceSchedule.write(oprot)
+      oprot.writeFieldEnd()
+    if self.tasks is not None:
+      oprot.writeFieldBegin('tasks', TType.LIST, 13)
+      oprot.writeListBegin(TType.STRUCT, len(self.tasks))
+      for iter26 in self.tasks:
+        iter26.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.taskDag is not None:
+      oprot.writeFieldBegin('taskDag', TType.STRING, 14)
+      oprot.writeString(self.taskDag)
+      oprot.writeFieldEnd()
+    if self.processError is not None:
+      oprot.writeFieldBegin('processError', TType.STRUCT, 15)
+      self.processError.write(oprot)
+      oprot.writeFieldEnd()
+    if self.gatewayExecutionId is not None:
+      oprot.writeFieldBegin('gatewayExecutionId', TType.STRING, 16)
+      oprot.writeString(self.gatewayExecutionId)
+      oprot.writeFieldEnd()
+    if self.enableEmailNotification is not None:
+      oprot.writeFieldBegin('enableEmailNotification', TType.BOOL, 17)
+      oprot.writeBool(self.enableEmailNotification)
+      oprot.writeFieldEnd()
+    if self.emailAddresses is not None:
+      oprot.writeFieldBegin('emailAddresses', TType.LIST, 18)
+      oprot.writeListBegin(TType.STRING, len(self.emailAddresses))
+      for iter27 in self.emailAddresses:
+        oprot.writeString(iter27)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.processId is None:
+      raise TProtocol.TProtocolException(message='Required field processId is unset!')
+    if self.experimentId is None:
+      raise TProtocol.TProtocolException(message='Required field experimentId is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.processId)
+    value = (value * 31) ^ hash(self.experimentId)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.lastUpdateTime)
+    value = (value * 31) ^ hash(self.processStatus)
+    value = (value * 31) ^ hash(self.processDetail)
+    value = (value * 31) ^ hash(self.applicationInterfaceId)
+    value = (value * 31) ^ hash(self.applicationDeploymentId)
+    value = (value * 31) ^ hash(self.computeResourceId)
+    value = (value * 31) ^ hash(self.processInputs)
+    value = (value * 31) ^ hash(self.processOutputs)
+    value = (value * 31) ^ hash(self.resourceSchedule)
+    value = (value * 31) ^ hash(self.tasks)
+    value = (value * 31) ^ hash(self.taskDag)
+    value = (value * 31) ^ hash(self.processError)
+    value = (value * 31) ^ hash(self.gatewayExecutionId)
+    value = (value * 31) ^ hash(self.enableEmailNotification)
+    value = (value * 31) ^ hash(self.emailAddresses)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/constants.py
new file mode 100644
index 0000000..99717a9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/scheduling/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+


[28/44] airavata git commit: adding security validation on API method calls through interception using the Guice AOP framework.

Posted by sm...@apache.org.
adding security validation on API method calls through interception using the Guice AOP framework.


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

Branch: refs/heads/master
Commit: 4fae741d6e8c98e8f7978850c9cbd5f21418a355
Parents: e0941f4
Author: hasinitg <ha...@gmail.com>
Authored: Fri Jul 17 01:45:36 2015 +0530
Committer: hasinitg <ha...@gmail.com>
Committed: Fri Jul 17 01:45:36 2015 +0530

----------------------------------------------------------------------
 airavata-api/airavata-api-server/pom.xml        |   10 +
 .../airavata/api/server/AiravataAPIServer.java  |   13 +-
 .../server/handler/AiravataServerHandler.java   |  109 +-
 .../api/server/security/SecurityCheck.java      |   36 +
 .../server/security/SecurityInterceptor.java    |   65 +
 .../api/server/security/SecurityModule.java     |   39 +
 .../java/org/apache/airavata/api/Airavata.java  | 1357 ++++++------------
 .../main/resources/lib/airavata/Airavata.cpp    |  284 ++--
 .../src/main/resources/lib/airavata/Airavata.h  |  226 ++-
 .../lib/airavata/Airavata_server.skeleton.cpp   |    8 +-
 .../resources/lib/Airavata/API/Airavata.php     |  329 ++---
 .../lib/apache/airavata/api/Airavata-remote     |   24 +-
 .../lib/apache/airavata/api/Airavata.py         |  251 ++--
 .../org/apache/airavata/model/Workflow.java     |    2 +-
 .../ApplicationDeploymentDescription.java       |    2 +-
 .../appdeployment/ApplicationModule.java        |    2 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |    2 +-
 .../ApplicationInterfaceDescription.java        |    2 +-
 .../appcatalog/computeresource/BatchQueue.java  |    2 +-
 .../computeresource/CloudJobSubmission.java     |    2 +-
 .../ComputeResourceDescription.java             |    2 +-
 .../computeresource/DataMovementInterface.java  |    2 +-
 .../computeresource/GlobusJobSubmission.java    |    2 +-
 .../computeresource/GridFTPDataMovement.java    |    2 +-
 .../computeresource/JobSubmissionInterface.java |    2 +-
 .../computeresource/LOCALDataMovement.java      |    2 +-
 .../computeresource/LOCALSubmission.java        |    2 +-
 .../computeresource/ResourceJobManager.java     |    2 +-
 .../computeresource/SCPDataMovement.java        |    2 +-
 .../computeresource/SSHJobSubmission.java       |    2 +-
 .../computeresource/UnicoreDataMovement.java    |    2 +-
 .../computeresource/UnicoreJobSubmission.java   |    2 +-
 .../ComputeResourcePreference.java              |    2 +-
 .../gatewayprofile/GatewayResourceProfile.java  |    2 +-
 .../application/io/InputDataObjectType.java     |    2 +-
 .../application/io/OutputDataObjectType.java    |    2 +-
 .../airavata/model/commons/ErrorModel.java      |    2 +-
 .../model/commons/ValidationResults.java        |    2 +-
 .../airavata/model/commons/ValidatorResult.java |    2 +-
 .../model/error/AiravataClientException.java    |    2 +-
 .../model/error/AiravataSystemException.java    |    2 +-
 .../model/error/AuthenticationException.java    |    2 +-
 .../model/error/AuthorizationException.java     |    2 +-
 .../error/ExperimentNotFoundException.java      |    2 +-
 .../model/error/InvalidRequestException.java    |    2 +-
 .../model/error/LaunchValidationException.java  |    2 +-
 .../model/error/ProjectNotFoundException.java   |    2 +-
 .../airavata/model/error/TimedOutException.java |    2 +-
 .../airavata/model/error/ValidationResults.java |    2 +-
 .../airavata/model/error/ValidatorResult.java   |    2 +-
 .../model/experiment/ExperimentModel.java       |    2 +-
 .../model/experiment/ExperimentStatistics.java  |    2 +-
 .../experiment/ExperimentSummaryModel.java      |    2 +-
 .../experiment/UserConfigurationDataModel.java  |    2 +-
 .../org/apache/airavata/model/job/JobModel.java |    2 +-
 .../event/ExperimentStatusChangeEvent.java      |    2 +-
 .../model/messaging/event/JobIdentifier.java    |    2 +-
 .../messaging/event/JobStatusChangeEvent.java   |    2 +-
 .../event/JobStatusChangeRequestEvent.java      |    2 +-
 .../airavata/model/messaging/event/Message.java |    2 +-
 .../messaging/event/ProcessIdentifier.java      |    2 +-
 .../event/ProcessStatusChangeEvent.java         |    2 +-
 .../event/ProcessStatusChangeRequestEvent.java  |    2 +-
 .../messaging/event/ProcessSubmitEvent.java     |    2 +-
 .../messaging/event/ProcessTerminateEvent.java  |    2 +-
 .../model/messaging/event/TaskIdentifier.java   |    2 +-
 .../messaging/event/TaskOutputChangeEvent.java  |    2 +-
 .../messaging/event/TaskStatusChangeEvent.java  |    2 +-
 .../event/TaskStatusChangeRequestEvent.java     |    2 +-
 .../airavata/model/process/ProcessModel.java    |    2 +-
 .../ComputationalResourceSchedulingModel.java   |    2 +-
 .../airavata/model/security/AuthzToken.java     |    2 +-
 .../airavata/model/status/ExperimentStatus.java |    2 +-
 .../apache/airavata/model/status/JobStatus.java |    2 +-
 .../airavata/model/status/ProcessStatus.java    |    2 +-
 .../airavata/model/status/TaskStatus.java       |    2 +-
 .../model/task/DataStagingTaskModel.java        |    2 +-
 .../apache/airavata/model/task/TaskModel.java   |    2 +-
 .../airavata/model/workspace/Gateway.java       |    2 +-
 .../apache/airavata/model/workspace/Group.java  |    2 +-
 .../airavata/model/workspace/Project.java       |    2 +-
 .../apache/airavata/model/workspace/User.java   |    2 +-
 .../airavata-api/airavata_api.thrift            |   30 +-
 83 files changed, 1117 insertions(+), 1802 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-api-server/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/pom.xml b/airavata-api/airavata-api-server/pom.xml
index 7e86cef..7cd0f3b 100644
--- a/airavata-api/airavata-api-server/pom.xml
+++ b/airavata-api/airavata-api-server/pom.xml
@@ -106,6 +106,16 @@
             <artifactId>org.wso2.carbon.utils</artifactId>
             <version>4.2.0</version>
         </dependency>
+        <dependency>
+            <groupId>com.google.inject</groupId>
+            <artifactId>guice</artifactId>
+            <version>4.0</version>
+        </dependency>
+        <dependency>
+            <groupId>aopalliance</groupId>
+            <artifactId>aopalliance</artifactId>
+            <version>1.0</version>
+        </dependency>
     </dependencies>
 
 </project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
index 21c2c58..1b336e1 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
@@ -27,6 +27,7 @@ import java.net.InetAddress;
 
 import org.apache.airavata.api.Airavata;
 import org.apache.airavata.api.server.handler.AiravataServerHandler;
+import org.apache.airavata.api.server.security.SecurityModule;
 import org.apache.airavata.api.server.util.AppCatalogInitUtil;
 import org.apache.airavata.api.server.util.Constants;
 import org.apache.airavata.api.server.util.RegistryInitUtil;
@@ -45,6 +46,8 @@ import org.apache.thrift.transport.TTransportException;
 import org.apache.thrift.transport.TSSLTransportFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
 
 public class AiravataAPIServer implements IServer{
 
@@ -82,7 +85,7 @@ public class AiravataAPIServer implements IServer{
 				server = new TThreadPoolServer(options.processor(airavataAPIServer));
 				new Thread() {
 					public void run() {
-						server.serve();
+                        server.serve();
 						RegistryInitUtil.stopDerbyInServerMode();
 						setStatus(ServerStatus.STOPPED);
 						logger.info("Airavata API Server Stopped.");
@@ -167,14 +170,16 @@ public class AiravataAPIServer implements IServer{
 	@Override
 	public void start() throws Exception {
 		setStatus(ServerStatus.STARTING);
-		Airavata.Processor<Airavata.Iface> airavataAPIServer =
-                new Airavata.Processor<Airavata.Iface>(new AiravataServerHandler());
+        //Obtain a AiravataServerHandler object from Guice which is wrapped with interception logic.
+        Injector injector = Guice.createInjector(new SecurityModule());
+        Airavata.Processor<Airavata.Iface> airavataAPIServer =
+                new Airavata.Processor<Airavata.Iface>(injector.getInstance(AiravataServerHandler.class));
     	startAiravataServer(airavataAPIServer);
 	}
 
 	@Override
 	public void stop() throws Exception {
-		if (server.isServing()){
+		if ((!ServerSettings.isTLSEnabled()) && server.isServing()){
 			setStatus(ServerStatus.STOPING);
 			server.stop();
 		}

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index f545e53..085ac58 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -24,6 +24,7 @@ package org.apache.airavata.api.server.handler;
 import org.apache.airavata.api.Airavata;
 import org.apache.airavata.api.airavataAPIConstants;
 import org.apache.airavata.api.server.security.AiravataSecurityManager;
+import org.apache.airavata.api.server.security.SecurityCheck;
 import org.apache.airavata.api.server.security.SecurityManagerFactory;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
@@ -135,16 +136,18 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Query Airavata to fetch the API version
      */
     @Override
-    public String getAPIVersion(AuthzToken authzToken) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        //security check
-        authenticateNAuthorize(authzToken);
+    @SecurityCheck
+    public String getAPIVersion(AuthzToken authzToken) throws InvalidRequestException, AiravataClientException,
+            AiravataSystemException, AuthorizationException, TException {
+
         return airavataAPIConstants.AIRAVATA_API_VERSION;
     }
 
     @Override
-    public String addGateway(AuthzToken authzToken, Gateway gateway) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        //security check
-        authenticateNAuthorize(authzToken);
+    @SecurityCheck
+    public String addGateway(AuthzToken authzToken, Gateway gateway) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, TException {
+
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!validateString(gateway.getGatewayId())){
@@ -162,9 +165,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public void updateGateway(AuthzToken authzToken, String gatewayId, Gateway updatedGateway) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        //security check
-        authenticateNAuthorize(authzToken);
+    @SecurityCheck
+    public void updateGateway(AuthzToken authzToken, String gatewayId, Gateway updatedGateway)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId)){
@@ -184,9 +188,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public Gateway getGateway(AuthzToken authzToken, String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        //security check
-        authenticateNAuthorize(authzToken);
+    @SecurityCheck
+    public Gateway getGateway(AuthzToken authzToken, String gatewayId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, TException {
+
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId)){
@@ -206,9 +211,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public boolean deleteGateway(AuthzToken authzToken, String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        //security check
-        authenticateNAuthorize(authzToken);
+    @SecurityCheck
+    public boolean deleteGateway(AuthzToken authzToken, String gatewayId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, TException {
+
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId)){
@@ -229,9 +235,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public List<Gateway> getAllGateways(AuthzToken authzToken) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        //security check
-        authenticateNAuthorize(authzToken);
+    @SecurityCheck
+    public List<Gateway> getAllGateways(AuthzToken authzToken) throws InvalidRequestException, AiravataClientException,
+            AiravataSystemException, TException {
+
         try {
             List<Gateway> gateways = new ArrayList<Gateway>();
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
@@ -250,9 +257,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public boolean isGatewayExist(AuthzToken authzToken, String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        //security check
-        authenticateNAuthorize(authzToken);
+    @SecurityCheck
+    public boolean isGatewayExist(AuthzToken authzToken, String gatewayId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, TException {
+
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             return experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId);
@@ -266,7 +274,8 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     /*Following method wraps the logic of isGatewayExist method and this is to be called by any other method of the API as needed.*/
-    private boolean isGatewayExistInternal(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException{
+    private boolean isGatewayExistInternal(String gatewayId) throws InvalidRequestException, AiravataClientException,
+            AiravataSystemException, TException{
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             return experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId);
@@ -300,9 +309,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      * @param project
      */
     @Override
-    public String createProject(AuthzToken authzToken, String gatewayId, Project project) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        //security check
-        authenticateNAuthorize(authzToken);
+    @SecurityCheck
+    public String createProject(AuthzToken authzToken, String gatewayId, Project project) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, TException {
+
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!validateString(project.getName()) || !validateString(project.getOwner())){
@@ -327,11 +337,10 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
     }
 
-    public void updateProject(String projectId, Project updatedProject) throws InvalidRequestException,
-                                                                               AiravataClientException,
-                                                                               AiravataSystemException,
-                                                                               ProjectNotFoundException,
-                                                                               TException {
+    @SecurityCheck
+    public void updateProject(AuthzToken authzToken, String projectId, Project updatedProject) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, ProjectNotFoundException, TException {
+
         if (!validateString(projectId) || !validateString(projectId)){
             logger.error("Project id cannot be empty...");
             AiravataSystemException exception = new AiravataSystemException();
@@ -372,11 +381,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      * @param projectId
      */
     @Override
-    public Project getProject(String projectId) throws InvalidRequestException,
-                                                       AiravataClientException,
-                                                       AiravataSystemException,
-                                                       ProjectNotFoundException,
-                                                       TException {
+    @SecurityCheck
+    public Project getProject(AuthzToken authzToken, String projectId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, ProjectNotFoundException, TException {
+
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.PROJECT, projectId)){
@@ -405,7 +413,8 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Deprecated
     @Override
-    public List<Project> getAllUserProjects(String gatewayId, String userName) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public List<Project> getAllUserProjects(String gatewayId, String userName) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, TException {
         return getAllUserProjectsWithPagination(gatewayId, userName, -1, -1);
     }
 
@@ -3554,10 +3563,13 @@ public class AiravataServerHandler implements Airavata.Iface {
 	}
 
     @Override
-    public boolean deleteProject(String projectId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, ProjectNotFoundException, TException {
+    @SecurityCheck
+    public boolean deleteProject(AuthzToken authzToken, String projectId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, ProjectNotFoundException, TException {
+
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
-            if (!experimentCatalog.isExist(ExperimentCatalogModelType.PROJECT, projectId)){
+            if (!experimentCatalog.isExist(ExperimentCatalogModelType.PROJECT, projectId)) {
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
                 ProjectNotFoundException exception = new ProjectNotFoundException();
                 exception.setMessage("Project does not exist in the system. Please provide a valid project ID...");
@@ -3572,25 +3584,4 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw exception;
         }
     }
-
-    public void authenticateNAuthorize(AuthzToken authzToken) throws AuthorizationException {
-        try {
-            boolean isAPISecured = ServerSettings.isAPISecured();
-            if (isAPISecured) {
-
-                AiravataSecurityManager securityManager = SecurityManagerFactory.getSecurityManager();
-                boolean isAuthz = securityManager.isUserAuthenticatedAndAuthorized(authzToken);
-                if (!isAuthz) {
-                    throw new AuthorizationException("User is not authenticated or authorized.");
-                }
-            }
-        } catch (AiravataSecurityException e) {
-            logger.error(e.getMessage(), e);
-            throw new AuthorizationException("Error in obtaining initiating Security Manager.");
-        } catch (ApplicationSettingsException e) {
-            logger.error(e.getMessage(), e);
-            throw new AuthorizationException("Error in reading security configuration.");
-        }
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityCheck.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityCheck.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityCheck.java
new file mode 100644
index 0000000..dc36211
--- /dev/null
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityCheck.java
@@ -0,0 +1,36 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.airavata.api.server.security;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import com.google.inject.BindingAnnotation;
+
+/**
+ * This is just the definition of the annotation used to mark the API methods to be intercepted.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.METHOD})
+@BindingAnnotation
+public @interface SecurityCheck {
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityInterceptor.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityInterceptor.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityInterceptor.java
new file mode 100644
index 0000000..ac89092
--- /dev/null
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityInterceptor.java
@@ -0,0 +1,65 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.airavata.api.server.security;
+import org.aopalliance.intercept.MethodInterceptor;
+import org.aopalliance.intercept.MethodInvocation;
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.model.error.AuthorizationException;
+import org.apache.airavata.model.security.AuthzToken;
+import org.apache.airavata.security.AiravataSecurityException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import java.util.Arrays;
+
+/**
+ * Interceptor of Airavata API calls for the purpose of applying security.
+ */
+public class SecurityInterceptor implements MethodInterceptor{
+    private final static Logger logger = LoggerFactory.getLogger(SecurityInterceptor.class);
+    @Override
+    public Object invoke(MethodInvocation invocation) throws Throwable {
+        authenticateNAuthorize((AuthzToken) invocation.getArguments()[0]);
+        return invocation.proceed();
+    }
+
+    private void authenticateNAuthorize(AuthzToken authzToken) throws AuthorizationException {
+        try {
+            boolean isAPISecured = ServerSettings.isAPISecured();
+            if (isAPISecured) {
+
+                AiravataSecurityManager securityManager = SecurityManagerFactory.getSecurityManager();
+                boolean isAuthz = securityManager.isUserAuthenticatedAndAuthorized(authzToken);
+                if (!isAuthz) {
+                    throw new AuthorizationException("User is not authenticated or authorized.");
+                }
+            }
+        } catch (AiravataSecurityException e) {
+            logger.error(e.getMessage(), e);
+            throw new AuthorizationException("Error in authenticating or authorizing user.");
+        } catch (ApplicationSettingsException e) {
+            logger.error(e.getMessage(), e);
+            throw new AuthorizationException("Internal error in authenticating or authorizing user.");
+        }
+    }
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityModule.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityModule.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityModule.java
new file mode 100644
index 0000000..0b56221
--- /dev/null
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityModule.java
@@ -0,0 +1,39 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.airavata.api.server.security;
+
+import com.google.inject.matcher.Matchers;
+import com.google.inject.AbstractModule;
+
+/**
+ * This does the plumbing work of integrating the interceptor with Guice framework for the methods to be
+ * intercepted upon their invocation.
+ */
+public class SecurityModule extends AbstractModule {
+    public void configure(){
+        System.out.println("Security module reached...");
+        SecurityInterceptor interceptor = new SecurityInterceptor();
+        //requestInjection(interceptor);
+
+        bindInterceptor(Matchers.any(), Matchers.annotatedWith(SecurityCheck.class), interceptor);
+    }
+
+}


[32/44] airavata git commit: finished changing the API methods.

Posted by sm...@apache.org.
finished changing the API methods.


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

Branch: refs/heads/master
Commit: 283e700d3088e0425c509895704ff76ac80c93fe
Parents: b515bee
Author: hasinitg <ha...@gmail.com>
Authored: Fri Jul 17 19:42:19 2015 +0530
Committer: hasinitg <ha...@gmail.com>
Committed: Fri Jul 17 19:42:19 2015 +0530

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 505 ++++++++----
 .../airavata-api/airavata_api.thrift            | 774 ++++++++++++-------
 2 files changed, 840 insertions(+), 439 deletions(-)
----------------------------------------------------------------------



[40/44] airavata git commit: fixed all compilation errors in the java client samples after the API changes.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index e1cfe1a..17cc59c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -453,6 +453,14 @@ uint32_t Airavata_addGateway_result::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -487,6 +495,10 @@ uint32_t Airavata_addGateway_result::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -550,6 +562,14 @@ uint32_t Airavata_addGateway_presult::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -732,6 +752,14 @@ uint32_t Airavata_updateGateway_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -762,6 +790,10 @@ uint32_t Airavata_updateGateway_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -817,6 +849,14 @@ uint32_t Airavata_updateGateway_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -988,6 +1028,14 @@ uint32_t Airavata_getGateway_result::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1022,6 +1070,10 @@ uint32_t Airavata_getGateway_result::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1085,6 +1137,14 @@ uint32_t Airavata_getGateway_presult::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1256,6 +1316,14 @@ uint32_t Airavata_deleteGateway_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1290,6 +1358,10 @@ uint32_t Airavata_deleteGateway_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1353,6 +1425,14 @@ uint32_t Airavata_deleteGateway_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1517,6 +1597,14 @@ uint32_t Airavata_getAllGateways_result::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1559,6 +1647,10 @@ uint32_t Airavata_getAllGateways_result::write(::apache::thrift::protocol::TProt
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1634,6 +1726,193 @@ uint32_t Airavata_getAllGateways_presult::read(::apache::thrift::protocol::TProt
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+
+Airavata_isGatewayExist_args::~Airavata_isGatewayExist_args() throw() {
+}
+
+
+uint32_t Airavata_isGatewayExist_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_authzToken = false;
+  bool isset_gatewayId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_isGatewayExist_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Airavata_isGatewayExist_args");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+
+Airavata_isGatewayExist_pargs::~Airavata_isGatewayExist_pargs() throw() {
+}
+
+
+uint32_t Airavata_isGatewayExist_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Airavata_isGatewayExist_pargs");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->gatewayId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+
+Airavata_isGatewayExist_result::~Airavata_isGatewayExist_result() throw() {
+}
+
+
+uint32_t Airavata_isGatewayExist_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->success);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1646,177 +1925,6 @@ uint32_t Airavata_getAllGateways_presult::read(::apache::thrift::protocol::TProt
   return xfer;
 }
 
-
-Airavata_isGatewayExist_args::~Airavata_isGatewayExist_args() throw() {
-}
-
-
-uint32_t Airavata_isGatewayExist_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
-
-  xfer += iprot->readStructBegin(fname);
-
-  using ::apache::thrift::protocol::TProtocolException;
-
-  bool isset_authzToken = false;
-  bool isset_gatewayId = false;
-
-  while (true)
-  {
-    xfer += iprot->readFieldBegin(fname, ftype, fid);
-    if (ftype == ::apache::thrift::protocol::T_STOP) {
-      break;
-    }
-    switch (fid)
-    {
-      case 1:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->authzToken.read(iprot);
-          isset_authzToken = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->gatewayId);
-          isset_gatewayId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_authzToken)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_gatewayId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_isGatewayExist_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
-  xfer += oprot->writeStructBegin("Airavata_isGatewayExist_args");
-
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += this->authzToken.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->gatewayId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
-  return xfer;
-}
-
-
-Airavata_isGatewayExist_pargs::~Airavata_isGatewayExist_pargs() throw() {
-}
-
-
-uint32_t Airavata_isGatewayExist_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
-  xfer += oprot->writeStructBegin("Airavata_isGatewayExist_pargs");
-
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += (*(this->authzToken)).write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString((*(this->gatewayId)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
-  return xfer;
-}
-
-
-Airavata_isGatewayExist_result::~Airavata_isGatewayExist_result() throw() {
-}
-
-
-uint32_t Airavata_isGatewayExist_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
-
-  xfer += iprot->readStructBegin(fname);
-
-  using ::apache::thrift::protocol::TProtocolException;
-
-
-  while (true)
-  {
-    xfer += iprot->readFieldBegin(fname, ftype, fid);
-    if (ftype == ::apache::thrift::protocol::T_STOP) {
-      break;
-    }
-    switch (fid)
-    {
-      case 0:
-        if (ftype == ::apache::thrift::protocol::T_BOOL) {
-          xfer += iprot->readBool(this->success);
-          this->__isset.success = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 1:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ire.read(iprot);
-          this->__isset.ire = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ase.read(iprot);
-          this->__isset.ase = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
 uint32_t Airavata_isGatewayExist_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
 
   uint32_t xfer = 0;
@@ -1839,6 +1947,10 @@ uint32_t Airavata_isGatewayExist_result::write(::apache::thrift::protocol::TProt
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1902,6 +2014,14 @@ uint32_t Airavata_isGatewayExist_presult::read(::apache::thrift::protocol::TProt
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -2897,6 +3017,14 @@ uint32_t Airavata_createProject_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -2931,6 +3059,10 @@ uint32_t Airavata_createProject_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -2994,6 +3126,14 @@ uint32_t Airavata_createProject_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -3184,6 +3324,14 @@ uint32_t Airavata_updateProject_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -3218,6 +3366,10 @@ uint32_t Airavata_updateProject_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
     xfer += this->pnfe.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 5);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -3281,6 +3433,14 @@ uint32_t Airavata_updateProject_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -3460,6 +3620,14 @@ uint32_t Airavata_getProject_result::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -3498,6 +3666,10 @@ uint32_t Airavata_getProject_result::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
     xfer += this->pnfe.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 5);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -3569,6 +3741,14 @@ uint32_t Airavata_getProject_presult::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -3748,6 +3928,14 @@ uint32_t Airavata_deleteProject_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -3786,6 +3974,10 @@ uint32_t Airavata_deleteProject_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
     xfer += this->pnfe.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 5);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -3857,6 +4049,14 @@ uint32_t Airavata_deleteProject_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -4185,6 +4385,7 @@ uint32_t Airavata_getAllUserProjectsWithPagination_args::read(::apache::thrift::
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_limit = false;
@@ -4199,6 +4400,14 @@ uint32_t Airavata_getAllUserProjectsWithPagination_args::read(::apache::thrift::
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -4206,7 +4415,7 @@ uint32_t Airavata_getAllUserProjectsWithPagination_args::read(::apache::thrift::
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
@@ -4214,7 +4423,7 @@ uint32_t Airavata_getAllUserProjectsWithPagination_args::read(::apache::thrift::
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->limit);
           isset_limit = true;
@@ -4222,7 +4431,7 @@ uint32_t Airavata_getAllUserProjectsWithPagination_args::read(::apache::thrift::
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->offset);
           isset_offset = true;
@@ -4239,6 +4448,8 @@ uint32_t Airavata_getAllUserProjectsWithPagination_args::read(::apache::thrift::
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
@@ -4255,19 +4466,23 @@ uint32_t Airavata_getAllUserProjectsWithPagination_args::write(::apache::thrift:
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_getAllUserProjectsWithPagination_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 3);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
   xfer += oprot->writeI32(this->limit);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32(this->offset);
   xfer += oprot->writeFieldEnd();
 
@@ -4287,19 +4502,23 @@ uint32_t Airavata_getAllUserProjectsWithPagination_pargs::write(::apache::thrift
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_getAllUserProjectsWithPagination_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 3);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
   xfer += oprot->writeI32((*(this->limit)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32((*(this->offset)));
   xfer += oprot->writeFieldEnd();
 
@@ -4378,6 +4597,14 @@ uint32_t Airavata_getAllUserProjectsWithPagination_result::read(::apache::thrift
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -4420,6 +4647,10 @@ uint32_t Airavata_getAllUserProjectsWithPagination_result::write(::apache::thrif
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -4495,6 +4726,14 @@ uint32_t Airavata_getAllUserProjectsWithPagination_presult::read(::apache::thrif
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -4842,6 +5081,7 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_args::read(::apache:
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_projectName = false;
@@ -4857,6 +5097,14 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_args::read(::apache:
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -4864,7 +5112,7 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_args::read(::apache:
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
@@ -4872,7 +5120,7 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_args::read(::apache:
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->projectName);
           isset_projectName = true;
@@ -4880,7 +5128,7 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_args::read(::apache:
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->limit);
           isset_limit = true;
@@ -4888,7 +5136,7 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_args::read(::apache:
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->offset);
           isset_offset = true;
@@ -4905,6 +5153,8 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_args::read(::apache:
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
@@ -4923,23 +5173,27 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_args::write(::apache
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectNameWithPagination_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString(this->projectName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32(this->limit);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32(this->offset);
   xfer += oprot->writeFieldEnd();
 
@@ -4959,23 +5213,27 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_pargs::write(::apach
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectNameWithPagination_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString((*(this->projectName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32((*(this->limit)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32((*(this->offset)));
   xfer += oprot->writeFieldEnd();
 
@@ -5054,6 +5312,14 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_result::read(::apach
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -5096,6 +5362,10 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_result::write(::apac
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -5171,6 +5441,14 @@ uint32_t Airavata_searchProjectsByProjectNameWithPagination_presult::read(::apac
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -5518,6 +5796,7 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_args::read(::apache:
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_description = false;
@@ -5533,6 +5812,14 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_args::read(::apache:
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -5540,7 +5827,7 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_args::read(::apache:
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
@@ -5548,7 +5835,7 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_args::read(::apache:
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->description);
           isset_description = true;
@@ -5556,7 +5843,7 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_args::read(::apache:
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->limit);
           isset_limit = true;
@@ -5564,7 +5851,7 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_args::read(::apache:
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->offset);
           isset_offset = true;
@@ -5581,6 +5868,8 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_args::read(::apache:
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
@@ -5599,23 +5888,27 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_args::write(::apache
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectDescWithPagination_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString(this->description);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32(this->limit);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32(this->offset);
   xfer += oprot->writeFieldEnd();
 
@@ -5635,23 +5928,27 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_pargs::write(::apach
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectDescWithPagination_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString((*(this->description)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32((*(this->limit)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32((*(this->offset)));
   xfer += oprot->writeFieldEnd();
 
@@ -5730,6 +6027,14 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_result::read(::apach
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -5772,6 +6077,10 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_result::write(::apac
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -5847,6 +6156,14 @@ uint32_t Airavata_searchProjectsByProjectDescWithPagination_presult::read(::apac
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -6194,6 +6511,7 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_args::read(::apache::thr
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_expName = false;
@@ -6209,6 +6527,14 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_args::read(::apache::thr
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -6216,7 +6542,7 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_args::read(::apache::thr
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
@@ -6224,7 +6550,7 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_args::read(::apache::thr
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->expName);
           isset_expName = true;
@@ -6232,7 +6558,7 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_args::read(::apache::thr
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->limit);
           isset_limit = true;
@@ -6240,7 +6566,7 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_args::read(::apache::thr
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->offset);
           isset_offset = true;
@@ -6257,6 +6583,8 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_args::read(::apache::thr
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
@@ -6275,23 +6603,27 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_args::write(::apache::th
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByNameWithPagination_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString(this->expName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32(this->limit);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32(this->offset);
   xfer += oprot->writeFieldEnd();
 
@@ -6311,23 +6643,27 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_pargs::write(::apache::t
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByNameWithPagination_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString((*(this->expName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32((*(this->limit)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32((*(this->offset)));
   xfer += oprot->writeFieldEnd();
 
@@ -6406,6 +6742,14 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_result::read(::apache::t
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -6448,6 +6792,10 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_result::write(::apache::
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -6523,6 +6871,14 @@ uint32_t Airavata_searchExperimentsByNameWithPagination_presult::read(::apache::
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -6870,6 +7226,7 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_args::read(::apache::thr
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_description = false;
@@ -6885,6 +7242,14 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_args::read(::apache::thr
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -6892,7 +7257,7 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_args::read(::apache::thr
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
@@ -6900,7 +7265,7 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_args::read(::apache::thr
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->description);
           isset_description = true;
@@ -6908,7 +7273,7 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_args::read(::apache::thr
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->limit);
           isset_limit = true;
@@ -6916,7 +7281,7 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_args::read(::apache::thr
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->offset);
           isset_offset = true;
@@ -6933,6 +7298,8 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_args::read(::apache::thr
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
@@ -6951,23 +7318,27 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_args::write(::apache::th
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByDescWithPagination_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString(this->description);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32(this->limit);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32(this->offset);
   xfer += oprot->writeFieldEnd();
 
@@ -6987,23 +7358,27 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_pargs::write(::apache::t
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByDescWithPagination_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString((*(this->description)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32((*(this->limit)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32((*(this->offset)));
   xfer += oprot->writeFieldEnd();
 
@@ -7082,6 +7457,14 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_result::read(::apache::t
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -7124,6 +7507,10 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_result::write(::apache::
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -7199,6 +7586,14 @@ uint32_t Airavata_searchExperimentsByDescWithPagination_presult::read(::apache::
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -7546,6 +7941,7 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_args::read(::apac
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_applicationId = false;
@@ -7561,6 +7957,14 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_args::read(::apac
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -7568,7 +7972,7 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_args::read(::apac
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
@@ -7576,7 +7980,7 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_args::read(::apac
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->applicationId);
           isset_applicationId = true;
@@ -7584,7 +7988,7 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_args::read(::apac
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->limit);
           isset_limit = true;
@@ -7592,7 +7996,7 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_args::read(::apac
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->offset);
           isset_offset = true;
@@ -7609,6 +8013,8 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_args::read(::apac
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
@@ -7627,23 +8033,27 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_args::write(::apa
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByApplicationWithPagination_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString(this->applicationId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32(this->limit);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32(this->offset);
   xfer += oprot->writeFieldEnd();
 
@@ -7663,23 +8073,27 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_pargs::write(::ap
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByApplicationWithPagination_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 4);
   xfer += oprot->writeString((*(this->applicationId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32((*(this->limit)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32((*(this->offset)));
   xfer += oprot->writeFieldEnd();
 
@@ -7758,6 +8172,14 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_result::read(::ap
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -7800,6 +8222,10 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_result::write(::a
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -7875,6 +8301,14 @@ uint32_t Airavata_searchExperimentsByApplicationWithPagination_presult::read(::a
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -8224,6 +8658,7 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_args::read(::apache::t
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_experimentState = false;
@@ -8239,6 +8674,14 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_args::read(::apache::t
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -8246,7 +8689,7 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_args::read(::apache::t
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
@@ -8254,7 +8697,7 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_args::read(::apache::t
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast170;
           xfer += iprot->readI32(ecast170);
@@ -8264,7 +8707,7 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_args::read(::apache::t
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->limit);
           isset_limit = true;
@@ -8272,7 +8715,7 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_args::read(::apache::t
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->offset);
           isset_offset = true;
@@ -8289,6 +8732,8 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_args::read(::apache::t
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
@@ -8307,23 +8752,27 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_args::write(::apache::
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByStatusWithPagination_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 3);
+  xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 4);
   xfer += oprot->writeI32((int32_t)this->experimentState);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32(this->limit);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32(this->offset);
   xfer += oprot->writeFieldEnd();
 
@@ -8343,23 +8792,27 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_pargs::write(::apache:
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByStatusWithPagination_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 3);
+  xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 4);
   xfer += oprot->writeI32((int32_t)(*(this->experimentState)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32((*(this->limit)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32((*(this->offset)));
   xfer += oprot->writeFieldEnd();
 
@@ -8438,6 +8891,14 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_result::read(::apache:
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -8480,6 +8941,10 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_result::write(::apache
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -8555,6 +9020,14 @@ uint32_t Airavata_searchExperimentsByStatusWithPagination_presult::read(::apache
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -8921,6 +9394,7 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_args::read(::apa
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_fromTime = false;
@@ -8937,6 +9411,14 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_args::read(::apa
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -8944,7 +9426,7 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_args::read(::apa
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
@@ -8952,7 +9434,7 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_args::read(::apa
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->fromTime);
           isset_fromTime = true;
@@ -8960,7 +9442,7 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_args::read(::apa
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->toTime);
           isset_toTime = true;
@@ -8968,7 +9450,7 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_args::read(::apa
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->limit);
           isset_limit = true;
@@ -8976,7 +9458,7 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_args::read(::apa
           xfer += iprot->skip(ftype);
         }
         break;
-      case 6:
+      case 7:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->offset);
           isset_offset = true;
@@ -8993,6 +9475,8 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_args::read(::apa
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
@@ -9013,27 +9497,31 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_args::write(::ap
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByCreationTimeWithPagination_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("fromTime", ::apache::thrift::protocol::T_I64, 3);
+  xfer += oprot->writeFieldBegin("fromTime", ::apache::thrift::protocol::T_I64, 4);
   xfer += oprot->writeI64(this->fromTime);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("toTime", ::apache::thrift::protocol::T_I64, 4);
+  xfer += oprot->writeFieldBegin("toTime", ::apache::thrift::protocol::T_I64, 5);
   xfer += oprot->writeI64(this->toTime);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32(this->limit);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 7);
   xfer += oprot->writeI32(this->offset);
   xfer += oprot->writeFieldEnd();
 
@@ -9053,27 +9541,31 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_pargs::write(::a
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperimentsByCreationTimeWithPagination_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString((*(this->userName)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("fromTime", ::apache::thrift::protocol::T_I64, 3);
+  xfer += oprot->writeFieldBegin("fromTime", ::apache::thrift::protocol::T_I64, 4);
   xfer += oprot->writeI64((*(this->fromTime)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("toTime", ::apache::thrift::protocol::T_I64, 4);
+  xfer += oprot->writeFieldBegin("toTime", ::apache::thrift::protocol::T_I64, 5);
   xfer += oprot->writeI64((*(this->toTime)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32((*(this->limit)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 7);
   xfer += oprot->writeI32((*(this->offset)));
   xfer += oprot->writeFieldEnd();
 
@@ -9152,6 +9644,14 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_result::read(::a
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -9194,6 +9694,10 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_result::write(::
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -9269,6 +9773,14 @@ uint32_t Airavata_searchExperimentsByCreationTimeWithPagination_presult::read(::
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -9297,6 +9809,7 @@ uint32_t Airavata_searchExperiments_args::read(::apache::thrift::protocol::TProt
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_userName = false;
   bool isset_limit = false;
@@ -9311,6 +9824,14 @@ uint32_t Airavata_searchExperiments_args::read(::apache::thrift::protocol::TProt
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -9318,7 +9839,7 @@ uint32_t Airavata_searchExperiments_args::read(::apache::thrift::protocol::TProt
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userName);
           isset_userName = true;
@@ -9326,7 +9847,7 @@ uint32_t Airavata_searchExperiments_args::read(::apache::thrift::protocol::TProt
           xfer += iprot->skip(ftype);
         }
         break;
-      case 3:
+      case 4:
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->filters.clear();
@@ -9351,7 +9872,7 @@ uint32_t Airavata_searchExperiments_args::read(::apache::thrift::protocol::TProt
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->limit);
           isset_limit = true;
@@ -9359,7 +9880,7 @@ uint32_t Airavata_searchExperiments_args::read(::apache::thrift::protocol::TProt
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->offset);
           isset_offset = true;
@@ -9376,6 +9897,8 @@ uint32_t Airavata_searchExperiments_args::read(::apache::thrift::protocol::TProt
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_userName)
@@ -9392,15 +9915,19 @@ uint32_t Airavata_searchExperiments_args::write(::apache::thrift::protocol::TPro
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperiments_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 3);
   xfer += oprot->writeString(this->userName);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("filters", ::apache::thrift::protocol::T_MAP, 3);
+  xfer += oprot->writeFieldBegin("filters", ::apache::thrift::protocol::T_MAP, 4);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I32, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->filters.size()));
     std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> ::const_iterator _iter212;
@@ -9413,11 +9940,11 @@ uint32_t Airavata_searchExperiments_args::write(::apache::thrift::protocol::TPro
   }
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 4);
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 5);
   xfer += oprot->writeI32(this->limit);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 6);
   xfer += oprot->writeI32(this->offset);
   xfer += oprot->writeFieldEnd();
 
@@ -9437,15 +9964,19 @@ uint32_t Airavata_searchExperiments_pargs::write(::apache::thrift::protocol::TPr
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_searchExperiments_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift:

<TRUNCATED>

[44/44] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata into pr23

Posted by sm...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata into pr23


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

Branch: refs/heads/master
Commit: 796fc3da40b4027e49b2d892f199b6e29c990896
Parents: 43fd3d7 7211c2f
Author: Suresh Marru <sm...@apache.org>
Authored: Tue Jul 21 00:41:09 2015 -0400
Committer: Suresh Marru <sm...@apache.org>
Committed: Tue Jul 21 00:41:09 2015 -0400

----------------------------------------------------------------------
 .../core/experiment/catalog/resources/AbstractExpCatResource.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------



[26/44] airavata git commit: adding security validation on API method calls through interception using the Guice AOP framework.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index c204dbc..e1cfe1a 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -453,14 +453,6 @@ uint32_t Airavata_addGateway_result::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -495,10 +487,6 @@ uint32_t Airavata_addGateway_result::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ae) {
-    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ae.write(oprot);
-    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -562,14 +550,6 @@ uint32_t Airavata_addGateway_presult::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -752,14 +732,6 @@ uint32_t Airavata_updateGateway_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -790,10 +762,6 @@ uint32_t Airavata_updateGateway_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ae) {
-    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ae.write(oprot);
-    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -849,14 +817,6 @@ uint32_t Airavata_updateGateway_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1028,14 +988,6 @@ uint32_t Airavata_getGateway_result::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1070,10 +1022,6 @@ uint32_t Airavata_getGateway_result::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ae) {
-    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ae.write(oprot);
-    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1137,14 +1085,6 @@ uint32_t Airavata_getGateway_presult::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1316,14 +1256,6 @@ uint32_t Airavata_deleteGateway_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1358,10 +1290,6 @@ uint32_t Airavata_deleteGateway_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ae) {
-    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ae.write(oprot);
-    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1425,14 +1353,6 @@ uint32_t Airavata_deleteGateway_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1597,14 +1517,6 @@ uint32_t Airavata_getAllGateways_result::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1647,10 +1559,6 @@ uint32_t Airavata_getAllGateways_result::write(::apache::thrift::protocol::TProt
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ae) {
-    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ae.write(oprot);
-    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1726,14 +1634,6 @@ uint32_t Airavata_getAllGateways_presult::read(::apache::thrift::protocol::TProt
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1905,14 +1805,6 @@ uint32_t Airavata_isGatewayExist_result::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1947,10 +1839,6 @@ uint32_t Airavata_isGatewayExist_result::write(::apache::thrift::protocol::TProt
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ae) {
-    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ae.write(oprot);
-    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -2014,14 +1902,6 @@ uint32_t Airavata_isGatewayExist_presult::read(::apache::thrift::protocol::TProt
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -3017,14 +2897,6 @@ uint32_t Airavata_createProject_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -3059,10 +2931,6 @@ uint32_t Airavata_createProject_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ae) {
-    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ae.write(oprot);
-    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -3126,14 +2994,6 @@ uint32_t Airavata_createProject_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -3162,6 +3022,7 @@ uint32_t Airavata_updateProject_args::read(::apache::thrift::protocol::TProtocol
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_projectId = false;
   bool isset_updatedProject = false;
 
@@ -3174,6 +3035,14 @@ uint32_t Airavata_updateProject_args::read(::apache::thrift::protocol::TProtocol
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->projectId);
           isset_projectId = true;
@@ -3181,7 +3050,7 @@ uint32_t Airavata_updateProject_args::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->updatedProject.read(iprot);
           isset_updatedProject = true;
@@ -3198,6 +3067,8 @@ uint32_t Airavata_updateProject_args::read(::apache::thrift::protocol::TProtocol
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_projectId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_updatedProject)
@@ -3210,11 +3081,15 @@ uint32_t Airavata_updateProject_args::write(::apache::thrift::protocol::TProtoco
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_updateProject_args");
 
-  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->projectId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("updatedProject", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += oprot->writeFieldBegin("updatedProject", ::apache::thrift::protocol::T_STRUCT, 3);
   xfer += this->updatedProject.write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -3234,11 +3109,15 @@ uint32_t Airavata_updateProject_pargs::write(::apache::thrift::protocol::TProtoc
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_updateProject_pargs");
 
-  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->projectId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("updatedProject", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += oprot->writeFieldBegin("updatedProject", ::apache::thrift::protocol::T_STRUCT, 3);
   xfer += (*(this->updatedProject)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -3430,6 +3309,7 @@ uint32_t Airavata_getProject_args::read(::apache::thrift::protocol::TProtocol* i
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_projectId = false;
 
   while (true)
@@ -3441,6 +3321,14 @@ uint32_t Airavata_getProject_args::read(::apache::thrift::protocol::TProtocol* i
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->projectId);
           isset_projectId = true;
@@ -3457,6 +3345,8 @@ uint32_t Airavata_getProject_args::read(::apache::thrift::protocol::TProtocol* i
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_projectId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -3467,7 +3357,11 @@ uint32_t Airavata_getProject_args::write(::apache::thrift::protocol::TProtocol*
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_getProject_args");
 
-  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->projectId);
   xfer += oprot->writeFieldEnd();
 
@@ -3487,7 +3381,11 @@ uint32_t Airavata_getProject_pargs::write(::apache::thrift::protocol::TProtocol*
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_getProject_pargs");
 
-  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->projectId)));
   xfer += oprot->writeFieldEnd();
 
@@ -3699,6 +3597,7 @@ uint32_t Airavata_deleteProject_args::read(::apache::thrift::protocol::TProtocol
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_projectId = false;
 
   while (true)
@@ -3710,6 +3609,14 @@ uint32_t Airavata_deleteProject_args::read(::apache::thrift::protocol::TProtocol
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->projectId);
           isset_projectId = true;
@@ -3726,6 +3633,8 @@ uint32_t Airavata_deleteProject_args::read(::apache::thrift::protocol::TProtocol
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_projectId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -3736,7 +3645,11 @@ uint32_t Airavata_deleteProject_args::write(::apache::thrift::protocol::TProtoco
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_deleteProject_args");
 
-  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->projectId);
   xfer += oprot->writeFieldEnd();
 
@@ -3756,7 +3669,11 @@ uint32_t Airavata_deleteProject_pargs::write(::apache::thrift::protocol::TProtoc
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_deleteProject_pargs");
 
-  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->projectId)));
   xfer += oprot->writeFieldEnd();
 
@@ -35603,9 +35520,6 @@ void AiravataClient::recv_addGateway(std::string& _return)
   if (result.__isset.ase) {
     throw result.ase;
   }
-  if (result.__isset.ae) {
-    throw result.ae;
-  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "addGateway failed: unknown result");
 }
 
@@ -35670,9 +35584,6 @@ void AiravataClient::recv_updateGateway()
   if (result.__isset.ase) {
     throw result.ase;
   }
-  if (result.__isset.ae) {
-    throw result.ae;
-  }
   return;
 }
 
@@ -35741,9 +35652,6 @@ void AiravataClient::recv_getGateway( ::apache::airavata::model::workspace::Gate
   if (result.__isset.ase) {
     throw result.ase;
   }
-  if (result.__isset.ae) {
-    throw result.ae;
-  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getGateway failed: unknown result");
 }
 
@@ -35812,9 +35720,6 @@ bool AiravataClient::recv_deleteGateway()
   if (result.__isset.ase) {
     throw result.ase;
   }
-  if (result.__isset.ae) {
-    throw result.ae;
-  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteGateway failed: unknown result");
 }
 
@@ -35882,9 +35787,6 @@ void AiravataClient::recv_getAllGateways(std::vector< ::apache::airavata::model:
   if (result.__isset.ase) {
     throw result.ase;
   }
-  if (result.__isset.ae) {
-    throw result.ae;
-  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllGateways failed: unknown result");
 }
 
@@ -35953,9 +35855,6 @@ bool AiravataClient::recv_isGatewayExist()
   if (result.__isset.ase) {
     throw result.ase;
   }
-  if (result.__isset.ae) {
-    throw result.ae;
-  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "isGatewayExist failed: unknown result");
 }
 
@@ -36227,24 +36126,22 @@ void AiravataClient::recv_createProject(std::string& _return)
   if (result.__isset.ase) {
     throw result.ase;
   }
-  if (result.__isset.ae) {
-    throw result.ae;
-  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "createProject failed: unknown result");
 }
 
-void AiravataClient::updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject)
+void AiravataClient::updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject)
 {
-  send_updateProject(projectId, updatedProject);
+  send_updateProject(authzToken, projectId, updatedProject);
   recv_updateProject();
 }
 
-void AiravataClient::send_updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject)
+void AiravataClient::send_updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("updateProject", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_updateProject_pargs args;
+  args.authzToken = &authzToken;
   args.projectId = &projectId;
   args.updatedProject = &updatedProject;
   args.write(oprot_);
@@ -36299,18 +36196,19 @@ void AiravataClient::recv_updateProject()
   return;
 }
 
-void AiravataClient::getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId)
+void AiravataClient::getProject( ::apache::airavata::model::workspace::Project& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId)
 {
-  send_getProject(projectId);
+  send_getProject(authzToken, projectId);
   recv_getProject(_return);
 }
 
-void AiravataClient::send_getProject(const std::string& projectId)
+void AiravataClient::send_getProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getProject", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_getProject_pargs args;
+  args.authzToken = &authzToken;
   args.projectId = &projectId;
   args.write(oprot_);
 
@@ -36369,18 +36267,19 @@ void AiravataClient::recv_getProject( ::apache::airavata::model::workspace::Proj
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getProject failed: unknown result");
 }
 
-bool AiravataClient::deleteProject(const std::string& projectId)
+bool AiravataClient::deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId)
 {
-  send_deleteProject(projectId);
+  send_deleteProject(authzToken, projectId);
   return recv_deleteProject();
 }
 
-void AiravataClient::send_deleteProject(const std::string& projectId)
+void AiravataClient::send_deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("deleteProject", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_deleteProject_pargs args;
+  args.authzToken = &authzToken;
   args.projectId = &projectId;
   args.write(oprot_);
 
@@ -44226,9 +44125,6 @@ void AiravataProcessor::process_addGateway(int32_t seqid, ::apache::thrift::prot
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
-  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
-    result.ae = ae;
-    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.addGateway");
@@ -44291,9 +44187,6 @@ void AiravataProcessor::process_updateGateway(int32_t seqid, ::apache::thrift::p
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
-  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
-    result.ae = ae;
-    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.updateGateway");
@@ -44357,9 +44250,6 @@ void AiravataProcessor::process_getGateway(int32_t seqid, ::apache::thrift::prot
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
-  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
-    result.ae = ae;
-    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.getGateway");
@@ -44423,9 +44313,6 @@ void AiravataProcessor::process_deleteGateway(int32_t seqid, ::apache::thrift::p
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
-  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
-    result.ae = ae;
-    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.deleteGateway");
@@ -44489,9 +44376,6 @@ void AiravataProcessor::process_getAllGateways(int32_t seqid, ::apache::thrift::
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
-  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
-    result.ae = ae;
-    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.getAllGateways");
@@ -44555,9 +44439,6 @@ void AiravataProcessor::process_isGatewayExist(int32_t seqid, ::apache::thrift::
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
-  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
-    result.ae = ae;
-    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.isGatewayExist");
@@ -44810,9 +44691,6 @@ void AiravataProcessor::process_createProject(int32_t seqid, ::apache::thrift::p
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
-  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
-    result.ae = ae;
-    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.createProject");
@@ -44865,7 +44743,7 @@ void AiravataProcessor::process_updateProject(int32_t seqid, ::apache::thrift::p
 
   Airavata_updateProject_result result;
   try {
-    iface_->updateProject(args.projectId, args.updatedProject);
+    iface_->updateProject(args.authzToken, args.projectId, args.updatedProject);
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
     result.__isset.ire = true;
@@ -44930,7 +44808,7 @@ void AiravataProcessor::process_getProject(int32_t seqid, ::apache::thrift::prot
 
   Airavata_getProject_result result;
   try {
-    iface_->getProject(result.success, args.projectId);
+    iface_->getProject(result.success, args.authzToken, args.projectId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -44996,7 +44874,7 @@ void AiravataProcessor::process_deleteProject(int32_t seqid, ::apache::thrift::p
 
   Airavata_deleteProject_result result;
   try {
-    result.success = iface_->deleteProject(args.projectId);
+    result.success = iface_->deleteProject(args.authzToken, args.projectId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 39b3f76..851ff26 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -90,19 +90,21 @@ class AiravataIf {
    * Update a Project
    * 
    * 
+   * @param authzToken
    * @param projectId
    * @param updatedProject
    */
-  virtual void updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject) = 0;
+  virtual void updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject) = 0;
 
   /**
    * Get a Project by ID
    * 
    * 
+   * @param authzToken
    * @param projectId
    */
-  virtual void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId) = 0;
-  virtual bool deleteProject(const std::string& projectId) = 0;
+  virtual void getProject( ::apache::airavata::model::workspace::Project& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId) = 0;
+  virtual bool deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId) = 0;
 
   /**
    *   * Get all Project by user
@@ -1838,13 +1840,13 @@ class AiravataNull : virtual public AiravataIf {
   void createProject(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const  ::apache::airavata::model::workspace::Project& /* project */) {
     return;
   }
-  void updateProject(const std::string& /* projectId */, const  ::apache::airavata::model::workspace::Project& /* updatedProject */) {
+  void updateProject(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* projectId */, const  ::apache::airavata::model::workspace::Project& /* updatedProject */) {
     return;
   }
-  void getProject( ::apache::airavata::model::workspace::Project& /* _return */, const std::string& /* projectId */) {
+  void getProject( ::apache::airavata::model::workspace::Project& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* projectId */) {
     return;
   }
-  bool deleteProject(const std::string& /* projectId */) {
+  bool deleteProject(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* projectId */) {
     bool _return = false;
     return _return;
   }
@@ -2425,19 +2427,18 @@ class Airavata_addGateway_pargs {
 };
 
 typedef struct _Airavata_addGateway_result__isset {
-  _Airavata_addGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_addGateway_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_addGateway_result__isset;
 
 class Airavata_addGateway_result {
  public:
 
-  static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023";
-  static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23};
+  static const char* ascii_fingerprint; // = "765449DB00DA08377C7E82BB71F66398";
+  static const uint8_t binary_fingerprint[16]; // = {0x76,0x54,0x49,0xDB,0x00,0xDA,0x08,0x37,0x7C,0x7E,0x82,0xBB,0x71,0xF6,0x63,0x98};
 
   Airavata_addGateway_result(const Airavata_addGateway_result&);
   Airavata_addGateway_result& operator=(const Airavata_addGateway_result&);
@@ -2449,7 +2450,6 @@ class Airavata_addGateway_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_addGateway_result__isset __isset;
 
@@ -2461,8 +2461,6 @@ class Airavata_addGateway_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
-  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
-
   bool operator == (const Airavata_addGateway_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -2473,8 +2471,6 @@ class Airavata_addGateway_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
-    if (!(ae == rhs.ae))
-      return false;
     return true;
   }
   bool operator != (const Airavata_addGateway_result &rhs) const {
@@ -2490,19 +2486,18 @@ class Airavata_addGateway_result {
 };
 
 typedef struct _Airavata_addGateway_presult__isset {
-  _Airavata_addGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_addGateway_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_addGateway_presult__isset;
 
 class Airavata_addGateway_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023";
-  static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23};
+  static const char* ascii_fingerprint; // = "765449DB00DA08377C7E82BB71F66398";
+  static const uint8_t binary_fingerprint[16]; // = {0x76,0x54,0x49,0xDB,0x00,0xDA,0x08,0x37,0x7C,0x7E,0x82,0xBB,0x71,0xF6,0x63,0x98};
 
 
   virtual ~Airavata_addGateway_presult() throw();
@@ -2510,7 +2505,6 @@ class Airavata_addGateway_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_addGateway_presult__isset __isset;
 
@@ -2583,18 +2577,17 @@ class Airavata_updateGateway_pargs {
 };
 
 typedef struct _Airavata_updateGateway_result__isset {
-  _Airavata_updateGateway_result__isset() : ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_updateGateway_result__isset() : ire(false), ace(false), ase(false) {}
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_updateGateway_result__isset;
 
 class Airavata_updateGateway_result {
  public:
 
-  static const char* ascii_fingerprint; // = "0603929641B3F91F81AA6AC437512303";
-  static const uint8_t binary_fingerprint[16]; // = {0x06,0x03,0x92,0x96,0x41,0xB3,0xF9,0x1F,0x81,0xAA,0x6A,0xC4,0x37,0x51,0x23,0x03};
+  static const char* ascii_fingerprint; // = "7A8CA38D7195145C4646F28719CA4673";
+  static const uint8_t binary_fingerprint[16]; // = {0x7A,0x8C,0xA3,0x8D,0x71,0x95,0x14,0x5C,0x46,0x46,0xF2,0x87,0x19,0xCA,0x46,0x73};
 
   Airavata_updateGateway_result(const Airavata_updateGateway_result&);
   Airavata_updateGateway_result& operator=(const Airavata_updateGateway_result&);
@@ -2605,7 +2598,6 @@ class Airavata_updateGateway_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_updateGateway_result__isset __isset;
 
@@ -2615,8 +2607,6 @@ class Airavata_updateGateway_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
-  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
-
   bool operator == (const Airavata_updateGateway_result & rhs) const
   {
     if (!(ire == rhs.ire))
@@ -2625,8 +2615,6 @@ class Airavata_updateGateway_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
-    if (!(ae == rhs.ae))
-      return false;
     return true;
   }
   bool operator != (const Airavata_updateGateway_result &rhs) const {
@@ -2642,25 +2630,23 @@ class Airavata_updateGateway_result {
 };
 
 typedef struct _Airavata_updateGateway_presult__isset {
-  _Airavata_updateGateway_presult__isset() : ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_updateGateway_presult__isset() : ire(false), ace(false), ase(false) {}
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_updateGateway_presult__isset;
 
 class Airavata_updateGateway_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "0603929641B3F91F81AA6AC437512303";
-  static const uint8_t binary_fingerprint[16]; // = {0x06,0x03,0x92,0x96,0x41,0xB3,0xF9,0x1F,0x81,0xAA,0x6A,0xC4,0x37,0x51,0x23,0x03};
+  static const char* ascii_fingerprint; // = "7A8CA38D7195145C4646F28719CA4673";
+  static const uint8_t binary_fingerprint[16]; // = {0x7A,0x8C,0xA3,0x8D,0x71,0x95,0x14,0x5C,0x46,0x46,0xF2,0x87,0x19,0xCA,0x46,0x73};
 
 
   virtual ~Airavata_updateGateway_presult() throw();
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_updateGateway_presult__isset __isset;
 
@@ -2727,19 +2713,18 @@ class Airavata_getGateway_pargs {
 };
 
 typedef struct _Airavata_getGateway_result__isset {
-  _Airavata_getGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_getGateway_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_getGateway_result__isset;
 
 class Airavata_getGateway_result {
  public:
 
-  static const char* ascii_fingerprint; // = "1CD3091B63319C5F9E044C91C5E7D48E";
-  static const uint8_t binary_fingerprint[16]; // = {0x1C,0xD3,0x09,0x1B,0x63,0x31,0x9C,0x5F,0x9E,0x04,0x4C,0x91,0xC5,0xE7,0xD4,0x8E};
+  static const char* ascii_fingerprint; // = "834210047FE35345D7760ACF43FFEE35";
+  static const uint8_t binary_fingerprint[16]; // = {0x83,0x42,0x10,0x04,0x7F,0xE3,0x53,0x45,0xD7,0x76,0x0A,0xCF,0x43,0xFF,0xEE,0x35};
 
   Airavata_getGateway_result(const Airavata_getGateway_result&);
   Airavata_getGateway_result& operator=(const Airavata_getGateway_result&);
@@ -2751,7 +2736,6 @@ class Airavata_getGateway_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_getGateway_result__isset __isset;
 
@@ -2763,8 +2747,6 @@ class Airavata_getGateway_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
-  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
-
   bool operator == (const Airavata_getGateway_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -2775,8 +2757,6 @@ class Airavata_getGateway_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
-    if (!(ae == rhs.ae))
-      return false;
     return true;
   }
   bool operator != (const Airavata_getGateway_result &rhs) const {
@@ -2792,19 +2772,18 @@ class Airavata_getGateway_result {
 };
 
 typedef struct _Airavata_getGateway_presult__isset {
-  _Airavata_getGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_getGateway_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_getGateway_presult__isset;
 
 class Airavata_getGateway_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "1CD3091B63319C5F9E044C91C5E7D48E";
-  static const uint8_t binary_fingerprint[16]; // = {0x1C,0xD3,0x09,0x1B,0x63,0x31,0x9C,0x5F,0x9E,0x04,0x4C,0x91,0xC5,0xE7,0xD4,0x8E};
+  static const char* ascii_fingerprint; // = "834210047FE35345D7760ACF43FFEE35";
+  static const uint8_t binary_fingerprint[16]; // = {0x83,0x42,0x10,0x04,0x7F,0xE3,0x53,0x45,0xD7,0x76,0x0A,0xCF,0x43,0xFF,0xEE,0x35};
 
 
   virtual ~Airavata_getGateway_presult() throw();
@@ -2812,7 +2791,6 @@ class Airavata_getGateway_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_getGateway_presult__isset __isset;
 
@@ -2879,19 +2857,18 @@ class Airavata_deleteGateway_pargs {
 };
 
 typedef struct _Airavata_deleteGateway_result__isset {
-  _Airavata_deleteGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_deleteGateway_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_deleteGateway_result__isset;
 
 class Airavata_deleteGateway_result {
  public:
 
-  static const char* ascii_fingerprint; // = "C0679679E26638BE0A41545C2E17B17A";
-  static const uint8_t binary_fingerprint[16]; // = {0xC0,0x67,0x96,0x79,0xE2,0x66,0x38,0xBE,0x0A,0x41,0x54,0x5C,0x2E,0x17,0xB1,0x7A};
+  static const char* ascii_fingerprint; // = "7B9EFBD21F2946E23A4FA136FF14760C";
+  static const uint8_t binary_fingerprint[16]; // = {0x7B,0x9E,0xFB,0xD2,0x1F,0x29,0x46,0xE2,0x3A,0x4F,0xA1,0x36,0xFF,0x14,0x76,0x0C};
 
   Airavata_deleteGateway_result(const Airavata_deleteGateway_result&);
   Airavata_deleteGateway_result& operator=(const Airavata_deleteGateway_result&);
@@ -2903,7 +2880,6 @@ class Airavata_deleteGateway_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_deleteGateway_result__isset __isset;
 
@@ -2915,8 +2891,6 @@ class Airavata_deleteGateway_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
-  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
-
   bool operator == (const Airavata_deleteGateway_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -2927,8 +2901,6 @@ class Airavata_deleteGateway_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
-    if (!(ae == rhs.ae))
-      return false;
     return true;
   }
   bool operator != (const Airavata_deleteGateway_result &rhs) const {
@@ -2944,19 +2916,18 @@ class Airavata_deleteGateway_result {
 };
 
 typedef struct _Airavata_deleteGateway_presult__isset {
-  _Airavata_deleteGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_deleteGateway_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_deleteGateway_presult__isset;
 
 class Airavata_deleteGateway_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "C0679679E26638BE0A41545C2E17B17A";
-  static const uint8_t binary_fingerprint[16]; // = {0xC0,0x67,0x96,0x79,0xE2,0x66,0x38,0xBE,0x0A,0x41,0x54,0x5C,0x2E,0x17,0xB1,0x7A};
+  static const char* ascii_fingerprint; // = "7B9EFBD21F2946E23A4FA136FF14760C";
+  static const uint8_t binary_fingerprint[16]; // = {0x7B,0x9E,0xFB,0xD2,0x1F,0x29,0x46,0xE2,0x3A,0x4F,0xA1,0x36,0xFF,0x14,0x76,0x0C};
 
 
   virtual ~Airavata_deleteGateway_presult() throw();
@@ -2964,7 +2935,6 @@ class Airavata_deleteGateway_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_deleteGateway_presult__isset __isset;
 
@@ -3025,19 +2995,18 @@ class Airavata_getAllGateways_pargs {
 };
 
 typedef struct _Airavata_getAllGateways_result__isset {
-  _Airavata_getAllGateways_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_getAllGateways_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_getAllGateways_result__isset;
 
 class Airavata_getAllGateways_result {
  public:
 
-  static const char* ascii_fingerprint; // = "797B839022B9DB504CEA88A61463B523";
-  static const uint8_t binary_fingerprint[16]; // = {0x79,0x7B,0x83,0x90,0x22,0xB9,0xDB,0x50,0x4C,0xEA,0x88,0xA6,0x14,0x63,0xB5,0x23};
+  static const char* ascii_fingerprint; // = "9FBF38532C8C08BBEF927DC04BA26D19";
+  static const uint8_t binary_fingerprint[16]; // = {0x9F,0xBF,0x38,0x53,0x2C,0x8C,0x08,0xBB,0xEF,0x92,0x7D,0xC0,0x4B,0xA2,0x6D,0x19};
 
   Airavata_getAllGateways_result(const Airavata_getAllGateways_result&);
   Airavata_getAllGateways_result& operator=(const Airavata_getAllGateways_result&);
@@ -3049,7 +3018,6 @@ class Airavata_getAllGateways_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_getAllGateways_result__isset __isset;
 
@@ -3061,8 +3029,6 @@ class Airavata_getAllGateways_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
-  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
-
   bool operator == (const Airavata_getAllGateways_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -3073,8 +3039,6 @@ class Airavata_getAllGateways_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
-    if (!(ae == rhs.ae))
-      return false;
     return true;
   }
   bool operator != (const Airavata_getAllGateways_result &rhs) const {
@@ -3090,19 +3054,18 @@ class Airavata_getAllGateways_result {
 };
 
 typedef struct _Airavata_getAllGateways_presult__isset {
-  _Airavata_getAllGateways_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_getAllGateways_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_getAllGateways_presult__isset;
 
 class Airavata_getAllGateways_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "797B839022B9DB504CEA88A61463B523";
-  static const uint8_t binary_fingerprint[16]; // = {0x79,0x7B,0x83,0x90,0x22,0xB9,0xDB,0x50,0x4C,0xEA,0x88,0xA6,0x14,0x63,0xB5,0x23};
+  static const char* ascii_fingerprint; // = "9FBF38532C8C08BBEF927DC04BA26D19";
+  static const uint8_t binary_fingerprint[16]; // = {0x9F,0xBF,0x38,0x53,0x2C,0x8C,0x08,0xBB,0xEF,0x92,0x7D,0xC0,0x4B,0xA2,0x6D,0x19};
 
 
   virtual ~Airavata_getAllGateways_presult() throw();
@@ -3110,7 +3073,6 @@ class Airavata_getAllGateways_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_getAllGateways_presult__isset __isset;
 
@@ -3177,19 +3139,18 @@ class Airavata_isGatewayExist_pargs {
 };
 
 typedef struct _Airavata_isGatewayExist_result__isset {
-  _Airavata_isGatewayExist_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_isGatewayExist_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_isGatewayExist_result__isset;
 
 class Airavata_isGatewayExist_result {
  public:
 
-  static const char* ascii_fingerprint; // = "C0679679E26638BE0A41545C2E17B17A";
-  static const uint8_t binary_fingerprint[16]; // = {0xC0,0x67,0x96,0x79,0xE2,0x66,0x38,0xBE,0x0A,0x41,0x54,0x5C,0x2E,0x17,0xB1,0x7A};
+  static const char* ascii_fingerprint; // = "7B9EFBD21F2946E23A4FA136FF14760C";
+  static const uint8_t binary_fingerprint[16]; // = {0x7B,0x9E,0xFB,0xD2,0x1F,0x29,0x46,0xE2,0x3A,0x4F,0xA1,0x36,0xFF,0x14,0x76,0x0C};
 
   Airavata_isGatewayExist_result(const Airavata_isGatewayExist_result&);
   Airavata_isGatewayExist_result& operator=(const Airavata_isGatewayExist_result&);
@@ -3201,7 +3162,6 @@ class Airavata_isGatewayExist_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_isGatewayExist_result__isset __isset;
 
@@ -3213,8 +3173,6 @@ class Airavata_isGatewayExist_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
-  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
-
   bool operator == (const Airavata_isGatewayExist_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -3225,8 +3183,6 @@ class Airavata_isGatewayExist_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
-    if (!(ae == rhs.ae))
-      return false;
     return true;
   }
   bool operator != (const Airavata_isGatewayExist_result &rhs) const {
@@ -3242,19 +3198,18 @@ class Airavata_isGatewayExist_result {
 };
 
 typedef struct _Airavata_isGatewayExist_presult__isset {
-  _Airavata_isGatewayExist_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_isGatewayExist_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_isGatewayExist_presult__isset;
 
 class Airavata_isGatewayExist_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "C0679679E26638BE0A41545C2E17B17A";
-  static const uint8_t binary_fingerprint[16]; // = {0xC0,0x67,0x96,0x79,0xE2,0x66,0x38,0xBE,0x0A,0x41,0x54,0x5C,0x2E,0x17,0xB1,0x7A};
+  static const char* ascii_fingerprint; // = "7B9EFBD21F2946E23A4FA136FF14760C";
+  static const uint8_t binary_fingerprint[16]; // = {0x7B,0x9E,0xFB,0xD2,0x1F,0x29,0x46,0xE2,0x3A,0x4F,0xA1,0x36,0xFF,0x14,0x76,0x0C};
 
 
   virtual ~Airavata_isGatewayExist_presult() throw();
@@ -3262,7 +3217,6 @@ class Airavata_isGatewayExist_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_isGatewayExist_presult__isset __isset;
 
@@ -3755,19 +3709,18 @@ class Airavata_createProject_pargs {
 };
 
 typedef struct _Airavata_createProject_result__isset {
-  _Airavata_createProject_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_createProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_createProject_result__isset;
 
 class Airavata_createProject_result {
  public:
 
-  static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023";
-  static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23};
+  static const char* ascii_fingerprint; // = "765449DB00DA08377C7E82BB71F66398";
+  static const uint8_t binary_fingerprint[16]; // = {0x76,0x54,0x49,0xDB,0x00,0xDA,0x08,0x37,0x7C,0x7E,0x82,0xBB,0x71,0xF6,0x63,0x98};
 
   Airavata_createProject_result(const Airavata_createProject_result&);
   Airavata_createProject_result& operator=(const Airavata_createProject_result&);
@@ -3779,7 +3732,6 @@ class Airavata_createProject_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_createProject_result__isset __isset;
 
@@ -3791,8 +3743,6 @@ class Airavata_createProject_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
-  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
-
   bool operator == (const Airavata_createProject_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -3803,8 +3753,6 @@ class Airavata_createProject_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
-    if (!(ae == rhs.ae))
-      return false;
     return true;
   }
   bool operator != (const Airavata_createProject_result &rhs) const {
@@ -3820,19 +3768,18 @@ class Airavata_createProject_result {
 };
 
 typedef struct _Airavata_createProject_presult__isset {
-  _Airavata_createProject_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
+  _Airavata_createProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
-  bool ae :1;
 } _Airavata_createProject_presult__isset;
 
 class Airavata_createProject_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023";
-  static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23};
+  static const char* ascii_fingerprint; // = "765449DB00DA08377C7E82BB71F66398";
+  static const uint8_t binary_fingerprint[16]; // = {0x76,0x54,0x49,0xDB,0x00,0xDA,0x08,0x37,0x7C,0x7E,0x82,0xBB,0x71,0xF6,0x63,0x98};
 
 
   virtual ~Airavata_createProject_presult() throw();
@@ -3840,7 +3787,6 @@ class Airavata_createProject_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_createProject_presult__isset __isset;
 
@@ -3853,8 +3799,8 @@ class Airavata_createProject_presult {
 class Airavata_updateProject_args {
  public:
 
-  static const char* ascii_fingerprint; // = "20BB76567749BB84DDDDE69C2A7A0B13";
-  static const uint8_t binary_fingerprint[16]; // = {0x20,0xBB,0x76,0x56,0x77,0x49,0xBB,0x84,0xDD,0xDD,0xE6,0x9C,0x2A,0x7A,0x0B,0x13};
+  static const char* ascii_fingerprint; // = "6AD998897EEB0CD749E1E97F7A084A23";
+  static const uint8_t binary_fingerprint[16]; // = {0x6A,0xD9,0x98,0x89,0x7E,0xEB,0x0C,0xD7,0x49,0xE1,0xE9,0x7F,0x7A,0x08,0x4A,0x23};
 
   Airavata_updateProject_args(const Airavata_updateProject_args&);
   Airavata_updateProject_args& operator=(const Airavata_updateProject_args&);
@@ -3862,15 +3808,20 @@ class Airavata_updateProject_args {
   }
 
   virtual ~Airavata_updateProject_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
   std::string projectId;
    ::apache::airavata::model::workspace::Project updatedProject;
 
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
   void __set_projectId(const std::string& val);
 
   void __set_updatedProject(const  ::apache::airavata::model::workspace::Project& val);
 
   bool operator == (const Airavata_updateProject_args & rhs) const
   {
+    if (!(authzToken == rhs.authzToken))
+      return false;
     if (!(projectId == rhs.projectId))
       return false;
     if (!(updatedProject == rhs.updatedProject))
@@ -3893,11 +3844,12 @@ class Airavata_updateProject_args {
 class Airavata_updateProject_pargs {
  public:
 
-  static const char* ascii_fingerprint; // = "20BB76567749BB84DDDDE69C2A7A0B13";
-  static const uint8_t binary_fingerprint[16]; // = {0x20,0xBB,0x76,0x56,0x77,0x49,0xBB,0x84,0xDD,0xDD,0xE6,0x9C,0x2A,0x7A,0x0B,0x13};
+  static const char* ascii_fingerprint; // = "6AD998897EEB0CD749E1E97F7A084A23";
+  static const uint8_t binary_fingerprint[16]; // = {0x6A,0xD9,0x98,0x89,0x7E,0xEB,0x0C,0xD7,0x49,0xE1,0xE9,0x7F,0x7A,0x08,0x4A,0x23};
 
 
   virtual ~Airavata_updateProject_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const std::string* projectId;
   const  ::apache::airavata::model::workspace::Project* updatedProject;
 
@@ -3997,8 +3949,8 @@ class Airavata_updateProject_presult {
 class Airavata_getProject_args {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+  static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
 
   Airavata_getProject_args(const Airavata_getProject_args&);
   Airavata_getProject_args& operator=(const Airavata_getProject_args&);
@@ -4006,12 +3958,17 @@ class Airavata_getProject_args {
   }
 
   virtual ~Airavata_getProject_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
   std::string projectId;
 
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
   void __set_projectId(const std::string& val);
 
   bool operator == (const Airavata_getProject_args & rhs) const
   {
+    if (!(authzToken == rhs.authzToken))
+      return false;
     if (!(projectId == rhs.projectId))
       return false;
     return true;
@@ -4032,11 +3989,12 @@ class Airavata_getProject_args {
 class Airavata_getProject_pargs {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+  static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
 
 
   virtual ~Airavata_getProject_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const std::string* projectId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -4143,8 +4101,8 @@ class Airavata_getProject_presult {
 class Airavata_deleteProject_args {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+  static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
 
   Airavata_deleteProject_args(const Airavata_deleteProject_args&);
   Airavata_deleteProject_args& operator=(const Airavata_deleteProject_args&);
@@ -4152,12 +4110,17 @@ class Airavata_deleteProject_args {
   }
 
   virtual ~Airavata_deleteProject_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
   std::string projectId;
 
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
   void __set_projectId(const std::string& val);
 
   bool operator == (const Airavata_deleteProject_args & rhs) const
   {
+    if (!(authzToken == rhs.authzToken))
+      return false;
     if (!(projectId == rhs.projectId))
       return false;
     return true;
@@ -4178,11 +4141,12 @@ class Airavata_deleteProject_args {
 class Airavata_deleteProject_pargs {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+  static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
 
 
   virtual ~Airavata_deleteProject_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const std::string* projectId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -20603,14 +20567,14 @@ class AiravataClient : virtual public AiravataIf {
   void createProject(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
   void send_createProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
   void recv_createProject(std::string& _return);
-  void updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
-  void send_updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
+  void updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
+  void send_updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
   void recv_updateProject();
-  void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId);
-  void send_getProject(const std::string& projectId);
+  void getProject( ::apache::airavata::model::workspace::Project& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
+  void send_getProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
   void recv_getProject( ::apache::airavata::model::workspace::Project& _return);
-  bool deleteProject(const std::string& projectId);
-  void send_deleteProject(const std::string& projectId);
+  bool deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
+  void send_deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId);
   bool recv_deleteProject();
   void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName);
   void send_getAllUserProjects(const std::string& gatewayId, const std::string& userName);
@@ -21358,32 +21322,32 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject) {
+  void updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->updateProject(projectId, updatedProject);
+      ifaces_[i]->updateProject(authzToken, projectId, updatedProject);
     }
-    ifaces_[i]->updateProject(projectId, updatedProject);
+    ifaces_[i]->updateProject(authzToken, projectId, updatedProject);
   }
 
-  void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId) {
+  void getProject( ::apache::airavata::model::workspace::Project& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getProject(_return, projectId);
+      ifaces_[i]->getProject(_return, authzToken, projectId);
     }
-    ifaces_[i]->getProject(_return, projectId);
+    ifaces_[i]->getProject(_return, authzToken, projectId);
     return;
   }
 
-  bool deleteProject(const std::string& projectId) {
+  bool deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->deleteProject(projectId);
+      ifaces_[i]->deleteProject(authzToken, projectId);
     }
-    return ifaces_[i]->deleteProject(projectId);
+    return ifaces_[i]->deleteProject(authzToken, projectId);
   }
 
   void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index cf44cf6..7145e99 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -137,10 +137,11 @@ class AiravataHandler : virtual public AiravataIf {
    * Update a Project
    * 
    * 
+   * @param authzToken
    * @param projectId
    * @param updatedProject
    */
-  void updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject) {
+  void updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject) {
     // Your implementation goes here
     printf("updateProject\n");
   }
@@ -149,14 +150,15 @@ class AiravataHandler : virtual public AiravataIf {
    * Get a Project by ID
    * 
    * 
+   * @param authzToken
    * @param projectId
    */
-  void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId) {
+  void getProject( ::apache::airavata::model::workspace::Project& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId) {
     // Your implementation goes here
     printf("getProject\n");
   }
 
-  bool deleteProject(const std::string& projectId) {
+  bool deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId) {
     // Your implementation goes here
     printf("deleteProject\n");
   }


[03/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Status/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Status/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Status/Types.php
new file mode 100644
index 0000000..603e75b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Status/Types.php
@@ -0,0 +1,607 @@
+<?php
+namespace Airavata\Model\Status;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+final class ExperimentState {
+  const CREATED = 0;
+  const VALIDATED = 1;
+  const SCHEDULED = 2;
+  const LAUNCHED = 3;
+  const EXECUTING = 4;
+  const CANCELING = 5;
+  const CANCELED = 6;
+  const COMPLETED = 7;
+  const FAILED = 8;
+  static public $__names = array(
+    0 => 'CREATED',
+    1 => 'VALIDATED',
+    2 => 'SCHEDULED',
+    3 => 'LAUNCHED',
+    4 => 'EXECUTING',
+    5 => 'CANCELING',
+    6 => 'CANCELED',
+    7 => 'COMPLETED',
+    8 => 'FAILED',
+  );
+}
+
+final class TaskState {
+  const CREATED = 0;
+  const EXECUTING = 1;
+  const COMPLETED = 2;
+  const FAILED = 3;
+  const CANCELED = 4;
+  static public $__names = array(
+    0 => 'CREATED',
+    1 => 'EXECUTING',
+    2 => 'COMPLETED',
+    3 => 'FAILED',
+    4 => 'CANCELED',
+  );
+}
+
+final class ProcessState {
+  const CREATED = 0;
+  const VALIDATED = 1;
+  const PRE_PROCESSING = 2;
+  const CONFIGURING_WORKSPACE = 3;
+  const INPUT_DATA_STAGING = 4;
+  const EXECUTING = 5;
+  const MONITORING = 6;
+  const OUTPUT_DATA_STAGING = 7;
+  const POST_PROCESSING = 8;
+  const COMPLETED = 9;
+  const FAILED = 10;
+  const CANCELLING = 11;
+  const CANCELED = 12;
+  static public $__names = array(
+    0 => 'CREATED',
+    1 => 'VALIDATED',
+    2 => 'PRE_PROCESSING',
+    3 => 'CONFIGURING_WORKSPACE',
+    4 => 'INPUT_DATA_STAGING',
+    5 => 'EXECUTING',
+    6 => 'MONITORING',
+    7 => 'OUTPUT_DATA_STAGING',
+    8 => 'POST_PROCESSING',
+    9 => 'COMPLETED',
+    10 => 'FAILED',
+    11 => 'CANCELLING',
+    12 => 'CANCELED',
+  );
+}
+
+final class JobState {
+  const SUBMITTED = 0;
+  const QUEUED = 1;
+  const ACTIVE = 2;
+  const COMPLETE = 3;
+  const CANCELED = 4;
+  const FAILED = 5;
+  const SUSPENDED = 6;
+  const UNKNOWN = 7;
+  static public $__names = array(
+    0 => 'SUBMITTED',
+    1 => 'QUEUED',
+    2 => 'ACTIVE',
+    3 => 'COMPLETE',
+    4 => 'CANCELED',
+    5 => 'FAILED',
+    6 => 'SUSPENDED',
+    7 => 'UNKNOWN',
+  );
+}
+
+/**
+ * Status: A generic status object.
+ * 
+ * state:
+ *   State .
+ * 
+ * timeOfStateChange:
+ *   time the status was last updated.
+ * 
+ * reason:
+ *   User friendly reason on how the state is inferred.
+ * 
+ */
+class ExperimentStatus {
+  static $_TSPEC;
+
+  /**
+   * @var int
+   */
+  public $state = null;
+  /**
+   * @var int
+   */
+  public $timeOfStateChange = null;
+  /**
+   * @var string
+   */
+  public $reason = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'state',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'timeOfStateChange',
+          'type' => TType::I64,
+          ),
+        3 => array(
+          'var' => 'reason',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['state'])) {
+        $this->state = $vals['state'];
+      }
+      if (isset($vals['timeOfStateChange'])) {
+        $this->timeOfStateChange = $vals['timeOfStateChange'];
+      }
+      if (isset($vals['reason'])) {
+        $this->reason = $vals['reason'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ExperimentStatus';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->state);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->timeOfStateChange);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->reason);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ExperimentStatus');
+    if ($this->state !== null) {
+      $xfer += $output->writeFieldBegin('state', TType::I32, 1);
+      $xfer += $output->writeI32($this->state);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->timeOfStateChange !== null) {
+      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+      $xfer += $output->writeI64($this->timeOfStateChange);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->reason !== null) {
+      $xfer += $output->writeFieldBegin('reason', TType::STRING, 3);
+      $xfer += $output->writeString($this->reason);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ProcessStatus {
+  static $_TSPEC;
+
+  /**
+   * @var int
+   */
+  public $state = null;
+  /**
+   * @var int
+   */
+  public $timeOfStateChange = null;
+  /**
+   * @var string
+   */
+  public $reason = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'state',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'timeOfStateChange',
+          'type' => TType::I64,
+          ),
+        3 => array(
+          'var' => 'reason',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['state'])) {
+        $this->state = $vals['state'];
+      }
+      if (isset($vals['timeOfStateChange'])) {
+        $this->timeOfStateChange = $vals['timeOfStateChange'];
+      }
+      if (isset($vals['reason'])) {
+        $this->reason = $vals['reason'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ProcessStatus';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->state);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->timeOfStateChange);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->reason);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ProcessStatus');
+    if ($this->state !== null) {
+      $xfer += $output->writeFieldBegin('state', TType::I32, 1);
+      $xfer += $output->writeI32($this->state);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->timeOfStateChange !== null) {
+      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+      $xfer += $output->writeI64($this->timeOfStateChange);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->reason !== null) {
+      $xfer += $output->writeFieldBegin('reason', TType::STRING, 3);
+      $xfer += $output->writeString($this->reason);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class TaskStatus {
+  static $_TSPEC;
+
+  /**
+   * @var int
+   */
+  public $state = null;
+  /**
+   * @var int
+   */
+  public $timeOfStateChange = null;
+  /**
+   * @var string
+   */
+  public $reason = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'state',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'timeOfStateChange',
+          'type' => TType::I64,
+          ),
+        3 => array(
+          'var' => 'reason',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['state'])) {
+        $this->state = $vals['state'];
+      }
+      if (isset($vals['timeOfStateChange'])) {
+        $this->timeOfStateChange = $vals['timeOfStateChange'];
+      }
+      if (isset($vals['reason'])) {
+        $this->reason = $vals['reason'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'TaskStatus';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->state);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->timeOfStateChange);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->reason);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('TaskStatus');
+    if ($this->state !== null) {
+      $xfer += $output->writeFieldBegin('state', TType::I32, 1);
+      $xfer += $output->writeI32($this->state);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->timeOfStateChange !== null) {
+      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+      $xfer += $output->writeI64($this->timeOfStateChange);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->reason !== null) {
+      $xfer += $output->writeFieldBegin('reason', TType::STRING, 3);
+      $xfer += $output->writeString($this->reason);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class JobStatus {
+  static $_TSPEC;
+
+  /**
+   * @var int
+   */
+  public $jobState = null;
+  /**
+   * @var int
+   */
+  public $timeOfStateChange = null;
+  /**
+   * @var string
+   */
+  public $reason = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'jobState',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'timeOfStateChange',
+          'type' => TType::I64,
+          ),
+        3 => array(
+          'var' => 'reason',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['jobState'])) {
+        $this->jobState = $vals['jobState'];
+      }
+      if (isset($vals['timeOfStateChange'])) {
+        $this->timeOfStateChange = $vals['timeOfStateChange'];
+      }
+      if (isset($vals['reason'])) {
+        $this->reason = $vals['reason'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'JobStatus';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->jobState);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->timeOfStateChange);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->reason);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('JobStatus');
+    if ($this->jobState !== null) {
+      $xfer += $output->writeFieldBegin('jobState', TType::I32, 1);
+      $xfer += $output->writeI32($this->jobState);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->timeOfStateChange !== null) {
+      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+      $xfer += $output->writeI64($this->timeOfStateChange);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->reason !== null) {
+      $xfer += $output->writeFieldBegin('reason', TType::STRING, 3);
+      $xfer += $output->writeString($this->reason);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
new file mode 100644
index 0000000..66b5cfa
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
@@ -0,0 +1,491 @@
+<?php
+namespace Airavata\Model\Task;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+/**
+ * TaskTypes: An enumerated list of TaskTypes. Task being generic, the task type will provide the concrete interpretation.
+ * 
+ */
+final class TaskTypes {
+  const ENV_SETUP = 0;
+  const DATA_STAGING = 1;
+  const JOB_SUBMISSION = 2;
+  const ENV_CLEANUP = 3;
+  const MONITORING = 4;
+  static public $__names = array(
+    0 => 'ENV_SETUP',
+    1 => 'DATA_STAGING',
+    2 => 'JOB_SUBMISSION',
+    3 => 'ENV_CLEANUP',
+    4 => 'MONITORING',
+  );
+}
+
+/**
+ * TaskModel: A structure holding the generic task details.
+ * 
+ * taskDetail:
+ *   A friendly description of the task, usally used to communicate information to users.
+ * 
+ * subTaskModel:
+ *   A generic byte object for the Task developer to store internal serialized data into registry catalogs.
+ */
+class TaskModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $taskId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
+  public $taskType = null;
+  /**
+   * @var string
+   */
+  public $parentProcessId = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var int
+   */
+  public $lastUpdateTime = null;
+  /**
+   * @var \Airavata\Model\Status\TaskStatus
+   */
+  public $taskStatus = null;
+  /**
+   * @var string
+   */
+  public $taskDetail = null;
+  /**
+   * @var string
+   */
+  public $subTaskModel = null;
+  /**
+   * @var \Airavata\Model\Commons\ErrorModel
+   */
+  public $taskError = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'taskId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'taskType',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'parentProcessId',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        5 => array(
+          'var' => 'lastUpdateTime',
+          'type' => TType::I64,
+          ),
+        6 => array(
+          'var' => 'taskStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Status\TaskStatus',
+          ),
+        7 => array(
+          'var' => 'taskDetail',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'subTaskModel',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'taskError',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Commons\ErrorModel',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['taskId'])) {
+        $this->taskId = $vals['taskId'];
+      }
+      if (isset($vals['taskType'])) {
+        $this->taskType = $vals['taskType'];
+      }
+      if (isset($vals['parentProcessId'])) {
+        $this->parentProcessId = $vals['parentProcessId'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['lastUpdateTime'])) {
+        $this->lastUpdateTime = $vals['lastUpdateTime'];
+      }
+      if (isset($vals['taskStatus'])) {
+        $this->taskStatus = $vals['taskStatus'];
+      }
+      if (isset($vals['taskDetail'])) {
+        $this->taskDetail = $vals['taskDetail'];
+      }
+      if (isset($vals['subTaskModel'])) {
+        $this->subTaskModel = $vals['subTaskModel'];
+      }
+      if (isset($vals['taskError'])) {
+        $this->taskError = $vals['taskError'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'TaskModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->taskId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->taskType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->parentProcessId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastUpdateTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRUCT) {
+            $this->taskStatus = new \Airavata\Model\Status\TaskStatus();
+            $xfer += $this->taskStatus->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->taskDetail);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->subTaskModel);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRUCT) {
+            $this->taskError = new \Airavata\Model\Commons\ErrorModel();
+            $xfer += $this->taskError->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('TaskModel');
+    if ($this->taskId !== null) {
+      $xfer += $output->writeFieldBegin('taskId', TType::STRING, 1);
+      $xfer += $output->writeString($this->taskId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->taskType !== null) {
+      $xfer += $output->writeFieldBegin('taskType', TType::I32, 2);
+      $xfer += $output->writeI32($this->taskType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->parentProcessId !== null) {
+      $xfer += $output->writeFieldBegin('parentProcessId', TType::STRING, 3);
+      $xfer += $output->writeString($this->parentProcessId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 4);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->lastUpdateTime !== null) {
+      $xfer += $output->writeFieldBegin('lastUpdateTime', TType::I64, 5);
+      $xfer += $output->writeI64($this->lastUpdateTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->taskStatus !== null) {
+      if (!is_object($this->taskStatus)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('taskStatus', TType::STRUCT, 6);
+      $xfer += $this->taskStatus->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->taskDetail !== null) {
+      $xfer += $output->writeFieldBegin('taskDetail', TType::STRING, 7);
+      $xfer += $output->writeString($this->taskDetail);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->subTaskModel !== null) {
+      $xfer += $output->writeFieldBegin('subTaskModel', TType::STRING, 8);
+      $xfer += $output->writeString($this->subTaskModel);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->taskError !== null) {
+      if (!is_object($this->taskError)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('taskError', TType::STRUCT, 9);
+      $xfer += $this->taskError->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * DataStagingTaskModel: A structure holding the data staging task details.
+ * 
+ * Source and Destination locations includes standard representation of protocol, host, port and path
+ *   A friendly description of the task, usally used to communicate information to users.
+ * 
+ */
+class DataStagingTaskModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $source = null;
+  /**
+   * @var string
+   */
+  public $destination = null;
+  /**
+   * @var int
+   */
+  public $transferStartTime = null;
+  /**
+   * @var int
+   */
+  public $transferEndTime = null;
+  /**
+   * @var string
+   */
+  public $transferRate = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'source',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'destination',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'transferStartTime',
+          'type' => TType::I64,
+          ),
+        4 => array(
+          'var' => 'transferEndTime',
+          'type' => TType::I64,
+          ),
+        5 => array(
+          'var' => 'transferRate',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['source'])) {
+        $this->source = $vals['source'];
+      }
+      if (isset($vals['destination'])) {
+        $this->destination = $vals['destination'];
+      }
+      if (isset($vals['transferStartTime'])) {
+        $this->transferStartTime = $vals['transferStartTime'];
+      }
+      if (isset($vals['transferEndTime'])) {
+        $this->transferEndTime = $vals['transferEndTime'];
+      }
+      if (isset($vals['transferRate'])) {
+        $this->transferRate = $vals['transferRate'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DataStagingTaskModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->source);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->destination);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->transferStartTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->transferEndTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->transferRate);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('DataStagingTaskModel');
+    if ($this->source !== null) {
+      $xfer += $output->writeFieldBegin('source', TType::STRING, 1);
+      $xfer += $output->writeString($this->source);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->destination !== null) {
+      $xfer += $output->writeFieldBegin('destination', TType::STRING, 2);
+      $xfer += $output->writeString($this->destination);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->transferStartTime !== null) {
+      $xfer += $output->writeFieldBegin('transferStartTime', TType::I64, 3);
+      $xfer += $output->writeI64($this->transferStartTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->transferEndTime !== null) {
+      $xfer += $output->writeFieldBegin('transferEndTime', TType::I64, 4);
+      $xfer += $output->writeI64($this->transferEndTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->transferRate !== null) {
+      $xfer += $output->writeFieldBegin('transferRate', TType::STRING, 5);
+      $xfer += $output->writeString($this->transferRate);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
index 21d877c..1304f75 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
@@ -263,12 +263,4 @@ class Workflow {
 
 }
 
-final class Constant extends \Thrift\Type\TConstant {
-  static protected $DEFAULT_ID;
-
-  static protected function init_DEFAULT_ID() {
-    return "DO_NOT_SET_AT_CLIENTS";
-  }
-}
-
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
index 458f6ea..4523e3d 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
@@ -121,7 +121,7 @@ class Project {
   /**
    * @var string
    */
-  public $projectID = null;
+  public $projectID = "DO_NOT_SET_AT_CLIENTS";
   /**
    * @var string
    */

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/job/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/job/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/job/Types.php
new file mode 100644
index 0000000..8869cdb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/job/Types.php
@@ -0,0 +1,261 @@
+<?php
+namespace Airavata\Model\job;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+class JobModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $jobId = null;
+  /**
+   * @var string
+   */
+  public $taskId = null;
+  /**
+   * @var string
+   */
+  public $jobDescription = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var \Airavata\Model\Status\JobStatus
+   */
+  public $jobStatus = null;
+  /**
+   * @var string
+   */
+  public $computeResourceConsumed = null;
+  /**
+   * @var string
+   */
+  public $jobName = null;
+  /**
+   * @var string
+   */
+  public $workingDir = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'jobId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'taskId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'jobDescription',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        5 => array(
+          'var' => 'jobStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Status\JobStatus',
+          ),
+        6 => array(
+          'var' => 'computeResourceConsumed',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'jobName',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'workingDir',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['jobId'])) {
+        $this->jobId = $vals['jobId'];
+      }
+      if (isset($vals['taskId'])) {
+        $this->taskId = $vals['taskId'];
+      }
+      if (isset($vals['jobDescription'])) {
+        $this->jobDescription = $vals['jobDescription'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['jobStatus'])) {
+        $this->jobStatus = $vals['jobStatus'];
+      }
+      if (isset($vals['computeResourceConsumed'])) {
+        $this->computeResourceConsumed = $vals['computeResourceConsumed'];
+      }
+      if (isset($vals['jobName'])) {
+        $this->jobName = $vals['jobName'];
+      }
+      if (isset($vals['workingDir'])) {
+        $this->workingDir = $vals['workingDir'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'JobModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->jobId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->taskId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->jobDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRUCT) {
+            $this->jobStatus = new \Airavata\Model\Status\JobStatus();
+            $xfer += $this->jobStatus->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->computeResourceConsumed);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->jobName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->workingDir);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('JobModel');
+    if ($this->jobId !== null) {
+      $xfer += $output->writeFieldBegin('jobId', TType::STRING, 1);
+      $xfer += $output->writeString($this->jobId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->taskId !== null) {
+      $xfer += $output->writeFieldBegin('taskId', TType::STRING, 2);
+      $xfer += $output->writeString($this->taskId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->jobDescription !== null) {
+      $xfer += $output->writeFieldBegin('jobDescription', TType::STRING, 3);
+      $xfer += $output->writeString($this->jobDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 4);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->jobStatus !== null) {
+      if (!is_object($this->jobStatus)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('jobStatus', TType::STRUCT, 5);
+      $xfer += $this->jobStatus->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->computeResourceConsumed !== null) {
+      $xfer += $output->writeFieldBegin('computeResourceConsumed', TType::STRING, 6);
+      $xfer += $output->writeString($this->computeResourceConsumed);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->jobName !== null) {
+      $xfer += $output->writeFieldBegin('jobName', TType::STRING, 7);
+      $xfer += $output->writeString($this->jobName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->workingDir !== null) {
+      $xfer += $output->writeFieldBegin('workingDir', TType::STRING, 8);
+      $xfer += $output->writeString($this->workingDir);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index 057b583..7117238 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -25,9 +25,9 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('')
   print('Functions:')
   print('  string getAPIVersion(AuthzToken authzToken)')
-  print('  string addGateway(Gateway gateway)')
-  print('  void updateGateway(string gatewayId, Gateway updatedGateway)')
-  print('  Gateway getGateway(string gatewayId)')
+  print('  string addGateway(AuthzToken authzToken, Gateway gateway)')
+  print('  void updateGateway(AuthzToken authzToken, string gatewayId, Gateway updatedGateway)')
+  print('  Gateway getGateway(AuthzToken authzToken, string gatewayId)')
   print('  bool deleteGateway(string gatewayId)')
   print('   getAllGateways()')
   print('  bool isGatewayExist(string gatewayId)')
@@ -214,22 +214,22 @@ if cmd == 'getAPIVersion':
   pp.pprint(client.getAPIVersion(eval(args[0]),))
 
 elif cmd == 'addGateway':
-  if len(args) != 1:
-    print('addGateway requires 1 args')
+  if len(args) != 2:
+    print('addGateway requires 2 args')
     sys.exit(1)
-  pp.pprint(client.addGateway(eval(args[0]),))
+  pp.pprint(client.addGateway(eval(args[0]),eval(args[1]),))
 
 elif cmd == 'updateGateway':
-  if len(args) != 2:
-    print('updateGateway requires 2 args')
+  if len(args) != 3:
+    print('updateGateway requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateGateway(args[0],eval(args[1]),))
+  pp.pprint(client.updateGateway(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getGateway':
-  if len(args) != 1:
-    print('getGateway requires 1 args')
+  if len(args) != 2:
+    print('getGateway requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getGateway(args[0],))
+  pp.pprint(client.getGateway(eval(args[0]),args[1],))
 
 elif cmd == 'deleteGateway':
   if len(args) != 1:

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index 1b08caa..99155cb 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -27,24 +27,27 @@ class Iface:
     """
     pass
 
-  def addGateway(self, gateway):
+  def addGateway(self, authzToken, gateway):
     """
     Parameters:
+     - authzToken
      - gateway
     """
     pass
 
-  def updateGateway(self, gatewayId, updatedGateway):
+  def updateGateway(self, authzToken, gatewayId, updatedGateway):
     """
     Parameters:
+     - authzToken
      - gatewayId
      - updatedGateway
     """
     pass
 
-  def getGateway(self, gatewayId):
+  def getGateway(self, authzToken, gatewayId):
     """
     Parameters:
+     - authzToken
      - gatewayId
     """
     pass
@@ -2199,17 +2202,19 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAPIVersion failed: unknown result");
 
-  def addGateway(self, gateway):
+  def addGateway(self, authzToken, gateway):
     """
     Parameters:
+     - authzToken
      - gateway
     """
-    self.send_addGateway(gateway)
+    self.send_addGateway(authzToken, gateway)
     return self.recv_addGateway()
 
-  def send_addGateway(self, gateway):
+  def send_addGateway(self, authzToken, gateway):
     self._oprot.writeMessageBegin('addGateway', TMessageType.CALL, self._seqid)
     args = addGateway_args()
+    args.authzToken = authzToken
     args.gateway = gateway
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -2234,20 +2239,24 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "addGateway failed: unknown result");
 
-  def updateGateway(self, gatewayId, updatedGateway):
+  def updateGateway(self, authzToken, gatewayId, updatedGateway):
     """
     Parameters:
+     - authzToken
      - gatewayId
      - updatedGateway
     """
-    self.send_updateGateway(gatewayId, updatedGateway)
+    self.send_updateGateway(authzToken, gatewayId, updatedGateway)
     self.recv_updateGateway()
 
-  def send_updateGateway(self, gatewayId, updatedGateway):
+  def send_updateGateway(self, authzToken, gatewayId, updatedGateway):
     self._oprot.writeMessageBegin('updateGateway', TMessageType.CALL, self._seqid)
     args = updateGateway_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.updatedGateway = updatedGateway
     args.write(self._oprot)
@@ -2271,19 +2280,23 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     return
 
-  def getGateway(self, gatewayId):
+  def getGateway(self, authzToken, gatewayId):
     """
     Parameters:
+     - authzToken
      - gatewayId
     """
-    self.send_getGateway(gatewayId)
+    self.send_getGateway(authzToken, gatewayId)
     return self.recv_getGateway()
 
-  def send_getGateway(self, gatewayId):
+  def send_getGateway(self, authzToken, gatewayId):
     self._oprot.writeMessageBegin('getGateway', TMessageType.CALL, self._seqid)
     args = getGateway_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -2308,6 +2321,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getGateway failed: unknown result");
 
   def deleteGateway(self, gatewayId):
@@ -8392,13 +8407,15 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = addGateway_result()
     try:
-      result.success = self._handler.addGateway(args.gateway)
+      result.success = self._handler.addGateway(args.authzToken, args.gateway)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
+      result.ae = ae
     oprot.writeMessageBegin("addGateway", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8410,13 +8427,15 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = updateGateway_result()
     try:
-      self._handler.updateGateway(args.gatewayId, args.updatedGateway)
+      self._handler.updateGateway(args.authzToken, args.gatewayId, args.updatedGateway)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
+      result.ae = ae
     oprot.writeMessageBegin("updateGateway", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8428,13 +8447,15 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = getGateway_result()
     try:
-      result.success = self._handler.getGateway(args.gatewayId)
+      result.success = self._handler.getGateway(args.authzToken, args.gatewayId)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
+      result.ae = ae
     oprot.writeMessageBegin("getGateway", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -10866,15 +10887,18 @@ class getAPIVersion_result:
 class addGateway_args:
   """
   Attributes:
+   - authzToken
    - gateway
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRUCT, 'gateway', (apache.airavata.model.workspace.ttypes.Gateway, apache.airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ), # 1
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'gateway', (apache.airavata.model.workspace.ttypes.Gateway, apache.airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ), # 2
   )
 
-  def __init__(self, gateway=None,):
+  def __init__(self, authzToken=None, gateway=None,):
+    self.authzToken = authzToken
     self.gateway = gateway
 
   def read(self, iprot):
@@ -10888,6 +10912,12 @@ class addGateway_args:
         break
       if fid == 1:
         if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
           self.gateway = apache.airavata.model.workspace.ttypes.Gateway()
           self.gateway.read(iprot)
         else:
@@ -10902,14 +10932,20 @@ class addGateway_args:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('addGateway_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
     if self.gateway is not None:
-      oprot.writeFieldBegin('gateway', TType.STRUCT, 1)
+      oprot.writeFieldBegin('gateway', TType.STRUCT, 2)
       self.gateway.write(oprot)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.gateway is None:
       raise TProtocol.TProtocolException(message='Required field gateway is unset!')
     return
@@ -10917,6 +10953,7 @@ class addGateway_args:
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.gateway)
     return value
 
@@ -10938,6 +10975,7 @@ class addGateway_result:
    - ire
    - ace
    - ase
+   - ae
   """
 
   thrift_spec = (
@@ -10945,13 +10983,15 @@ class addGateway_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
+    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -10985,6 +11025,12 @@ class addGateway_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11011,6 +11057,10 @@ class addGateway_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11024,6 +11074,7 @@ class addGateway_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -11040,17 +11091,20 @@ class addGateway_result:
 class updateGateway_args:
   """
   Attributes:
+   - authzToken
    - gatewayId
    - updatedGateway
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'gatewayId', None, None, ), # 1
-    (2, TType.STRUCT, 'updatedGateway', (apache.airavata.model.workspace.ttypes.Gateway, apache.airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ), # 2
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
+    (3, TType.STRUCT, 'updatedGateway', (apache.airavata.model.workspace.ttypes.Gateway, apache.airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ), # 3
   )
 
-  def __init__(self, gatewayId=None, updatedGateway=None,):
+  def __init__(self, authzToken=None, gatewayId=None, updatedGateway=None,):
+    self.authzToken = authzToken
     self.gatewayId = gatewayId
     self.updatedGateway = updatedGateway
 
@@ -11064,11 +11118,17 @@ class updateGateway_args:
       if ftype == TType.STOP:
         break
       if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
         if ftype == TType.STRING:
           self.gatewayId = iprot.readString();
         else:
           iprot.skip(ftype)
-      elif fid == 2:
+      elif fid == 3:
         if ftype == TType.STRUCT:
           self.updatedGateway = apache.airavata.model.workspace.ttypes.Gateway()
           self.updatedGateway.read(iprot)
@@ -11084,18 +11144,24 @@ class updateGateway_args:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('updateGateway_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
     if self.gatewayId is not None:
-      oprot.writeFieldBegin('gatewayId', TType.STRING, 1)
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
       oprot.writeString(self.gatewayId)
       oprot.writeFieldEnd()
     if self.updatedGateway is not None:
-      oprot.writeFieldBegin('updatedGateway', TType.STRUCT, 2)
+      oprot.writeFieldBegin('updatedGateway', TType.STRUCT, 3)
       self.updatedGateway.write(oprot)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.gatewayId is None:
       raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
     if self.updatedGateway is None:
@@ -11105,6 +11171,7 @@ class updateGateway_args:
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.gatewayId)
     value = (value * 31) ^ hash(self.updatedGateway)
     return value
@@ -11126,6 +11193,7 @@ class updateGateway_result:
    - ire
    - ace
    - ase
+   - ae
   """
 
   thrift_spec = (
@@ -11133,12 +11201,14 @@ class updateGateway_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, ire=None, ace=None, ase=None,):
+  def __init__(self, ire=None, ace=None, ase=None, ae=None,):
     self.ire = ire
     self.ace = ace
     self.ase = ase
+    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -11167,6 +11237,12 @@ class updateGateway_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11189,6 +11265,10 @@ class updateGateway_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11201,6 +11281,7 @@ class updateGateway_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -11217,15 +11298,18 @@ class updateGateway_result:
 class getGateway_args:
   """
   Attributes:
+   - authzToken
    - gatewayId
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'gatewayId', None, None, ), # 1
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
   )
 
-  def __init__(self, gatewayId=None,):
+  def __init__(self, authzToken=None, gatewayId=None,):
+    self.authzToken = authzToken
     self.gatewayId = gatewayId
 
   def read(self, iprot):
@@ -11238,6 +11322,12 @@ class getGateway_args:
       if ftype == TType.STOP:
         break
       if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
         if ftype == TType.STRING:
           self.gatewayId = iprot.readString();
         else:
@@ -11252,14 +11342,20 @@ class getGateway_args:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('getGateway_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
     if self.gatewayId is not None:
-      oprot.writeFieldBegin('gatewayId', TType.STRING, 1)
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
       oprot.writeString(self.gatewayId)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.gatewayId is None:
       raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
     return
@@ -11267,6 +11363,7 @@ class getGateway_args:
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.gatewayId)
     return value
 
@@ -11288,6 +11385,7 @@ class getGateway_result:
    - ire
    - ace
    - ase
+   - ae
   """
 
   thrift_spec = (
@@ -11295,13 +11393,15 @@ class getGateway_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
+    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -11336,6 +11436,12 @@ class getGateway_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11362,6 +11468,10 @@ class getGateway_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11375,6 +11485,7 @@ class getGateway_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/constants.py
index f9a2df5..99717a9 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/constants.py
@@ -9,4 +9,3 @@
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
 from ttypes import *
 
-DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
index f5dde08..5c2ece0 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appdeployment/ttypes.py
@@ -7,6 +7,8 @@
 #
 
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.commons.ttypes
+
 
 from thrift.transport import TTransport
 from thrift.protocol import TBinaryProtocol, TProtocol

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appinterface/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appinterface/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appinterface/constants.py
index f9a2df5..99717a9 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appinterface/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appinterface/constants.py
@@ -9,4 +9,3 @@
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
 from ttypes import *
 
-DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appinterface/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appinterface/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appinterface/ttypes.py
index 6d54006..57fe99b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appinterface/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/appinterface/ttypes.py
@@ -8,6 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
 import apache.airavata.model.application.io.ttypes
+import apache.airavata.model.commons.ttypes
 
 
 from thrift.transport import TTransport

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/constants.py
index f9a2df5..99717a9 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/constants.py
@@ -9,4 +9,3 @@
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
 from ttypes import *
 
-DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
index 97dae6a..387aa18 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
@@ -7,6 +7,8 @@
 #
 
 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.commons.ttypes
+
 
 from thrift.transport import TTransport
 from thrift.protocol import TBinaryProtocol, TProtocol

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/__init__.py
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/__init__.py
new file mode 100644
index 0000000..adefd8e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/__init__.py
@@ -0,0 +1 @@
+__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/constants.py
new file mode 100644
index 0000000..99717a9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+from ttypes import *
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
new file mode 100644
index 0000000..ee99464
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
@@ -0,0 +1,468 @@
+#
+# Autogenerated by Thrift Compiler (0.9.2)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+import apache.airavata.model.appcatalog.computeresource.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class DataType:
+  """
+  Data Types supported in Airavata. The primitive data types
+
+  """
+  STRING = 0
+  INTEGER = 1
+  FLOAT = 2
+  URI = 3
+  STDOUT = 4
+  STDERR = 5
+
+  _VALUES_TO_NAMES = {
+    0: "STRING",
+    1: "INTEGER",
+    2: "FLOAT",
+    3: "URI",
+    4: "STDOUT",
+    5: "STDERR",
+  }
+
+  _NAMES_TO_VALUES = {
+    "STRING": 0,
+    "INTEGER": 1,
+    "FLOAT": 2,
+    "URI": 3,
+    "STDOUT": 4,
+    "STDERR": 5,
+  }
+
+
+class InputDataObjectType:
+  """
+  Application Inputs. The paramters describe how inputs are passed to the application.
+
+  name:
+    Name of the parameter.
+
+  value:
+    Value of the parameter. A default value could be set during registration.
+
+  type:
+    Data type of the parameter
+
+  applicationArguement:
+    The argument flag sent to the application. Such as -p pressure.
+
+  standardInput:
+    When this value is set, the parameter is sent as standard input rather than a parameter.
+    Typically this is passed using redirection operator ">".
+
+  userFriendlyDescription:
+    Description to be displayed at the user interface.
+
+  metaData:
+    Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+
+
+  Attributes:
+   - name
+   - value
+   - type
+   - applicationArgument
+   - standardInput
+   - userFriendlyDescription
+   - metaData
+   - inputOrder
+   - isRequired
+   - requiredToAddedToCommandLine
+   - dataStaged
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'name', None, None, ), # 1
+    (2, TType.STRING, 'value', None, None, ), # 2
+    (3, TType.I32, 'type', None, None, ), # 3
+    (4, TType.STRING, 'applicationArgument', None, None, ), # 4
+    (5, TType.BOOL, 'standardInput', None, None, ), # 5
+    (6, TType.STRING, 'userFriendlyDescription', None, None, ), # 6
+    (7, TType.STRING, 'metaData', None, None, ), # 7
+    (8, TType.I32, 'inputOrder', None, None, ), # 8
+    (9, TType.BOOL, 'isRequired', None, None, ), # 9
+    (10, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ), # 10
+    (11, TType.BOOL, 'dataStaged', None, None, ), # 11
+  )
+
+  def __init__(self, name=None, value=None, type=None, applicationArgument=None, standardInput=None, userFriendlyDescription=None, metaData=None, inputOrder=None, isRequired=None, requiredToAddedToCommandLine=None, dataStaged=None,):
+    self.name = name
+    self.value = value
+    self.type = type
+    self.applicationArgument = applicationArgument
+    self.standardInput = standardInput
+    self.userFriendlyDescription = userFriendlyDescription
+    self.metaData = metaData
+    self.inputOrder = inputOrder
+    self.isRequired = isRequired
+    self.requiredToAddedToCommandLine = requiredToAddedToCommandLine
+    self.dataStaged = dataStaged
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.value = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.I32:
+          self.type = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.applicationArgument = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.BOOL:
+          self.standardInput = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.userFriendlyDescription = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRING:
+          self.metaData = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.I32:
+          self.inputOrder = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.BOOL:
+          self.isRequired = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.BOOL:
+          self.requiredToAddedToCommandLine = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.BOOL:
+          self.dataStaged = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('InputDataObjectType')
+    if self.name is not None:
+      oprot.writeFieldBegin('name', TType.STRING, 1)
+      oprot.writeString(self.name)
+      oprot.writeFieldEnd()
+    if self.value is not None:
+      oprot.writeFieldBegin('value', TType.STRING, 2)
+      oprot.writeString(self.value)
+      oprot.writeFieldEnd()
+    if self.type is not None:
+      oprot.writeFieldBegin('type', TType.I32, 3)
+      oprot.writeI32(self.type)
+      oprot.writeFieldEnd()
+    if self.applicationArgument is not None:
+      oprot.writeFieldBegin('applicationArgument', TType.STRING, 4)
+      oprot.writeString(self.applicationArgument)
+      oprot.writeFieldEnd()
+    if self.standardInput is not None:
+      oprot.writeFieldBegin('standardInput', TType.BOOL, 5)
+      oprot.writeBool(self.standardInput)
+      oprot.writeFieldEnd()
+    if self.userFriendlyDescription is not None:
+      oprot.writeFieldBegin('userFriendlyDescription', TType.STRING, 6)
+      oprot.writeString(self.userFriendlyDescription)
+      oprot.writeFieldEnd()
+    if self.metaData is not None:
+      oprot.writeFieldBegin('metaData', TType.STRING, 7)
+      oprot.writeString(self.metaData)
+      oprot.writeFieldEnd()
+    if self.inputOrder is not None:
+      oprot.writeFieldBegin('inputOrder', TType.I32, 8)
+      oprot.writeI32(self.inputOrder)
+      oprot.writeFieldEnd()
+    if self.isRequired is not None:
+      oprot.writeFieldBegin('isRequired', TType.BOOL, 9)
+      oprot.writeBool(self.isRequired)
+      oprot.writeFieldEnd()
+    if self.requiredToAddedToCommandLine is not None:
+      oprot.writeFieldBegin('requiredToAddedToCommandLine', TType.BOOL, 10)
+      oprot.writeBool(self.requiredToAddedToCommandLine)
+      oprot.writeFieldEnd()
+    if self.dataStaged is not None:
+      oprot.writeFieldBegin('dataStaged', TType.BOOL, 11)
+      oprot.writeBool(self.dataStaged)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.name is None:
+      raise TProtocol.TProtocolException(message='Required field name is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.value)
+    value = (value * 31) ^ hash(self.type)
+    value = (value * 31) ^ hash(self.applicationArgument)
+    value = (value * 31) ^ hash(self.standardInput)
+    value = (value * 31) ^ hash(self.userFriendlyDescription)
+    value = (value * 31) ^ hash(self.metaData)
+    value = (value * 31) ^ hash(self.inputOrder)
+    value = (value * 31) ^ hash(self.isRequired)
+    value = (value * 31) ^ hash(self.requiredToAddedToCommandLine)
+    value = (value * 31) ^ hash(self.dataStaged)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class OutputDataObjectType:
+  """
+  Application Outputs. The paramters describe how outputs generated by the application.
+
+  name:
+    Name of the parameter.
+
+  value:
+    Value of the parameter.
+
+  type:
+    Data type of the parameter
+
+  applicationArguement:
+    The argument flag sent to the application. Such as -p pressure.
+
+  standardInput:
+    When this value is set, the parameter is sent as standard input rather than a parameter.
+    Typically this is passed using redirection operator ">".
+
+  userFriendlyDescription:
+    Description to be displayed at the user interface.
+
+  metaData:
+    Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+
+
+  Attributes:
+   - name
+   - value
+   - type
+   - applicationArgument
+   - isRequired
+   - requiredToAddedToCommandLine
+   - dataMovement
+   - location
+   - searchQuery
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'name', None, None, ), # 1
+    (2, TType.STRING, 'value', None, None, ), # 2
+    (3, TType.I32, 'type', None, None, ), # 3
+    (4, TType.STRING, 'applicationArgument', None, None, ), # 4
+    (5, TType.BOOL, 'isRequired', None, None, ), # 5
+    (6, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ), # 6
+    (7, TType.BOOL, 'dataMovement', None, None, ), # 7
+    (8, TType.STRING, 'location', None, None, ), # 8
+    (9, TType.STRING, 'searchQuery', None, None, ), # 9
+  )
+
+  def __init__(self, name=None, value=None, type=None, applicationArgument=None, isRequired=None, requiredToAddedToCommandLine=None, dataMovement=None, location=None, searchQuery=None,):
+    self.name = name
+    self.value = value
+    self.type = type
+    self.applicationArgument = applicationArgument
+    self.isRequired = isRequired
+    self.requiredToAddedToCommandLine = requiredToAddedToCommandLine
+    self.dataMovement = dataMovement
+    self.location = location
+    self.searchQuery = searchQuery
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.value = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.I32:
+          self.type = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.applicationArgument = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.BOOL:
+          self.isRequired = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.BOOL:
+          self.requiredToAddedToCommandLine = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.BOOL:
+          self.dataMovement = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.location = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRING:
+          self.searchQuery = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('OutputDataObjectType')
+    if self.name is not None:
+      oprot.writeFieldBegin('name', TType.STRING, 1)
+      oprot.writeString(self.name)
+      oprot.writeFieldEnd()
+    if self.value is not None:
+      oprot.writeFieldBegin('value', TType.STRING, 2)
+      oprot.writeString(self.value)
+      oprot.writeFieldEnd()
+    if self.type is not None:
+      oprot.writeFieldBegin('type', TType.I32, 3)
+      oprot.writeI32(self.type)
+      oprot.writeFieldEnd()
+    if self.applicationArgument is not None:
+      oprot.writeFieldBegin('applicationArgument', TType.STRING, 4)
+      oprot.writeString(self.applicationArgument)
+      oprot.writeFieldEnd()
+    if self.isRequired is not None:
+      oprot.writeFieldBegin('isRequired', TType.BOOL, 5)
+      oprot.writeBool(self.isRequired)
+      oprot.writeFieldEnd()
+    if self.requiredToAddedToCommandLine is not None:
+      oprot.writeFieldBegin('requiredToAddedToCommandLine', TType.BOOL, 6)
+      oprot.writeBool(self.requiredToAddedToCommandLine)
+      oprot.writeFieldEnd()
+    if self.dataMovement is not None:
+      oprot.writeFieldBegin('dataMovement', TType.BOOL, 7)
+      oprot.writeBool(self.dataMovement)
+      oprot.writeFieldEnd()
+    if self.location is not None:
+      oprot.writeFieldBegin('location', TType.STRING, 8)
+      oprot.writeString(self.location)
+      oprot.writeFieldEnd()
+    if self.searchQuery is not None:
+      oprot.writeFieldBegin('searchQuery', TType.STRING, 9)
+      oprot.writeString(self.searchQuery)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.name is None:
+      raise TProtocol.TProtocolException(message='Required field name is unset!')
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.value)
+    value = (value * 31) ^ hash(self.type)
+    value = (value * 31) ^ hash(self.applicationArgument)
+    value = (value * 31) ^ hash(self.isRequired)
+    value = (value * 31) ^ hash(self.requiredToAddedToCommandLine)
+    value = (value * 31) ^ hash(self.dataMovement)
+    value = (value * 31) ^ hash(self.location)
+    value = (value * 31) ^ hash(self.searchQuery)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)


[07/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_constants.h
new file mode 100644
index 0000000..d677912
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef process_model_CONSTANTS_H
+#define process_model_CONSTANTS_H
+
+#include "process_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace process {
+
+class process_modelConstants {
+ public:
+  process_modelConstants();
+
+};
+
+extern const process_modelConstants g_process_model_constants;
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
new file mode 100644
index 0000000..9e0c3f9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
@@ -0,0 +1,581 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "process_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace process {
+
+
+ProcessModel::~ProcessModel() throw() {
+}
+
+
+void ProcessModel::__set_processId(const std::string& val) {
+  this->processId = val;
+}
+
+void ProcessModel::__set_experimentId(const std::string& val) {
+  this->experimentId = val;
+}
+
+void ProcessModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void ProcessModel::__set_lastUpdateTime(const int64_t val) {
+  this->lastUpdateTime = val;
+__isset.lastUpdateTime = true;
+}
+
+void ProcessModel::__set_processStatus(const  ::apache::airavata::model::status::ProcessStatus& val) {
+  this->processStatus = val;
+__isset.processStatus = true;
+}
+
+void ProcessModel::__set_processDetail(const std::string& val) {
+  this->processDetail = val;
+__isset.processDetail = true;
+}
+
+void ProcessModel::__set_applicationInterfaceId(const std::string& val) {
+  this->applicationInterfaceId = val;
+__isset.applicationInterfaceId = true;
+}
+
+void ProcessModel::__set_applicationDeploymentId(const std::string& val) {
+  this->applicationDeploymentId = val;
+__isset.applicationDeploymentId = true;
+}
+
+void ProcessModel::__set_computeResourceId(const std::string& val) {
+  this->computeResourceId = val;
+__isset.computeResourceId = true;
+}
+
+void ProcessModel::__set_processInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val) {
+  this->processInputs = val;
+__isset.processInputs = true;
+}
+
+void ProcessModel::__set_processOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val) {
+  this->processOutputs = val;
+__isset.processOutputs = true;
+}
+
+void ProcessModel::__set_resourceSchedule(const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& val) {
+  this->resourceSchedule = val;
+__isset.resourceSchedule = true;
+}
+
+void ProcessModel::__set_tasks(const std::vector< ::apache::airavata::model::task::TaskModel> & val) {
+  this->tasks = val;
+__isset.tasks = true;
+}
+
+void ProcessModel::__set_taskDag(const std::string& val) {
+  this->taskDag = val;
+__isset.taskDag = true;
+}
+
+void ProcessModel::__set_processError(const  ::apache::airavata::model::commons::ErrorModel& val) {
+  this->processError = val;
+__isset.processError = true;
+}
+
+void ProcessModel::__set_gatewayExecutionId(const std::string& val) {
+  this->gatewayExecutionId = val;
+__isset.gatewayExecutionId = true;
+}
+
+void ProcessModel::__set_enableEmailNotification(const bool val) {
+  this->enableEmailNotification = val;
+__isset.enableEmailNotification = true;
+}
+
+void ProcessModel::__set_emailAddresses(const std::vector<std::string> & val) {
+  this->emailAddresses = val;
+__isset.emailAddresses = true;
+}
+
+const char* ProcessModel::ascii_fingerprint = "784A051111BD540B35328CD018BE3F62";
+const uint8_t ProcessModel::binary_fingerprint[16] = {0x78,0x4A,0x05,0x11,0x11,0xBD,0x54,0x0B,0x35,0x32,0x8C,0xD0,0x18,0xBE,0x3F,0x62};
+
+uint32_t ProcessModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_processId = false;
+  bool isset_experimentId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->processId);
+          isset_processId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentId);
+          isset_experimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->lastUpdateTime);
+          this->__isset.lastUpdateTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->processStatus.read(iprot);
+          this->__isset.processStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->processDetail);
+          this->__isset.processDetail = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationInterfaceId);
+          this->__isset.applicationInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationDeploymentId);
+          this->__isset.applicationDeploymentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->computeResourceId);
+          this->__isset.computeResourceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->processInputs.clear();
+            uint32_t _size0;
+            ::apache::thrift::protocol::TType _etype3;
+            xfer += iprot->readListBegin(_etype3, _size0);
+            this->processInputs.resize(_size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              xfer += this->processInputs[_i4].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.processInputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->processOutputs.clear();
+            uint32_t _size5;
+            ::apache::thrift::protocol::TType _etype8;
+            xfer += iprot->readListBegin(_etype8, _size5);
+            this->processOutputs.resize(_size5);
+            uint32_t _i9;
+            for (_i9 = 0; _i9 < _size5; ++_i9)
+            {
+              xfer += this->processOutputs[_i9].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.processOutputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->resourceSchedule.read(iprot);
+          this->__isset.resourceSchedule = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 13:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->tasks.clear();
+            uint32_t _size10;
+            ::apache::thrift::protocol::TType _etype13;
+            xfer += iprot->readListBegin(_etype13, _size10);
+            this->tasks.resize(_size10);
+            uint32_t _i14;
+            for (_i14 = 0; _i14 < _size10; ++_i14)
+            {
+              xfer += this->tasks[_i14].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.tasks = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 14:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->taskDag);
+          this->__isset.taskDag = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 15:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->processError.read(iprot);
+          this->__isset.processError = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 16:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayExecutionId);
+          this->__isset.gatewayExecutionId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 17:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->enableEmailNotification);
+          this->__isset.enableEmailNotification = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 18:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->emailAddresses.clear();
+            uint32_t _size15;
+            ::apache::thrift::protocol::TType _etype18;
+            xfer += iprot->readListBegin(_etype18, _size15);
+            this->emailAddresses.resize(_size15);
+            uint32_t _i19;
+            for (_i19 = 0; _i19 < _size15; ++_i19)
+            {
+              xfer += iprot->readString(this->emailAddresses[_i19]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.emailAddresses = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_processId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_experimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ProcessModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ProcessModel");
+
+  xfer += oprot->writeFieldBegin("processId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->processId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experimentId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->experimentId);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 3);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.lastUpdateTime) {
+    xfer += oprot->writeFieldBegin("lastUpdateTime", ::apache::thrift::protocol::T_I64, 4);
+    xfer += oprot->writeI64(this->lastUpdateTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.processStatus) {
+    xfer += oprot->writeFieldBegin("processStatus", ::apache::thrift::protocol::T_STRUCT, 5);
+    xfer += this->processStatus.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.processDetail) {
+    xfer += oprot->writeFieldBegin("processDetail", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->processDetail);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.applicationInterfaceId) {
+    xfer += oprot->writeFieldBegin("applicationInterfaceId", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->applicationInterfaceId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.applicationDeploymentId) {
+    xfer += oprot->writeFieldBegin("applicationDeploymentId", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->applicationDeploymentId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.computeResourceId) {
+    xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeString(this->computeResourceId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.processInputs) {
+    xfer += oprot->writeFieldBegin("processInputs", ::apache::thrift::protocol::T_LIST, 10);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->processInputs.size()));
+      std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter20;
+      for (_iter20 = this->processInputs.begin(); _iter20 != this->processInputs.end(); ++_iter20)
+      {
+        xfer += (*_iter20).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.processOutputs) {
+    xfer += oprot->writeFieldBegin("processOutputs", ::apache::thrift::protocol::T_LIST, 11);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->processOutputs.size()));
+      std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter21;
+      for (_iter21 = this->processOutputs.begin(); _iter21 != this->processOutputs.end(); ++_iter21)
+      {
+        xfer += (*_iter21).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.resourceSchedule) {
+    xfer += oprot->writeFieldBegin("resourceSchedule", ::apache::thrift::protocol::T_STRUCT, 12);
+    xfer += this->resourceSchedule.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.tasks) {
+    xfer += oprot->writeFieldBegin("tasks", ::apache::thrift::protocol::T_LIST, 13);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->tasks.size()));
+      std::vector< ::apache::airavata::model::task::TaskModel> ::const_iterator _iter22;
+      for (_iter22 = this->tasks.begin(); _iter22 != this->tasks.end(); ++_iter22)
+      {
+        xfer += (*_iter22).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.taskDag) {
+    xfer += oprot->writeFieldBegin("taskDag", ::apache::thrift::protocol::T_STRING, 14);
+    xfer += oprot->writeString(this->taskDag);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.processError) {
+    xfer += oprot->writeFieldBegin("processError", ::apache::thrift::protocol::T_STRUCT, 15);
+    xfer += this->processError.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.gatewayExecutionId) {
+    xfer += oprot->writeFieldBegin("gatewayExecutionId", ::apache::thrift::protocol::T_STRING, 16);
+    xfer += oprot->writeString(this->gatewayExecutionId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.enableEmailNotification) {
+    xfer += oprot->writeFieldBegin("enableEmailNotification", ::apache::thrift::protocol::T_BOOL, 17);
+    xfer += oprot->writeBool(this->enableEmailNotification);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.emailAddresses) {
+    xfer += oprot->writeFieldBegin("emailAddresses", ::apache::thrift::protocol::T_LIST, 18);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->emailAddresses.size()));
+      std::vector<std::string> ::const_iterator _iter23;
+      for (_iter23 = this->emailAddresses.begin(); _iter23 != this->emailAddresses.end(); ++_iter23)
+      {
+        xfer += oprot->writeString((*_iter23));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ProcessModel &a, ProcessModel &b) {
+  using ::std::swap;
+  swap(a.processId, b.processId);
+  swap(a.experimentId, b.experimentId);
+  swap(a.creationTime, b.creationTime);
+  swap(a.lastUpdateTime, b.lastUpdateTime);
+  swap(a.processStatus, b.processStatus);
+  swap(a.processDetail, b.processDetail);
+  swap(a.applicationInterfaceId, b.applicationInterfaceId);
+  swap(a.applicationDeploymentId, b.applicationDeploymentId);
+  swap(a.computeResourceId, b.computeResourceId);
+  swap(a.processInputs, b.processInputs);
+  swap(a.processOutputs, b.processOutputs);
+  swap(a.resourceSchedule, b.resourceSchedule);
+  swap(a.tasks, b.tasks);
+  swap(a.taskDag, b.taskDag);
+  swap(a.processError, b.processError);
+  swap(a.gatewayExecutionId, b.gatewayExecutionId);
+  swap(a.enableEmailNotification, b.enableEmailNotification);
+  swap(a.emailAddresses, b.emailAddresses);
+  swap(a.__isset, b.__isset);
+}
+
+ProcessModel::ProcessModel(const ProcessModel& other24) {
+  processId = other24.processId;
+  experimentId = other24.experimentId;
+  creationTime = other24.creationTime;
+  lastUpdateTime = other24.lastUpdateTime;
+  processStatus = other24.processStatus;
+  processDetail = other24.processDetail;
+  applicationInterfaceId = other24.applicationInterfaceId;
+  applicationDeploymentId = other24.applicationDeploymentId;
+  computeResourceId = other24.computeResourceId;
+  processInputs = other24.processInputs;
+  processOutputs = other24.processOutputs;
+  resourceSchedule = other24.resourceSchedule;
+  tasks = other24.tasks;
+  taskDag = other24.taskDag;
+  processError = other24.processError;
+  gatewayExecutionId = other24.gatewayExecutionId;
+  enableEmailNotification = other24.enableEmailNotification;
+  emailAddresses = other24.emailAddresses;
+  __isset = other24.__isset;
+}
+ProcessModel& ProcessModel::operator=(const ProcessModel& other25) {
+  processId = other25.processId;
+  experimentId = other25.experimentId;
+  creationTime = other25.creationTime;
+  lastUpdateTime = other25.lastUpdateTime;
+  processStatus = other25.processStatus;
+  processDetail = other25.processDetail;
+  applicationInterfaceId = other25.applicationInterfaceId;
+  applicationDeploymentId = other25.applicationDeploymentId;
+  computeResourceId = other25.computeResourceId;
+  processInputs = other25.processInputs;
+  processOutputs = other25.processOutputs;
+  resourceSchedule = other25.resourceSchedule;
+  tasks = other25.tasks;
+  taskDag = other25.taskDag;
+  processError = other25.processError;
+  gatewayExecutionId = other25.gatewayExecutionId;
+  enableEmailNotification = other25.enableEmailNotification;
+  emailAddresses = other25.emailAddresses;
+  __isset = other25.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ProcessModel& obj) {
+  using apache::thrift::to_string;
+  out << "ProcessModel(";
+  out << "processId=" << to_string(obj.processId);
+  out << ", " << "experimentId=" << to_string(obj.experimentId);
+  out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
+  out << ", " << "lastUpdateTime="; (obj.__isset.lastUpdateTime ? (out << to_string(obj.lastUpdateTime)) : (out << "<null>"));
+  out << ", " << "processStatus="; (obj.__isset.processStatus ? (out << to_string(obj.processStatus)) : (out << "<null>"));
+  out << ", " << "processDetail="; (obj.__isset.processDetail ? (out << to_string(obj.processDetail)) : (out << "<null>"));
+  out << ", " << "applicationInterfaceId="; (obj.__isset.applicationInterfaceId ? (out << to_string(obj.applicationInterfaceId)) : (out << "<null>"));
+  out << ", " << "applicationDeploymentId="; (obj.__isset.applicationDeploymentId ? (out << to_string(obj.applicationDeploymentId)) : (out << "<null>"));
+  out << ", " << "computeResourceId="; (obj.__isset.computeResourceId ? (out << to_string(obj.computeResourceId)) : (out << "<null>"));
+  out << ", " << "processInputs="; (obj.__isset.processInputs ? (out << to_string(obj.processInputs)) : (out << "<null>"));
+  out << ", " << "processOutputs="; (obj.__isset.processOutputs ? (out << to_string(obj.processOutputs)) : (out << "<null>"));
+  out << ", " << "resourceSchedule="; (obj.__isset.resourceSchedule ? (out << to_string(obj.resourceSchedule)) : (out << "<null>"));
+  out << ", " << "tasks="; (obj.__isset.tasks ? (out << to_string(obj.tasks)) : (out << "<null>"));
+  out << ", " << "taskDag="; (obj.__isset.taskDag ? (out << to_string(obj.taskDag)) : (out << "<null>"));
+  out << ", " << "processError="; (obj.__isset.processError ? (out << to_string(obj.processError)) : (out << "<null>"));
+  out << ", " << "gatewayExecutionId="; (obj.__isset.gatewayExecutionId ? (out << to_string(obj.gatewayExecutionId)) : (out << "<null>"));
+  out << ", " << "enableEmailNotification="; (obj.__isset.enableEmailNotification ? (out << to_string(obj.enableEmailNotification)) : (out << "<null>"));
+  out << ", " << "emailAddresses="; (obj.__isset.emailAddresses ? (out << to_string(obj.emailAddresses)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
new file mode 100644
index 0000000..b65d3e3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
@@ -0,0 +1,223 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef process_model_TYPES_H
+#define process_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavata_commons_types.h"
+#include "status_models_types.h"
+#include "task_model_types.h"
+#include "application_io_models_types.h"
+#include "scheduling_model_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace process {
+
+class ProcessModel;
+
+typedef struct _ProcessModel__isset {
+  _ProcessModel__isset() : creationTime(false), lastUpdateTime(false), processStatus(false), processDetail(false), applicationInterfaceId(false), applicationDeploymentId(false), computeResourceId(false), processInputs(false), processOutputs(false), resourceSchedule(false), tasks(false), taskDag(false), processError(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false) {}
+  bool creationTime :1;
+  bool lastUpdateTime :1;
+  bool processStatus :1;
+  bool processDetail :1;
+  bool applicationInterfaceId :1;
+  bool applicationDeploymentId :1;
+  bool computeResourceId :1;
+  bool processInputs :1;
+  bool processOutputs :1;
+  bool resourceSchedule :1;
+  bool tasks :1;
+  bool taskDag :1;
+  bool processError :1;
+  bool gatewayExecutionId :1;
+  bool enableEmailNotification :1;
+  bool emailAddresses :1;
+} _ProcessModel__isset;
+
+class ProcessModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "784A051111BD540B35328CD018BE3F62";
+  static const uint8_t binary_fingerprint[16]; // = {0x78,0x4A,0x05,0x11,0x11,0xBD,0x54,0x0B,0x35,0x32,0x8C,0xD0,0x18,0xBE,0x3F,0x62};
+
+  ProcessModel(const ProcessModel&);
+  ProcessModel& operator=(const ProcessModel&);
+  ProcessModel() : processId("DO_NOT_SET_AT_CLIENTS"), experimentId(), creationTime(0), lastUpdateTime(0), processDetail(), applicationInterfaceId(), applicationDeploymentId(), computeResourceId(), taskDag(), gatewayExecutionId(), enableEmailNotification(0) {
+  }
+
+  virtual ~ProcessModel() throw();
+  std::string processId;
+  std::string experimentId;
+  int64_t creationTime;
+  int64_t lastUpdateTime;
+   ::apache::airavata::model::status::ProcessStatus processStatus;
+  std::string processDetail;
+  std::string applicationInterfaceId;
+  std::string applicationDeploymentId;
+  std::string computeResourceId;
+  std::vector< ::apache::airavata::model::application::io::InputDataObjectType>  processInputs;
+  std::vector< ::apache::airavata::model::application::io::OutputDataObjectType>  processOutputs;
+   ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel resourceSchedule;
+  std::vector< ::apache::airavata::model::task::TaskModel>  tasks;
+  std::string taskDag;
+   ::apache::airavata::model::commons::ErrorModel processError;
+  std::string gatewayExecutionId;
+  bool enableEmailNotification;
+  std::vector<std::string>  emailAddresses;
+
+  _ProcessModel__isset __isset;
+
+  void __set_processId(const std::string& val);
+
+  void __set_experimentId(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_lastUpdateTime(const int64_t val);
+
+  void __set_processStatus(const  ::apache::airavata::model::status::ProcessStatus& val);
+
+  void __set_processDetail(const std::string& val);
+
+  void __set_applicationInterfaceId(const std::string& val);
+
+  void __set_applicationDeploymentId(const std::string& val);
+
+  void __set_computeResourceId(const std::string& val);
+
+  void __set_processInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val);
+
+  void __set_processOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val);
+
+  void __set_resourceSchedule(const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& val);
+
+  void __set_tasks(const std::vector< ::apache::airavata::model::task::TaskModel> & val);
+
+  void __set_taskDag(const std::string& val);
+
+  void __set_processError(const  ::apache::airavata::model::commons::ErrorModel& val);
+
+  void __set_gatewayExecutionId(const std::string& val);
+
+  void __set_enableEmailNotification(const bool val);
+
+  void __set_emailAddresses(const std::vector<std::string> & val);
+
+  bool operator == (const ProcessModel & rhs) const
+  {
+    if (!(processId == rhs.processId))
+      return false;
+    if (!(experimentId == rhs.experimentId))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (__isset.lastUpdateTime != rhs.__isset.lastUpdateTime)
+      return false;
+    else if (__isset.lastUpdateTime && !(lastUpdateTime == rhs.lastUpdateTime))
+      return false;
+    if (__isset.processStatus != rhs.__isset.processStatus)
+      return false;
+    else if (__isset.processStatus && !(processStatus == rhs.processStatus))
+      return false;
+    if (__isset.processDetail != rhs.__isset.processDetail)
+      return false;
+    else if (__isset.processDetail && !(processDetail == rhs.processDetail))
+      return false;
+    if (__isset.applicationInterfaceId != rhs.__isset.applicationInterfaceId)
+      return false;
+    else if (__isset.applicationInterfaceId && !(applicationInterfaceId == rhs.applicationInterfaceId))
+      return false;
+    if (__isset.applicationDeploymentId != rhs.__isset.applicationDeploymentId)
+      return false;
+    else if (__isset.applicationDeploymentId && !(applicationDeploymentId == rhs.applicationDeploymentId))
+      return false;
+    if (__isset.computeResourceId != rhs.__isset.computeResourceId)
+      return false;
+    else if (__isset.computeResourceId && !(computeResourceId == rhs.computeResourceId))
+      return false;
+    if (__isset.processInputs != rhs.__isset.processInputs)
+      return false;
+    else if (__isset.processInputs && !(processInputs == rhs.processInputs))
+      return false;
+    if (__isset.processOutputs != rhs.__isset.processOutputs)
+      return false;
+    else if (__isset.processOutputs && !(processOutputs == rhs.processOutputs))
+      return false;
+    if (__isset.resourceSchedule != rhs.__isset.resourceSchedule)
+      return false;
+    else if (__isset.resourceSchedule && !(resourceSchedule == rhs.resourceSchedule))
+      return false;
+    if (__isset.tasks != rhs.__isset.tasks)
+      return false;
+    else if (__isset.tasks && !(tasks == rhs.tasks))
+      return false;
+    if (__isset.taskDag != rhs.__isset.taskDag)
+      return false;
+    else if (__isset.taskDag && !(taskDag == rhs.taskDag))
+      return false;
+    if (__isset.processError != rhs.__isset.processError)
+      return false;
+    else if (__isset.processError && !(processError == rhs.processError))
+      return false;
+    if (__isset.gatewayExecutionId != rhs.__isset.gatewayExecutionId)
+      return false;
+    else if (__isset.gatewayExecutionId && !(gatewayExecutionId == rhs.gatewayExecutionId))
+      return false;
+    if (__isset.enableEmailNotification != rhs.__isset.enableEmailNotification)
+      return false;
+    else if (__isset.enableEmailNotification && !(enableEmailNotification == rhs.enableEmailNotification))
+      return false;
+    if (__isset.emailAddresses != rhs.__isset.emailAddresses)
+      return false;
+    else if (__isset.emailAddresses && !(emailAddresses == rhs.emailAddresses))
+      return false;
+    return true;
+  }
+  bool operator != (const ProcessModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ProcessModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ProcessModel& obj);
+};
+
+void swap(ProcessModel &a, ProcessModel &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_constants.cpp
new file mode 100644
index 0000000..7096472
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "scheduling_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace scheduling {
+
+const scheduling_modelConstants g_scheduling_model_constants;
+
+scheduling_modelConstants::scheduling_modelConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_constants.h
new file mode 100644
index 0000000..e18c937
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef scheduling_model_CONSTANTS_H
+#define scheduling_model_CONSTANTS_H
+
+#include "scheduling_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace scheduling {
+
+class scheduling_modelConstants {
+ public:
+  scheduling_modelConstants();
+
+};
+
+extern const scheduling_modelConstants g_scheduling_model_constants;
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.cpp
new file mode 100644
index 0000000..0c5741d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.cpp
@@ -0,0 +1,279 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "scheduling_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace scheduling {
+
+
+ComputationalResourceSchedulingModel::~ComputationalResourceSchedulingModel() throw() {
+}
+
+
+void ComputationalResourceSchedulingModel::__set_resourceHostId(const std::string& val) {
+  this->resourceHostId = val;
+__isset.resourceHostId = true;
+}
+
+void ComputationalResourceSchedulingModel::__set_totalCPUCount(const int32_t val) {
+  this->totalCPUCount = val;
+__isset.totalCPUCount = true;
+}
+
+void ComputationalResourceSchedulingModel::__set_nodeCount(const int32_t val) {
+  this->nodeCount = val;
+__isset.nodeCount = true;
+}
+
+void ComputationalResourceSchedulingModel::__set_numberOfThreads(const int32_t val) {
+  this->numberOfThreads = val;
+__isset.numberOfThreads = true;
+}
+
+void ComputationalResourceSchedulingModel::__set_queueName(const std::string& val) {
+  this->queueName = val;
+__isset.queueName = true;
+}
+
+void ComputationalResourceSchedulingModel::__set_wallTimeLimit(const int32_t val) {
+  this->wallTimeLimit = val;
+__isset.wallTimeLimit = true;
+}
+
+void ComputationalResourceSchedulingModel::__set_totalPhysicalMemory(const int32_t val) {
+  this->totalPhysicalMemory = val;
+__isset.totalPhysicalMemory = true;
+}
+
+void ComputationalResourceSchedulingModel::__set_chessisNumber(const std::string& val) {
+  this->chessisNumber = val;
+__isset.chessisNumber = true;
+}
+
+const char* ComputationalResourceSchedulingModel::ascii_fingerprint = "40EF337C72E03F608878AED1911454B0";
+const uint8_t ComputationalResourceSchedulingModel::binary_fingerprint[16] = {0x40,0xEF,0x33,0x7C,0x72,0xE0,0x3F,0x60,0x88,0x78,0xAE,0xD1,0x91,0x14,0x54,0xB0};
+
+uint32_t ComputationalResourceSchedulingModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->resourceHostId);
+          this->__isset.resourceHostId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->totalCPUCount);
+          this->__isset.totalCPUCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->nodeCount);
+          this->__isset.nodeCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->numberOfThreads);
+          this->__isset.numberOfThreads = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->queueName);
+          this->__isset.queueName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->wallTimeLimit);
+          this->__isset.wallTimeLimit = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->totalPhysicalMemory);
+          this->__isset.totalPhysicalMemory = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->chessisNumber);
+          this->__isset.chessisNumber = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t ComputationalResourceSchedulingModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ComputationalResourceSchedulingModel");
+
+  if (this->__isset.resourceHostId) {
+    xfer += oprot->writeFieldBegin("resourceHostId", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeString(this->resourceHostId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.totalCPUCount) {
+    xfer += oprot->writeFieldBegin("totalCPUCount", ::apache::thrift::protocol::T_I32, 2);
+    xfer += oprot->writeI32(this->totalCPUCount);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.nodeCount) {
+    xfer += oprot->writeFieldBegin("nodeCount", ::apache::thrift::protocol::T_I32, 3);
+    xfer += oprot->writeI32(this->nodeCount);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.numberOfThreads) {
+    xfer += oprot->writeFieldBegin("numberOfThreads", ::apache::thrift::protocol::T_I32, 4);
+    xfer += oprot->writeI32(this->numberOfThreads);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.queueName) {
+    xfer += oprot->writeFieldBegin("queueName", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->queueName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.wallTimeLimit) {
+    xfer += oprot->writeFieldBegin("wallTimeLimit", ::apache::thrift::protocol::T_I32, 6);
+    xfer += oprot->writeI32(this->wallTimeLimit);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.totalPhysicalMemory) {
+    xfer += oprot->writeFieldBegin("totalPhysicalMemory", ::apache::thrift::protocol::T_I32, 7);
+    xfer += oprot->writeI32(this->totalPhysicalMemory);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.chessisNumber) {
+    xfer += oprot->writeFieldBegin("chessisNumber", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->chessisNumber);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ComputationalResourceSchedulingModel &a, ComputationalResourceSchedulingModel &b) {
+  using ::std::swap;
+  swap(a.resourceHostId, b.resourceHostId);
+  swap(a.totalCPUCount, b.totalCPUCount);
+  swap(a.nodeCount, b.nodeCount);
+  swap(a.numberOfThreads, b.numberOfThreads);
+  swap(a.queueName, b.queueName);
+  swap(a.wallTimeLimit, b.wallTimeLimit);
+  swap(a.totalPhysicalMemory, b.totalPhysicalMemory);
+  swap(a.chessisNumber, b.chessisNumber);
+  swap(a.__isset, b.__isset);
+}
+
+ComputationalResourceSchedulingModel::ComputationalResourceSchedulingModel(const ComputationalResourceSchedulingModel& other0) {
+  resourceHostId = other0.resourceHostId;
+  totalCPUCount = other0.totalCPUCount;
+  nodeCount = other0.nodeCount;
+  numberOfThreads = other0.numberOfThreads;
+  queueName = other0.queueName;
+  wallTimeLimit = other0.wallTimeLimit;
+  totalPhysicalMemory = other0.totalPhysicalMemory;
+  chessisNumber = other0.chessisNumber;
+  __isset = other0.__isset;
+}
+ComputationalResourceSchedulingModel& ComputationalResourceSchedulingModel::operator=(const ComputationalResourceSchedulingModel& other1) {
+  resourceHostId = other1.resourceHostId;
+  totalCPUCount = other1.totalCPUCount;
+  nodeCount = other1.nodeCount;
+  numberOfThreads = other1.numberOfThreads;
+  queueName = other1.queueName;
+  wallTimeLimit = other1.wallTimeLimit;
+  totalPhysicalMemory = other1.totalPhysicalMemory;
+  chessisNumber = other1.chessisNumber;
+  __isset = other1.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ComputationalResourceSchedulingModel& obj) {
+  using apache::thrift::to_string;
+  out << "ComputationalResourceSchedulingModel(";
+  out << "resourceHostId="; (obj.__isset.resourceHostId ? (out << to_string(obj.resourceHostId)) : (out << "<null>"));
+  out << ", " << "totalCPUCount="; (obj.__isset.totalCPUCount ? (out << to_string(obj.totalCPUCount)) : (out << "<null>"));
+  out << ", " << "nodeCount="; (obj.__isset.nodeCount ? (out << to_string(obj.nodeCount)) : (out << "<null>"));
+  out << ", " << "numberOfThreads="; (obj.__isset.numberOfThreads ? (out << to_string(obj.numberOfThreads)) : (out << "<null>"));
+  out << ", " << "queueName="; (obj.__isset.queueName ? (out << to_string(obj.queueName)) : (out << "<null>"));
+  out << ", " << "wallTimeLimit="; (obj.__isset.wallTimeLimit ? (out << to_string(obj.wallTimeLimit)) : (out << "<null>"));
+  out << ", " << "totalPhysicalMemory="; (obj.__isset.totalPhysicalMemory ? (out << to_string(obj.totalPhysicalMemory)) : (out << "<null>"));
+  out << ", " << "chessisNumber="; (obj.__isset.chessisNumber ? (out << to_string(obj.chessisNumber)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.h
new file mode 100644
index 0000000..3312800
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.h
@@ -0,0 +1,144 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef scheduling_model_TYPES_H
+#define scheduling_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+namespace apache { namespace airavata { namespace model { namespace scheduling {
+
+class ComputationalResourceSchedulingModel;
+
+typedef struct _ComputationalResourceSchedulingModel__isset {
+  _ComputationalResourceSchedulingModel__isset() : resourceHostId(false), totalCPUCount(false), nodeCount(false), numberOfThreads(false), queueName(false), wallTimeLimit(false), totalPhysicalMemory(false), chessisNumber(false) {}
+  bool resourceHostId :1;
+  bool totalCPUCount :1;
+  bool nodeCount :1;
+  bool numberOfThreads :1;
+  bool queueName :1;
+  bool wallTimeLimit :1;
+  bool totalPhysicalMemory :1;
+  bool chessisNumber :1;
+} _ComputationalResourceSchedulingModel__isset;
+
+class ComputationalResourceSchedulingModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "40EF337C72E03F608878AED1911454B0";
+  static const uint8_t binary_fingerprint[16]; // = {0x40,0xEF,0x33,0x7C,0x72,0xE0,0x3F,0x60,0x88,0x78,0xAE,0xD1,0x91,0x14,0x54,0xB0};
+
+  ComputationalResourceSchedulingModel(const ComputationalResourceSchedulingModel&);
+  ComputationalResourceSchedulingModel& operator=(const ComputationalResourceSchedulingModel&);
+  ComputationalResourceSchedulingModel() : resourceHostId(), totalCPUCount(0), nodeCount(0), numberOfThreads(0), queueName(), wallTimeLimit(0), totalPhysicalMemory(0), chessisNumber() {
+  }
+
+  virtual ~ComputationalResourceSchedulingModel() throw();
+  std::string resourceHostId;
+  int32_t totalCPUCount;
+  int32_t nodeCount;
+  int32_t numberOfThreads;
+  std::string queueName;
+  int32_t wallTimeLimit;
+  int32_t totalPhysicalMemory;
+  std::string chessisNumber;
+
+  _ComputationalResourceSchedulingModel__isset __isset;
+
+  void __set_resourceHostId(const std::string& val);
+
+  void __set_totalCPUCount(const int32_t val);
+
+  void __set_nodeCount(const int32_t val);
+
+  void __set_numberOfThreads(const int32_t val);
+
+  void __set_queueName(const std::string& val);
+
+  void __set_wallTimeLimit(const int32_t val);
+
+  void __set_totalPhysicalMemory(const int32_t val);
+
+  void __set_chessisNumber(const std::string& val);
+
+  bool operator == (const ComputationalResourceSchedulingModel & rhs) const
+  {
+    if (__isset.resourceHostId != rhs.__isset.resourceHostId)
+      return false;
+    else if (__isset.resourceHostId && !(resourceHostId == rhs.resourceHostId))
+      return false;
+    if (__isset.totalCPUCount != rhs.__isset.totalCPUCount)
+      return false;
+    else if (__isset.totalCPUCount && !(totalCPUCount == rhs.totalCPUCount))
+      return false;
+    if (__isset.nodeCount != rhs.__isset.nodeCount)
+      return false;
+    else if (__isset.nodeCount && !(nodeCount == rhs.nodeCount))
+      return false;
+    if (__isset.numberOfThreads != rhs.__isset.numberOfThreads)
+      return false;
+    else if (__isset.numberOfThreads && !(numberOfThreads == rhs.numberOfThreads))
+      return false;
+    if (__isset.queueName != rhs.__isset.queueName)
+      return false;
+    else if (__isset.queueName && !(queueName == rhs.queueName))
+      return false;
+    if (__isset.wallTimeLimit != rhs.__isset.wallTimeLimit)
+      return false;
+    else if (__isset.wallTimeLimit && !(wallTimeLimit == rhs.wallTimeLimit))
+      return false;
+    if (__isset.totalPhysicalMemory != rhs.__isset.totalPhysicalMemory)
+      return false;
+    else if (__isset.totalPhysicalMemory && !(totalPhysicalMemory == rhs.totalPhysicalMemory))
+      return false;
+    if (__isset.chessisNumber != rhs.__isset.chessisNumber)
+      return false;
+    else if (__isset.chessisNumber && !(chessisNumber == rhs.chessisNumber))
+      return false;
+    return true;
+  }
+  bool operator != (const ComputationalResourceSchedulingModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ComputationalResourceSchedulingModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ComputationalResourceSchedulingModel& obj);
+};
+
+void swap(ComputationalResourceSchedulingModel &a, ComputationalResourceSchedulingModel &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_constants.cpp
new file mode 100644
index 0000000..a8e8de2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "security_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace security {
+
+const security_modelConstants g_security_model_constants;
+
+security_modelConstants::security_modelConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_constants.h
new file mode 100644
index 0000000..ca65823
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef security_model_CONSTANTS_H
+#define security_model_CONSTANTS_H
+
+#include "security_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace security {
+
+class security_modelConstants {
+ public:
+  security_modelConstants();
+
+};
+
+extern const security_modelConstants g_security_model_constants;
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.cpp
new file mode 100644
index 0000000..e81fdc1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.cpp
@@ -0,0 +1,172 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "security_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace security {
+
+
+AuthzToken::~AuthzToken() throw() {
+}
+
+
+void AuthzToken::__set_accessToken(const std::string& val) {
+  this->accessToken = val;
+}
+
+void AuthzToken::__set_claimsMap(const std::map<std::string, std::string> & val) {
+  this->claimsMap = val;
+__isset.claimsMap = true;
+}
+
+const char* AuthzToken::ascii_fingerprint = "31FBBEA1FC165CE500F2DE705C5C27CE";
+const uint8_t AuthzToken::binary_fingerprint[16] = {0x31,0xFB,0xBE,0xA1,0xFC,0x16,0x5C,0xE5,0x00,0xF2,0xDE,0x70,0x5C,0x5C,0x27,0xCE};
+
+uint32_t AuthzToken::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_accessToken = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->accessToken);
+          isset_accessToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
+          {
+            this->claimsMap.clear();
+            uint32_t _size0;
+            ::apache::thrift::protocol::TType _ktype1;
+            ::apache::thrift::protocol::TType _vtype2;
+            xfer += iprot->readMapBegin(_ktype1, _vtype2, _size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              std::string _key5;
+              xfer += iprot->readString(_key5);
+              std::string& _val6 = this->claimsMap[_key5];
+              xfer += iprot->readString(_val6);
+            }
+            xfer += iprot->readMapEnd();
+          }
+          this->__isset.claimsMap = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_accessToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t AuthzToken::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("AuthzToken");
+
+  xfer += oprot->writeFieldBegin("accessToken", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->accessToken);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.claimsMap) {
+    xfer += oprot->writeFieldBegin("claimsMap", ::apache::thrift::protocol::T_MAP, 2);
+    {
+      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->claimsMap.size()));
+      std::map<std::string, std::string> ::const_iterator _iter7;
+      for (_iter7 = this->claimsMap.begin(); _iter7 != this->claimsMap.end(); ++_iter7)
+      {
+        xfer += oprot->writeString(_iter7->first);
+        xfer += oprot->writeString(_iter7->second);
+      }
+      xfer += oprot->writeMapEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(AuthzToken &a, AuthzToken &b) {
+  using ::std::swap;
+  swap(a.accessToken, b.accessToken);
+  swap(a.claimsMap, b.claimsMap);
+  swap(a.__isset, b.__isset);
+}
+
+AuthzToken::AuthzToken(const AuthzToken& other8) {
+  accessToken = other8.accessToken;
+  claimsMap = other8.claimsMap;
+  __isset = other8.__isset;
+}
+AuthzToken& AuthzToken::operator=(const AuthzToken& other9) {
+  accessToken = other9.accessToken;
+  claimsMap = other9.claimsMap;
+  __isset = other9.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const AuthzToken& obj) {
+  using apache::thrift::to_string;
+  out << "AuthzToken(";
+  out << "accessToken=" << to_string(obj.accessToken);
+  out << ", " << "claimsMap="; (obj.__isset.claimsMap ? (out << to_string(obj.claimsMap)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.h
new file mode 100644
index 0000000..1da1f97
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.h
@@ -0,0 +1,93 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef security_model_TYPES_H
+#define security_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+namespace apache { namespace airavata { namespace model { namespace security {
+
+class AuthzToken;
+
+typedef struct _AuthzToken__isset {
+  _AuthzToken__isset() : claimsMap(false) {}
+  bool claimsMap :1;
+} _AuthzToken__isset;
+
+class AuthzToken {
+ public:
+
+  static const char* ascii_fingerprint; // = "31FBBEA1FC165CE500F2DE705C5C27CE";
+  static const uint8_t binary_fingerprint[16]; // = {0x31,0xFB,0xBE,0xA1,0xFC,0x16,0x5C,0xE5,0x00,0xF2,0xDE,0x70,0x5C,0x5C,0x27,0xCE};
+
+  AuthzToken(const AuthzToken&);
+  AuthzToken& operator=(const AuthzToken&);
+  AuthzToken() : accessToken() {
+  }
+
+  virtual ~AuthzToken() throw();
+  std::string accessToken;
+  std::map<std::string, std::string>  claimsMap;
+
+  _AuthzToken__isset __isset;
+
+  void __set_accessToken(const std::string& val);
+
+  void __set_claimsMap(const std::map<std::string, std::string> & val);
+
+  bool operator == (const AuthzToken & rhs) const
+  {
+    if (!(accessToken == rhs.accessToken))
+      return false;
+    if (__isset.claimsMap != rhs.__isset.claimsMap)
+      return false;
+    else if (__isset.claimsMap && !(claimsMap == rhs.claimsMap))
+      return false;
+    return true;
+  }
+  bool operator != (const AuthzToken &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const AuthzToken & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const AuthzToken& obj);
+};
+
+void swap(AuthzToken &a, AuthzToken &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_constants.cpp
new file mode 100644
index 0000000..bc60c21
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "status_models_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace status {
+
+const status_modelsConstants g_status_models_constants;
+
+status_modelsConstants::status_modelsConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_constants.h
new file mode 100644
index 0000000..a5ee9f7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef status_models_CONSTANTS_H
+#define status_models_CONSTANTS_H
+
+#include "status_models_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace status {
+
+class status_modelsConstants {
+ public:
+  status_modelsConstants();
+
+};
+
+extern const status_modelsConstants g_status_models_constants;
+
+}}}} // namespace
+
+#endif


[21/44] airavata git commit: changed createProject method and added internal private method for isGatewayExist, to avoid chained API calls.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index a063250..c204dbc 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -1173,6 +1173,7 @@ uint32_t Airavata_deleteGateway_args::read(::apache::thrift::protocol::TProtocol
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
 
   while (true)
@@ -1184,6 +1185,14 @@ uint32_t Airavata_deleteGateway_args::read(::apache::thrift::protocol::TProtocol
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -1200,6 +1209,8 @@ uint32_t Airavata_deleteGateway_args::read(::apache::thrift::protocol::TProtocol
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -1210,7 +1221,11 @@ uint32_t Airavata_deleteGateway_args::write(::apache::thrift::protocol::TProtoco
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_deleteGateway_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
@@ -1230,7 +1245,11 @@ uint32_t Airavata_deleteGateway_pargs::write(::apache::thrift::protocol::TProtoc
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_deleteGateway_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
@@ -1297,6 +1316,14 @@ uint32_t Airavata_deleteGateway_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1331,6 +1358,10 @@ uint32_t Airavata_deleteGateway_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1394,6 +1425,14 @@ uint32_t Airavata_deleteGateway_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1422,6 +1461,7 @@ uint32_t Airavata_getAllGateways_args::read(::apache::thrift::protocol::TProtoco
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
 
   while (true)
   {
@@ -1429,12 +1469,27 @@ uint32_t Airavata_getAllGateways_args::read(::apache::thrift::protocol::TProtoco
     if (ftype == ::apache::thrift::protocol::T_STOP) {
       break;
     }
-    xfer += iprot->skip(ftype);
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
     xfer += iprot->readFieldEnd();
   }
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
@@ -1443,6 +1498,10 @@ uint32_t Airavata_getAllGateways_args::write(::apache::thrift::protocol::TProtoc
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_getAllGateways_args");
 
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   oprot->decrementRecursionDepth();
@@ -1459,6 +1518,10 @@ uint32_t Airavata_getAllGateways_pargs::write(::apache::thrift::protocol::TProto
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_getAllGateways_pargs");
 
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   oprot->decrementRecursionDepth();
@@ -1534,6 +1597,14 @@ uint32_t Airavata_getAllGateways_result::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1576,6 +1647,10 @@ uint32_t Airavata_getAllGateways_result::write(::apache::thrift::protocol::TProt
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1651,6 +1726,14 @@ uint32_t Airavata_getAllGateways_presult::read(::apache::thrift::protocol::TProt
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1679,6 +1762,7 @@ uint32_t Airavata_isGatewayExist_args::read(::apache::thrift::protocol::TProtoco
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
 
   while (true)
@@ -1690,6 +1774,14 @@ uint32_t Airavata_isGatewayExist_args::read(::apache::thrift::protocol::TProtoco
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -1706,6 +1798,8 @@ uint32_t Airavata_isGatewayExist_args::read(::apache::thrift::protocol::TProtoco
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -1716,7 +1810,11 @@ uint32_t Airavata_isGatewayExist_args::write(::apache::thrift::protocol::TProtoc
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_isGatewayExist_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
@@ -1736,7 +1834,11 @@ uint32_t Airavata_isGatewayExist_pargs::write(::apache::thrift::protocol::TProto
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_isGatewayExist_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
@@ -1803,6 +1905,14 @@ uint32_t Airavata_isGatewayExist_result::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1837,6 +1947,10 @@ uint32_t Airavata_isGatewayExist_result::write(::apache::thrift::protocol::TProt
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1900,6 +2014,14 @@ uint32_t Airavata_isGatewayExist_presult::read(::apache::thrift::protocol::TProt
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -2733,6 +2855,7 @@ uint32_t Airavata_createProject_args::read(::apache::thrift::protocol::TProtocol
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_project = false;
 
@@ -2745,6 +2868,14 @@ uint32_t Airavata_createProject_args::read(::apache::thrift::protocol::TProtocol
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -2752,7 +2883,7 @@ uint32_t Airavata_createProject_args::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->project.read(iprot);
           isset_project = true;
@@ -2769,6 +2900,8 @@ uint32_t Airavata_createProject_args::read(::apache::thrift::protocol::TProtocol
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_project)
@@ -2781,11 +2914,15 @@ uint32_t Airavata_createProject_args::write(::apache::thrift::protocol::TProtoco
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_createProject_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 3);
   xfer += this->project.write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -2805,11 +2942,15 @@ uint32_t Airavata_createProject_pargs::write(::apache::thrift::protocol::TProtoc
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_createProject_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 3);
   xfer += (*(this->project)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -2876,6 +3017,14 @@ uint32_t Airavata_createProject_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -2910,6 +3059,10 @@ uint32_t Airavata_createProject_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -2973,6 +3126,14 @@ uint32_t Airavata_createProject_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -35586,18 +35747,19 @@ void AiravataClient::recv_getGateway( ::apache::airavata::model::workspace::Gate
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getGateway failed: unknown result");
 }
 
-bool AiravataClient::deleteGateway(const std::string& gatewayId)
+bool AiravataClient::deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
 {
-  send_deleteGateway(gatewayId);
+  send_deleteGateway(authzToken, gatewayId);
   return recv_deleteGateway();
 }
 
-void AiravataClient::send_deleteGateway(const std::string& gatewayId)
+void AiravataClient::send_deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("deleteGateway", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_deleteGateway_pargs args;
+  args.authzToken = &authzToken;
   args.gatewayId = &gatewayId;
   args.write(oprot_);
 
@@ -35650,21 +35812,25 @@ bool AiravataClient::recv_deleteGateway()
   if (result.__isset.ase) {
     throw result.ase;
   }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteGateway failed: unknown result");
 }
 
-void AiravataClient::getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return)
+void AiravataClient::getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken)
 {
-  send_getAllGateways();
+  send_getAllGateways(authzToken);
   recv_getAllGateways(_return);
 }
 
-void AiravataClient::send_getAllGateways()
+void AiravataClient::send_getAllGateways(const  ::apache::airavata::model::security::AuthzToken& authzToken)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getAllGateways", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_getAllGateways_pargs args;
+  args.authzToken = &authzToken;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -35716,21 +35882,25 @@ void AiravataClient::recv_getAllGateways(std::vector< ::apache::airavata::model:
   if (result.__isset.ase) {
     throw result.ase;
   }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllGateways failed: unknown result");
 }
 
-bool AiravataClient::isGatewayExist(const std::string& gatewayId)
+bool AiravataClient::isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
 {
-  send_isGatewayExist(gatewayId);
+  send_isGatewayExist(authzToken, gatewayId);
   return recv_isGatewayExist();
 }
 
-void AiravataClient::send_isGatewayExist(const std::string& gatewayId)
+void AiravataClient::send_isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("isGatewayExist", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_isGatewayExist_pargs args;
+  args.authzToken = &authzToken;
   args.gatewayId = &gatewayId;
   args.write(oprot_);
 
@@ -35783,6 +35953,9 @@ bool AiravataClient::recv_isGatewayExist()
   if (result.__isset.ase) {
     throw result.ase;
   }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "isGatewayExist failed: unknown result");
 }
 
@@ -35988,18 +36161,19 @@ void AiravataClient::recv_getAllUserSSHPubKeys(std::map<std::string, std::string
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllUserSSHPubKeys failed: unknown result");
 }
 
-void AiravataClient::createProject(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project)
+void AiravataClient::createProject(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project)
 {
-  send_createProject(gatewayId, project);
+  send_createProject(authzToken, gatewayId, project);
   recv_createProject(_return);
 }
 
-void AiravataClient::send_createProject(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project)
+void AiravataClient::send_createProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("createProject", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_createProject_pargs args;
+  args.authzToken = &authzToken;
   args.gatewayId = &gatewayId;
   args.project = &project;
   args.write(oprot_);
@@ -36053,6 +36227,9 @@ void AiravataClient::recv_createProject(std::string& _return)
   if (result.__isset.ase) {
     throw result.ase;
   }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "createProject failed: unknown result");
 }
 
@@ -44235,7 +44412,7 @@ void AiravataProcessor::process_deleteGateway(int32_t seqid, ::apache::thrift::p
 
   Airavata_deleteGateway_result result;
   try {
-    result.success = iface_->deleteGateway(args.gatewayId);
+    result.success = iface_->deleteGateway(args.authzToken, args.gatewayId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -44246,6 +44423,9 @@ void AiravataProcessor::process_deleteGateway(int32_t seqid, ::apache::thrift::p
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
+  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
+    result.ae = ae;
+    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.deleteGateway");
@@ -44298,7 +44478,7 @@ void AiravataProcessor::process_getAllGateways(int32_t seqid, ::apache::thrift::
 
   Airavata_getAllGateways_result result;
   try {
-    iface_->getAllGateways(result.success);
+    iface_->getAllGateways(result.success, args.authzToken);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -44309,6 +44489,9 @@ void AiravataProcessor::process_getAllGateways(int32_t seqid, ::apache::thrift::
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
+  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
+    result.ae = ae;
+    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.getAllGateways");
@@ -44361,7 +44544,7 @@ void AiravataProcessor::process_isGatewayExist(int32_t seqid, ::apache::thrift::
 
   Airavata_isGatewayExist_result result;
   try {
-    result.success = iface_->isGatewayExist(args.gatewayId);
+    result.success = iface_->isGatewayExist(args.authzToken, args.gatewayId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -44372,6 +44555,9 @@ void AiravataProcessor::process_isGatewayExist(int32_t seqid, ::apache::thrift::
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
+  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
+    result.ae = ae;
+    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.isGatewayExist");
@@ -44613,7 +44799,7 @@ void AiravataProcessor::process_createProject(int32_t seqid, ::apache::thrift::p
 
   Airavata_createProject_result result;
   try {
-    iface_->createProject(result.success, args.gatewayId, args.project);
+    iface_->createProject(result.success, args.authzToken, args.gatewayId, args.project);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -44624,6 +44810,9 @@ void AiravataProcessor::process_createProject(int32_t seqid, ::apache::thrift::p
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
+  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
+    result.ae = ae;
+    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.createProject");

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 2aaf620..39b3f76 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -42,9 +42,9 @@ class AiravataIf {
   virtual void addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway) = 0;
   virtual void updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway) = 0;
   virtual void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
-  virtual bool deleteGateway(const std::string& gatewayId) = 0;
-  virtual void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return) = 0;
-  virtual bool isGatewayExist(const std::string& gatewayId) = 0;
+  virtual bool deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
+  virtual void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken) = 0;
+  virtual bool isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
 
   /**
    * Generate and Register SSH Key Pair with Airavata Credential Store.
@@ -80,10 +80,11 @@ class AiravataIf {
    *    The Project Object described in the workspace_model
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param project
    */
-  virtual void createProject(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project) = 0;
+  virtual void createProject(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project) = 0;
 
   /**
    * Update a Project
@@ -1814,14 +1815,14 @@ class AiravataNull : virtual public AiravataIf {
   void getGateway( ::apache::airavata::model::workspace::Gateway& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */) {
     return;
   }
-  bool deleteGateway(const std::string& /* gatewayId */) {
+  bool deleteGateway(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */) {
     bool _return = false;
     return _return;
   }
-  void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & /* _return */) {
+  void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */) {
     return;
   }
-  bool isGatewayExist(const std::string& /* gatewayId */) {
+  bool isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */) {
     bool _return = false;
     return _return;
   }
@@ -1834,7 +1835,7 @@ class AiravataNull : virtual public AiravataIf {
   void getAllUserSSHPubKeys(std::map<std::string, std::string> & /* _return */, const std::string& /* userName */) {
     return;
   }
-  void createProject(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::workspace::Project& /* project */) {
+  void createProject(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const  ::apache::airavata::model::workspace::Project& /* project */) {
     return;
   }
   void updateProject(const std::string& /* projectId */, const  ::apache::airavata::model::workspace::Project& /* updatedProject */) {
@@ -2824,8 +2825,8 @@ class Airavata_getGateway_presult {
 class Airavata_deleteGateway_args {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+  static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
 
   Airavata_deleteGateway_args(const Airavata_deleteGateway_args&);
   Airavata_deleteGateway_args& operator=(const Airavata_deleteGateway_args&);
@@ -2833,12 +2834,17 @@ class Airavata_deleteGateway_args {
   }
 
   virtual ~Airavata_deleteGateway_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
   std::string gatewayId;
 
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
   void __set_gatewayId(const std::string& val);
 
   bool operator == (const Airavata_deleteGateway_args & rhs) const
   {
+    if (!(authzToken == rhs.authzToken))
+      return false;
     if (!(gatewayId == rhs.gatewayId))
       return false;
     return true;
@@ -2859,11 +2865,12 @@ class Airavata_deleteGateway_args {
 class Airavata_deleteGateway_pargs {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+  static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
 
 
   virtual ~Airavata_deleteGateway_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const std::string* gatewayId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -2872,18 +2879,19 @@ class Airavata_deleteGateway_pargs {
 };
 
 typedef struct _Airavata_deleteGateway_result__isset {
-  _Airavata_deleteGateway_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_deleteGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_deleteGateway_result__isset;
 
 class Airavata_deleteGateway_result {
  public:
 
-  static const char* ascii_fingerprint; // = "7B9EFBD21F2946E23A4FA136FF14760C";
-  static const uint8_t binary_fingerprint[16]; // = {0x7B,0x9E,0xFB,0xD2,0x1F,0x29,0x46,0xE2,0x3A,0x4F,0xA1,0x36,0xFF,0x14,0x76,0x0C};
+  static const char* ascii_fingerprint; // = "C0679679E26638BE0A41545C2E17B17A";
+  static const uint8_t binary_fingerprint[16]; // = {0xC0,0x67,0x96,0x79,0xE2,0x66,0x38,0xBE,0x0A,0x41,0x54,0x5C,0x2E,0x17,0xB1,0x7A};
 
   Airavata_deleteGateway_result(const Airavata_deleteGateway_result&);
   Airavata_deleteGateway_result& operator=(const Airavata_deleteGateway_result&);
@@ -2895,6 +2903,7 @@ class Airavata_deleteGateway_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_deleteGateway_result__isset __isset;
 
@@ -2906,6 +2915,8 @@ class Airavata_deleteGateway_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
   bool operator == (const Airavata_deleteGateway_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -2916,6 +2927,8 @@ class Airavata_deleteGateway_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
+    if (!(ae == rhs.ae))
+      return false;
     return true;
   }
   bool operator != (const Airavata_deleteGateway_result &rhs) const {
@@ -2931,18 +2944,19 @@ class Airavata_deleteGateway_result {
 };
 
 typedef struct _Airavata_deleteGateway_presult__isset {
-  _Airavata_deleteGateway_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_deleteGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_deleteGateway_presult__isset;
 
 class Airavata_deleteGateway_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "7B9EFBD21F2946E23A4FA136FF14760C";
-  static const uint8_t binary_fingerprint[16]; // = {0x7B,0x9E,0xFB,0xD2,0x1F,0x29,0x46,0xE2,0x3A,0x4F,0xA1,0x36,0xFF,0x14,0x76,0x0C};
+  static const char* ascii_fingerprint; // = "C0679679E26638BE0A41545C2E17B17A";
+  static const uint8_t binary_fingerprint[16]; // = {0xC0,0x67,0x96,0x79,0xE2,0x66,0x38,0xBE,0x0A,0x41,0x54,0x5C,0x2E,0x17,0xB1,0x7A};
 
 
   virtual ~Airavata_deleteGateway_presult() throw();
@@ -2950,6 +2964,7 @@ class Airavata_deleteGateway_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_deleteGateway_presult__isset __isset;
 
@@ -2962,8 +2977,8 @@ class Airavata_deleteGateway_presult {
 class Airavata_getAllGateways_args {
  public:
 
-  static const char* ascii_fingerprint; // = "99914B932BD37A50B983C5E7C90AE93B";
-  static const uint8_t binary_fingerprint[16]; // = {0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
+  static const char* ascii_fingerprint; // = "75A7E945AEBB96C8FA8998CBCEB31C27";
+  static const uint8_t binary_fingerprint[16]; // = {0x75,0xA7,0xE9,0x45,0xAE,0xBB,0x96,0xC8,0xFA,0x89,0x98,0xCB,0xCE,0xB3,0x1C,0x27};
 
   Airavata_getAllGateways_args(const Airavata_getAllGateways_args&);
   Airavata_getAllGateways_args& operator=(const Airavata_getAllGateways_args&);
@@ -2971,9 +2986,14 @@ class Airavata_getAllGateways_args {
   }
 
   virtual ~Airavata_getAllGateways_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  bool operator == (const Airavata_getAllGateways_args & /* rhs */) const
+  bool operator == (const Airavata_getAllGateways_args & rhs) const
   {
+    if (!(authzToken == rhs.authzToken))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getAllGateways_args &rhs) const {
@@ -2992,11 +3012,12 @@ class Airavata_getAllGateways_args {
 class Airavata_getAllGateways_pargs {
  public:
 
-  static const char* ascii_fingerprint; // = "99914B932BD37A50B983C5E7C90AE93B";
-  static const uint8_t binary_fingerprint[16]; // = {0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
+  static const char* ascii_fingerprint; // = "75A7E945AEBB96C8FA8998CBCEB31C27";
+  static const uint8_t binary_fingerprint[16]; // = {0x75,0xA7,0xE9,0x45,0xAE,0xBB,0x96,0xC8,0xFA,0x89,0x98,0xCB,0xCE,0xB3,0x1C,0x27};
 
 
   virtual ~Airavata_getAllGateways_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
@@ -3004,18 +3025,19 @@ class Airavata_getAllGateways_pargs {
 };
 
 typedef struct _Airavata_getAllGateways_result__isset {
-  _Airavata_getAllGateways_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_getAllGateways_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_getAllGateways_result__isset;
 
 class Airavata_getAllGateways_result {
  public:
 
-  static const char* ascii_fingerprint; // = "9FBF38532C8C08BBEF927DC04BA26D19";
-  static const uint8_t binary_fingerprint[16]; // = {0x9F,0xBF,0x38,0x53,0x2C,0x8C,0x08,0xBB,0xEF,0x92,0x7D,0xC0,0x4B,0xA2,0x6D,0x19};
+  static const char* ascii_fingerprint; // = "797B839022B9DB504CEA88A61463B523";
+  static const uint8_t binary_fingerprint[16]; // = {0x79,0x7B,0x83,0x90,0x22,0xB9,0xDB,0x50,0x4C,0xEA,0x88,0xA6,0x14,0x63,0xB5,0x23};
 
   Airavata_getAllGateways_result(const Airavata_getAllGateways_result&);
   Airavata_getAllGateways_result& operator=(const Airavata_getAllGateways_result&);
@@ -3027,6 +3049,7 @@ class Airavata_getAllGateways_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_getAllGateways_result__isset __isset;
 
@@ -3038,6 +3061,8 @@ class Airavata_getAllGateways_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
   bool operator == (const Airavata_getAllGateways_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -3048,6 +3073,8 @@ class Airavata_getAllGateways_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
+    if (!(ae == rhs.ae))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getAllGateways_result &rhs) const {
@@ -3063,18 +3090,19 @@ class Airavata_getAllGateways_result {
 };
 
 typedef struct _Airavata_getAllGateways_presult__isset {
-  _Airavata_getAllGateways_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_getAllGateways_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_getAllGateways_presult__isset;
 
 class Airavata_getAllGateways_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "9FBF38532C8C08BBEF927DC04BA26D19";
-  static const uint8_t binary_fingerprint[16]; // = {0x9F,0xBF,0x38,0x53,0x2C,0x8C,0x08,0xBB,0xEF,0x92,0x7D,0xC0,0x4B,0xA2,0x6D,0x19};
+  static const char* ascii_fingerprint; // = "797B839022B9DB504CEA88A61463B523";
+  static const uint8_t binary_fingerprint[16]; // = {0x79,0x7B,0x83,0x90,0x22,0xB9,0xDB,0x50,0x4C,0xEA,0x88,0xA6,0x14,0x63,0xB5,0x23};
 
 
   virtual ~Airavata_getAllGateways_presult() throw();
@@ -3082,6 +3110,7 @@ class Airavata_getAllGateways_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_getAllGateways_presult__isset __isset;
 
@@ -3094,8 +3123,8 @@ class Airavata_getAllGateways_presult {
 class Airavata_isGatewayExist_args {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+  static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
 
   Airavata_isGatewayExist_args(const Airavata_isGatewayExist_args&);
   Airavata_isGatewayExist_args& operator=(const Airavata_isGatewayExist_args&);
@@ -3103,12 +3132,17 @@ class Airavata_isGatewayExist_args {
   }
 
   virtual ~Airavata_isGatewayExist_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
   std::string gatewayId;
 
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
   void __set_gatewayId(const std::string& val);
 
   bool operator == (const Airavata_isGatewayExist_args & rhs) const
   {
+    if (!(authzToken == rhs.authzToken))
+      return false;
     if (!(gatewayId == rhs.gatewayId))
       return false;
     return true;
@@ -3129,11 +3163,12 @@ class Airavata_isGatewayExist_args {
 class Airavata_isGatewayExist_pargs {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+  static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
 
 
   virtual ~Airavata_isGatewayExist_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const std::string* gatewayId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -3142,18 +3177,19 @@ class Airavata_isGatewayExist_pargs {
 };
 
 typedef struct _Airavata_isGatewayExist_result__isset {
-  _Airavata_isGatewayExist_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_isGatewayExist_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_isGatewayExist_result__isset;
 
 class Airavata_isGatewayExist_result {
  public:
 
-  static const char* ascii_fingerprint; // = "7B9EFBD21F2946E23A4FA136FF14760C";
-  static const uint8_t binary_fingerprint[16]; // = {0x7B,0x9E,0xFB,0xD2,0x1F,0x29,0x46,0xE2,0x3A,0x4F,0xA1,0x36,0xFF,0x14,0x76,0x0C};
+  static const char* ascii_fingerprint; // = "C0679679E26638BE0A41545C2E17B17A";
+  static const uint8_t binary_fingerprint[16]; // = {0xC0,0x67,0x96,0x79,0xE2,0x66,0x38,0xBE,0x0A,0x41,0x54,0x5C,0x2E,0x17,0xB1,0x7A};
 
   Airavata_isGatewayExist_result(const Airavata_isGatewayExist_result&);
   Airavata_isGatewayExist_result& operator=(const Airavata_isGatewayExist_result&);
@@ -3165,6 +3201,7 @@ class Airavata_isGatewayExist_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_isGatewayExist_result__isset __isset;
 
@@ -3176,6 +3213,8 @@ class Airavata_isGatewayExist_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
   bool operator == (const Airavata_isGatewayExist_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -3186,6 +3225,8 @@ class Airavata_isGatewayExist_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
+    if (!(ae == rhs.ae))
+      return false;
     return true;
   }
   bool operator != (const Airavata_isGatewayExist_result &rhs) const {
@@ -3201,18 +3242,19 @@ class Airavata_isGatewayExist_result {
 };
 
 typedef struct _Airavata_isGatewayExist_presult__isset {
-  _Airavata_isGatewayExist_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_isGatewayExist_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_isGatewayExist_presult__isset;
 
 class Airavata_isGatewayExist_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "7B9EFBD21F2946E23A4FA136FF14760C";
-  static const uint8_t binary_fingerprint[16]; // = {0x7B,0x9E,0xFB,0xD2,0x1F,0x29,0x46,0xE2,0x3A,0x4F,0xA1,0x36,0xFF,0x14,0x76,0x0C};
+  static const char* ascii_fingerprint; // = "C0679679E26638BE0A41545C2E17B17A";
+  static const uint8_t binary_fingerprint[16]; // = {0xC0,0x67,0x96,0x79,0xE2,0x66,0x38,0xBE,0x0A,0x41,0x54,0x5C,0x2E,0x17,0xB1,0x7A};
 
 
   virtual ~Airavata_isGatewayExist_presult() throw();
@@ -3220,6 +3262,7 @@ class Airavata_isGatewayExist_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_isGatewayExist_presult__isset __isset;
 
@@ -3652,8 +3695,8 @@ class Airavata_getAllUserSSHPubKeys_presult {
 class Airavata_createProject_args {
  public:
 
-  static const char* ascii_fingerprint; // = "20BB76567749BB84DDDDE69C2A7A0B13";
-  static const uint8_t binary_fingerprint[16]; // = {0x20,0xBB,0x76,0x56,0x77,0x49,0xBB,0x84,0xDD,0xDD,0xE6,0x9C,0x2A,0x7A,0x0B,0x13};
+  static const char* ascii_fingerprint; // = "6AD998897EEB0CD749E1E97F7A084A23";
+  static const uint8_t binary_fingerprint[16]; // = {0x6A,0xD9,0x98,0x89,0x7E,0xEB,0x0C,0xD7,0x49,0xE1,0xE9,0x7F,0x7A,0x08,0x4A,0x23};
 
   Airavata_createProject_args(const Airavata_createProject_args&);
   Airavata_createProject_args& operator=(const Airavata_createProject_args&);
@@ -3661,15 +3704,20 @@ class Airavata_createProject_args {
   }
 
   virtual ~Airavata_createProject_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
   std::string gatewayId;
    ::apache::airavata::model::workspace::Project project;
 
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
   void __set_gatewayId(const std::string& val);
 
   void __set_project(const  ::apache::airavata::model::workspace::Project& val);
 
   bool operator == (const Airavata_createProject_args & rhs) const
   {
+    if (!(authzToken == rhs.authzToken))
+      return false;
     if (!(gatewayId == rhs.gatewayId))
       return false;
     if (!(project == rhs.project))
@@ -3692,11 +3740,12 @@ class Airavata_createProject_args {
 class Airavata_createProject_pargs {
  public:
 
-  static const char* ascii_fingerprint; // = "20BB76567749BB84DDDDE69C2A7A0B13";
-  static const uint8_t binary_fingerprint[16]; // = {0x20,0xBB,0x76,0x56,0x77,0x49,0xBB,0x84,0xDD,0xDD,0xE6,0x9C,0x2A,0x7A,0x0B,0x13};
+  static const char* ascii_fingerprint; // = "6AD998897EEB0CD749E1E97F7A084A23";
+  static const uint8_t binary_fingerprint[16]; // = {0x6A,0xD9,0x98,0x89,0x7E,0xEB,0x0C,0xD7,0x49,0xE1,0xE9,0x7F,0x7A,0x08,0x4A,0x23};
 
 
   virtual ~Airavata_createProject_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const std::string* gatewayId;
   const  ::apache::airavata::model::workspace::Project* project;
 
@@ -3706,18 +3755,19 @@ class Airavata_createProject_pargs {
 };
 
 typedef struct _Airavata_createProject_result__isset {
-  _Airavata_createProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_createProject_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_createProject_result__isset;
 
 class Airavata_createProject_result {
  public:
 
-  static const char* ascii_fingerprint; // = "765449DB00DA08377C7E82BB71F66398";
-  static const uint8_t binary_fingerprint[16]; // = {0x76,0x54,0x49,0xDB,0x00,0xDA,0x08,0x37,0x7C,0x7E,0x82,0xBB,0x71,0xF6,0x63,0x98};
+  static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023";
+  static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23};
 
   Airavata_createProject_result(const Airavata_createProject_result&);
   Airavata_createProject_result& operator=(const Airavata_createProject_result&);
@@ -3729,6 +3779,7 @@ class Airavata_createProject_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_createProject_result__isset __isset;
 
@@ -3740,6 +3791,8 @@ class Airavata_createProject_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
   bool operator == (const Airavata_createProject_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -3750,6 +3803,8 @@ class Airavata_createProject_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
+    if (!(ae == rhs.ae))
+      return false;
     return true;
   }
   bool operator != (const Airavata_createProject_result &rhs) const {
@@ -3765,18 +3820,19 @@ class Airavata_createProject_result {
 };
 
 typedef struct _Airavata_createProject_presult__isset {
-  _Airavata_createProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_createProject_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_createProject_presult__isset;
 
 class Airavata_createProject_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "765449DB00DA08377C7E82BB71F66398";
-  static const uint8_t binary_fingerprint[16]; // = {0x76,0x54,0x49,0xDB,0x00,0xDA,0x08,0x37,0x7C,0x7E,0x82,0xBB,0x71,0xF6,0x63,0x98};
+  static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023";
+  static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23};
 
 
   virtual ~Airavata_createProject_presult() throw();
@@ -3784,6 +3840,7 @@ class Airavata_createProject_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_createProject_presult__isset __isset;
 
@@ -20525,14 +20582,14 @@ class AiravataClient : virtual public AiravataIf {
   void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
   void send_getGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
   void recv_getGateway( ::apache::airavata::model::workspace::Gateway& _return);
-  bool deleteGateway(const std::string& gatewayId);
-  void send_deleteGateway(const std::string& gatewayId);
+  bool deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
   bool recv_deleteGateway();
-  void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return);
-  void send_getAllGateways();
+  void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken);
+  void send_getAllGateways(const  ::apache::airavata::model::security::AuthzToken& authzToken);
   void recv_getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return);
-  bool isGatewayExist(const std::string& gatewayId);
-  void send_isGatewayExist(const std::string& gatewayId);
+  bool isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
   bool recv_isGatewayExist();
   void generateAndRegisterSSHKeys(std::string& _return, const std::string& gatewayId, const std::string& userName);
   void send_generateAndRegisterSSHKeys(const std::string& gatewayId, const std::string& userName);
@@ -20543,8 +20600,8 @@ class AiravataClient : virtual public AiravataIf {
   void getAllUserSSHPubKeys(std::map<std::string, std::string> & _return, const std::string& userName);
   void send_getAllUserSSHPubKeys(const std::string& userName);
   void recv_getAllUserSSHPubKeys(std::map<std::string, std::string> & _return);
-  void createProject(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
-  void send_createProject(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
+  void createProject(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
+  void send_createProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project);
   void recv_createProject(std::string& _return);
   void updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
   void send_updateProject(const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject);
@@ -21233,32 +21290,32 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  bool deleteGateway(const std::string& gatewayId) {
+  bool deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->deleteGateway(gatewayId);
+      ifaces_[i]->deleteGateway(authzToken, gatewayId);
     }
-    return ifaces_[i]->deleteGateway(gatewayId);
+    return ifaces_[i]->deleteGateway(authzToken, gatewayId);
   }
 
-  void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return) {
+  void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllGateways(_return);
+      ifaces_[i]->getAllGateways(_return, authzToken);
     }
-    ifaces_[i]->getAllGateways(_return);
+    ifaces_[i]->getAllGateways(_return, authzToken);
     return;
   }
 
-  bool isGatewayExist(const std::string& gatewayId) {
+  bool isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->isGatewayExist(gatewayId);
+      ifaces_[i]->isGatewayExist(authzToken, gatewayId);
     }
-    return ifaces_[i]->isGatewayExist(gatewayId);
+    return ifaces_[i]->isGatewayExist(authzToken, gatewayId);
   }
 
   void generateAndRegisterSSHKeys(std::string& _return, const std::string& gatewayId, const std::string& userName) {
@@ -21291,13 +21348,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void createProject(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project) {
+  void createProject(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->createProject(_return, gatewayId, project);
+      ifaces_[i]->createProject(_return, authzToken, gatewayId, project);
     }
-    ifaces_[i]->createProject(_return, gatewayId, project);
+    ifaces_[i]->createProject(_return, authzToken, gatewayId, project);
     return;
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index 3ed9810..cf44cf6 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -64,17 +64,17 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getGateway\n");
   }
 
-  bool deleteGateway(const std::string& gatewayId) {
+  bool deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     // Your implementation goes here
     printf("deleteGateway\n");
   }
 
-  void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return) {
+  void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken) {
     // Your implementation goes here
     printf("getAllGateways\n");
   }
 
-  bool isGatewayExist(const std::string& gatewayId) {
+  bool isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     // Your implementation goes here
     printf("isGatewayExist\n");
   }
@@ -124,10 +124,11 @@ class AiravataHandler : virtual public AiravataIf {
    *    The Project Object described in the workspace_model
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param project
    */
-  void createProject(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project) {
+  void createProject(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project) {
     // Your implementation goes here
     printf("createProject\n");
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index 9afce08..3f8bdbb 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -59,28 +59,34 @@ interface AiravataIf {
    */
   public function getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteGateway($gatewayId);
+  public function deleteGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @return \Airavata\Model\Workspace\Gateway[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllGateways();
+  public function getAllGateways(\Airavata\Model\Security\AuthzToken $authzToken);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function isGatewayExist($gatewayId);
+  public function isGatewayExist(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
    * Generate and Register SSH Key Pair with Airavata Credential Store.
    * 
@@ -132,14 +138,16 @@ interface AiravataIf {
    *    The Project Object described in the workspace_model
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param \Airavata\Model\Workspace\Project $project
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function createProject($gatewayId, \Airavata\Model\Workspace\Project $project);
+  public function createProject(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Project $project);
   /**
    * Update a Project
    * 
@@ -2757,15 +2765,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getGateway failed: unknown result");
   }
 
-  public function deleteGateway($gatewayId)
+  public function deleteGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
   {
-    $this->send_deleteGateway($gatewayId);
+    $this->send_deleteGateway($authzToken, $gatewayId);
     return $this->recv_deleteGateway();
   }
 
-  public function send_deleteGateway($gatewayId)
+  public function send_deleteGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
   {
     $args = new \Airavata\API\Airavata_deleteGateway_args();
+    $args->authzToken = $authzToken;
     $args->gatewayId = $gatewayId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -2814,18 +2823,22 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
     throw new \Exception("deleteGateway failed: unknown result");
   }
 
-  public function getAllGateways()
+  public function getAllGateways(\Airavata\Model\Security\AuthzToken $authzToken)
   {
-    $this->send_getAllGateways();
+    $this->send_getAllGateways($authzToken);
     return $this->recv_getAllGateways();
   }
 
-  public function send_getAllGateways()
+  public function send_getAllGateways(\Airavata\Model\Security\AuthzToken $authzToken)
   {
     $args = new \Airavata\API\Airavata_getAllGateways_args();
+    $args->authzToken = $authzToken;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
     {
@@ -2873,18 +2886,22 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
     throw new \Exception("getAllGateways failed: unknown result");
   }
 
-  public function isGatewayExist($gatewayId)
+  public function isGatewayExist(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
   {
-    $this->send_isGatewayExist($gatewayId);
+    $this->send_isGatewayExist($authzToken, $gatewayId);
     return $this->recv_isGatewayExist();
   }
 
-  public function send_isGatewayExist($gatewayId)
+  public function send_isGatewayExist(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
   {
     $args = new \Airavata\API\Airavata_isGatewayExist_args();
+    $args->authzToken = $authzToken;
     $args->gatewayId = $gatewayId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -2933,6 +2950,9 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
     throw new \Exception("isGatewayExist failed: unknown result");
   }
 
@@ -3117,15 +3137,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getAllUserSSHPubKeys failed: unknown result");
   }
 
-  public function createProject($gatewayId, \Airavata\Model\Workspace\Project $project)
+  public function createProject(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Project $project)
   {
-    $this->send_createProject($gatewayId, $project);
+    $this->send_createProject($authzToken, $gatewayId, $project);
     return $this->recv_createProject();
   }
 
-  public function send_createProject($gatewayId, \Airavata\Model\Workspace\Project $project)
+  public function send_createProject(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Project $project)
   {
     $args = new \Airavata\API\Airavata_createProject_args();
+    $args->authzToken = $authzToken;
     $args->gatewayId = $gatewayId;
     $args->project = $project;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -3175,6 +3196,9 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
     throw new \Exception("createProject failed: unknown result");
   }
 
@@ -11368,6 +11392,10 @@ class Airavata_deleteGateway_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var string
    */
   public $gatewayId = null;
@@ -11376,12 +11404,20 @@ class Airavata_deleteGateway_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['gatewayId'])) {
         $this->gatewayId = $vals['gatewayId'];
       }
@@ -11408,6 +11444,14 @@ class Airavata_deleteGateway_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->gatewayId);
           } else {
@@ -11427,8 +11471,16 @@ class Airavata_deleteGateway_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_deleteGateway_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
       $xfer += $output->writeString($this->gatewayId);
       $xfer += $output->writeFieldEnd();
     }
@@ -11458,6 +11510,10 @@ class Airavata_deleteGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -11481,6 +11537,11 @@ class Airavata_deleteGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -11496,6 +11557,9 @@ class Airavata_deleteGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
     }
   }
 
@@ -11549,6 +11613,14 @@ class Airavata_deleteGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -11582,6 +11654,11 @@ class Airavata_deleteGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -11592,12 +11669,26 @@ class Airavata_deleteGateway_result {
 class Airavata_getAllGateways_args {
   static $_TSPEC;
 
+  /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
 
-  public function __construct() {
+  public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
+        1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
         );
     }
+    if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
+    }
   }
 
   public function getName() {
@@ -11619,6 +11710,14 @@ class Airavata_getAllGateways_args {
       }
       switch ($fid)
       {
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -11632,6 +11731,14 @@ class Airavata_getAllGateways_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getAllGateways_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -11658,6 +11765,10 @@ class Airavata_getAllGateways_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -11686,6 +11797,11 @@ class Airavata_getAllGateways_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -11701,6 +11817,9 @@ class Airavata_getAllGateways_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
     }
   }
 
@@ -11765,6 +11884,14 @@ class Airavata_getAllGateways_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -11810,6 +11937,11 @@ class Airavata_getAllGateways_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -11821,6 +11953,10 @@ class Airavata_isGatewayExist_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var string
    */
   public $gatewayId = null;
@@ -11829,12 +11965,20 @@ class Airavata_isGatewayExist_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['gatewayId'])) {
         $this->gatewayId = $vals['gatewayId'];
       }
@@ -11861,6 +12005,14 @@ class Airavata_isGatewayExist_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->gatewayId);
           } else {
@@ -11880,8 +12032,16 @@ class Airavata_isGatewayExist_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_isGatewayExist_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
       $xfer += $output->writeString($this->gatewayId);
       $xfer += $output->writeFieldEnd();
     }
@@ -11911,6 +12071,10 @@ class Airavata_isGatewayExist_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -11934,6 +12098,11 @@ class Airavata_isGatewayExist_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -11949,6 +12118,9 @@ class Airavata_isGatewayExist_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
     }
   }
 
@@ -12002,6 +12174,14 @@ class Airavata_isGatewayExist_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -12035,6 +12215,11 @@ class Airavata_isGatewayExist_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -12778,6 +12963,10 @@ class Airavata_createProject_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var string
    */
   public $gatewayId = null;
@@ -12790,10 +12979,15 @@ class Airavata_createProject_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'gatewayId',
           'type' => TType::STRING,
           ),
-        2 => array(
+        3 => array(
           'var' => 'project',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Project',
@@ -12801,6 +12995,9 @@ class Airavata_createProject_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['gatewayId'])) {
         $this->gatewayId = $vals['gatewayId'];
       }
@@ -12830,13 +13027,21 @@ class Airavata_createProject_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 2:
+        case 3:
           if ($ftype == TType::STRUCT) {
             $this->project = new \Airavata\Model\Workspace\Project();
             $xfer += $this->project->read($input);
@@ -12857,8 +13062,16 @@ class Airavata_createProject_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_createProject_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
       $xfer += $output->writeString($this->gatewayId);
       $xfer += $output->writeFieldEnd();
     }
@@ -12866,7 +13079,7 @@ class Airavata_createProject_args {
       if (!is_object($this->project)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('project', TType::STRUCT, 2);
+      $xfer += $output->writeFieldBegin('project', TType::STRUCT, 3);
       $xfer += $this->project->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -12896,6 +13109,10 @@ class Airavata_createProject_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -12919,6 +13136,11 @@ class Airavata_createProject_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -12934,6 +13156,9 @@ class Airavata_createProject_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
     }
   }
 
@@ -12987,6 +13212,14 @@ class Airavata_createProject_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -13020,6 +13253,11 @@ class Airavata_createProject_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index 7117238..eeebab4 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -28,13 +28,13 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  string addGateway(AuthzToken authzToken, Gateway gateway)')
   print('  void updateGateway(AuthzToken authzToken, string gatewayId, Gateway updatedGateway)')
   print('  Gateway getGateway(AuthzToken authzToken, string gatewayId)')
-  print('  bool deleteGateway(string gatewayId)')
-  print('   getAllGateways()')
-  print('  bool isGatewayExist(string gatewayId)')
+  print('  bool deleteGateway(AuthzToken authzToken, string gatewayId)')
+  print('   getAllGateways(AuthzToken authzToken)')
+  print('  bool isGatewayExist(AuthzToken authzToken, string gatewayId)')
   print('  string generateAndRegisterSSHKeys(string gatewayId, string userName)')
   print('  string getSSHPubKey(string airavataCredStoreToken)')
   print('   getAllUserSSHPubKeys(string userName)')
-  print('  string createProject(string gatewayId, Project project)')
+  print('  string createProject(AuthzToken authzToken, string gatewayId, Project project)')
   print('  void updateProject(string projectId, Project updatedProject)')
   print('  Project getProject(string projectId)')
   print('  bool deleteProject(string projectId)')
@@ -232,22 +232,22 @@ elif cmd == 'getGateway':
   pp.pprint(client.getGateway(eval(args[0]),args[1],))
 
 elif cmd == 'deleteGateway':
-  if len(args) != 1:
-    print('deleteGateway requires 1 args')
+  if len(args) != 2:
+    print('deleteGateway requires 2 args')
     sys.exit(1)
-  pp.pprint(client.deleteGateway(args[0],))
+  pp.pprint(client.deleteGateway(eval(args[0]),args[1],))
 
 elif cmd == 'getAllGateways':
-  if len(args) != 0:
-    print('getAllGateways requires 0 args')
+  if len(args) != 1:
+    print('getAllGateways requires 1 args')
     sys.exit(1)
-  pp.pprint(client.getAllGateways())
+  pp.pprint(client.getAllGateways(eval(args[0]),))
 
 elif cmd == 'isGatewayExist':
-  if len(args) != 1:
-    print('isGatewayExist requires 1 args')
+  if len(args) != 2:
+    print('isGatewayExist requires 2 args')
     sys.exit(1)
-  pp.pprint(client.isGatewayExist(args[0],))
+  pp.pprint(client.isGatewayExist(eval(args[0]),args[1],))
 
 elif cmd == 'generateAndRegisterSSHKeys':
   if len(args) != 2:
@@ -268,10 +268,10 @@ elif cmd == 'getAllUserSSHPubKeys':
   pp.pprint(client.getAllUserSSHPubKeys(args[0],))
 
 elif cmd == 'createProject':
-  if len(args) != 2:
-    print('createProject requires 2 args')
+  if len(args) != 3:
+    print('createProject requires 3 args')
     sys.exit(1)
-  pp.pprint(client.createProject(args[0],eval(args[1]),))
+  pp.pprint(client.createProject(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'updateProject':
   if len(args) != 2:


[38/44] airavata git commit: fixed all compilation errors in the java client samples after the API changes.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index 7145e99..49d8154 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -196,12 +196,13 @@ class AiravataHandler : virtual public AiravataIf {
    *   *    The starting point of the results to be fetched
    * *
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param limit
    * @param offset
    */
-  void getAllUserProjectsWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) {
+  void getAllUserProjectsWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("getAllUserProjectsWithPagination\n");
   }
@@ -241,13 +242,14 @@ class AiravataHandler : virtual public AiravataIf {
    * @param offset
    *    The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param projectName
    * @param limit
    * @param offset
    */
-  void searchProjectsByProjectNameWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName, const int32_t limit, const int32_t offset) {
+  void searchProjectsByProjectNameWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& projectName, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("searchProjectsByProjectNameWithPagination\n");
   }
@@ -286,13 +288,14 @@ class AiravataHandler : virtual public AiravataIf {
    * @param offset
    *    The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param description
    * @param limit
    * @param offset
    */
-  void searchProjectsByProjectDescWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) {
+  void searchProjectsByProjectDescWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("searchProjectsByProjectDescWithPagination\n");
   }
@@ -334,13 +337,14 @@ class AiravataHandler : virtual public AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param expName
    * @param limit
    * @param offset
    */
-  void searchExperimentsByNameWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName, const int32_t limit, const int32_t offset) {
+  void searchExperimentsByNameWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& expName, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("searchExperimentsByNameWithPagination\n");
   }
@@ -381,13 +385,14 @@ class AiravataHandler : virtual public AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param description
    * @param limit
    * @param offset
    */
-  void searchExperimentsByDescWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) {
+  void searchExperimentsByDescWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("searchExperimentsByDescWithPagination\n");
   }
@@ -428,13 +433,14 @@ class AiravataHandler : virtual public AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param applicationId
    * @param limit
    * @param offset
    */
-  void searchExperimentsByApplicationWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId, const int32_t limit, const int32_t offset) {
+  void searchExperimentsByApplicationWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& applicationId, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("searchExperimentsByApplicationWithPagination\n");
   }
@@ -475,13 +481,14 @@ class AiravataHandler : virtual public AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param experimentState
    * @param limit
    * @param offset
    */
-  void searchExperimentsByStatusWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::status::ExperimentState::type experimentState, const int32_t limit, const int32_t offset) {
+  void searchExperimentsByStatusWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::status::ExperimentState::type experimentState, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("searchExperimentsByStatusWithPagination\n");
   }
@@ -527,6 +534,7 @@ class AiravataHandler : virtual public AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param fromTime
@@ -534,7 +542,7 @@ class AiravataHandler : virtual public AiravataIf {
    * @param limit
    * @param offset
    */
-  void searchExperimentsByCreationTimeWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime, const int32_t limit, const int32_t offset) {
+  void searchExperimentsByCreationTimeWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("searchExperimentsByCreationTimeWithPagination\n");
   }
@@ -554,13 +562,14 @@ class AiravataHandler : virtual public AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param filters
    * @param limit
    * @param offset
    */
-  void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset) {
+  void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("searchExperiments\n");
   }
@@ -575,11 +584,12 @@ class AiravataHandler : virtual public AiravataIf {
    *       Ending data time
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param fromTime
    * @param toTime
    */
-  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime) {
+  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime) {
     // Your implementation goes here
     printf("getExperimentStatistics\n");
   }
@@ -610,11 +620,12 @@ class AiravataHandler : virtual public AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param projectId
    * @param limit
    * @param offset
    */
-  void getAllExperimentsInProjectWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const std::string& projectId, const int32_t limit, const int32_t offset) {
+  void getAllExperimentsInProjectWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("getAllExperimentsInProjectWithPagination\n");
   }
@@ -650,12 +661,13 @@ class AiravataHandler : virtual public AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param limit
    * @param offset
    */
-  void getAllUserExperimentsWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) {
+  void getAllUserExperimentsWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("getAllUserExperimentsWithPagination\n");
   }
@@ -695,10 +707,11 @@ class AiravataHandler : virtual public AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param experiment
    */
-  void createExperiment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment) {
+  void createExperiment(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment) {
     // Your implementation goes here
     printf("createExperiment\n");
   }
@@ -736,9 +749,10 @@ class AiravataHandler : virtual public AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param airavataExperimentId
    */
-  void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const std::string& airavataExperimentId) {
+  void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) {
     // Your implementation goes here
     printf("getExperiment\n");
   }
@@ -782,20 +796,21 @@ class AiravataHandler : virtual public AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param airavataExperimentId
    * @param experiment
    */
-  void updateExperiment(const std::string& airavataExperimentId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment) {
+  void updateExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment) {
     // Your implementation goes here
     printf("updateExperiment\n");
   }
 
-  void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::apache::airavata::model::experiment::UserConfigurationDataModel& userConfiguration) {
+  void updateExperimentConfiguration(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const  ::apache::airavata::model::experiment::UserConfigurationDataModel& userConfiguration) {
     // Your implementation goes here
     printf("updateExperimentConfiguration\n");
   }
 
-  void updateResourceScheduleing(const std::string& airavataExperimentId, const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& resourceScheduling) {
+  void updateResourceScheduleing(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& resourceScheduling) {
     // Your implementation goes here
     printf("updateResourceScheduleing\n");
   }
@@ -809,9 +824,10 @@ class AiravataHandler : virtual public AiravataIf {
    *  *
    * *
    * 
+   * @param authzToken
    * @param airavataExperimentId
    */
-  bool validateExperiment(const std::string& airavataExperimentId) {
+  bool validateExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) {
     // Your implementation goes here
     printf("validateExperiment\n");
   }
@@ -859,35 +875,36 @@ class AiravataHandler : virtual public AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param airavataExperimentId
    * @param airavataCredStoreToken
    */
-  void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) {
+  void launchExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) {
     // Your implementation goes here
     printf("launchExperiment\n");
   }
 
-  void getExperimentStatus( ::apache::airavata::model::status::ExperimentStatus& _return, const std::string& airavataExperimentId) {
+  void getExperimentStatus( ::apache::airavata::model::status::ExperimentStatus& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) {
     // Your implementation goes here
     printf("getExperimentStatus\n");
   }
 
-  void getExperimentOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const std::string& airavataExperimentId) {
+  void getExperimentOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) {
     // Your implementation goes here
     printf("getExperimentOutputs\n");
   }
 
-  void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const std::string& airavataExperimentId) {
+  void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) {
     // Your implementation goes here
     printf("getIntermediateOutputs\n");
   }
 
-  void getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return, const std::string& airavataExperimentId) {
+  void getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) {
     // Your implementation goes here
     printf("getJobStatuses\n");
   }
 
-  void getJobDetails(std::vector< ::apache::airavata::model::job::JobModel> & _return, const std::string& airavataExperimentId) {
+  void getJobDetails(std::vector< ::apache::airavata::model::job::JobModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) {
     // Your implementation goes here
     printf("getJobDetails\n");
   }
@@ -931,10 +948,11 @@ class AiravataHandler : virtual public AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param existingExperimentID
    * @param newExperimentName
    */
-  void cloneExperiment(std::string& _return, const std::string& existingExperimentID, const std::string& newExperimentName) {
+  void cloneExperiment(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& existingExperimentID, const std::string& newExperimentName) {
     // Your implementation goes here
     printf("cloneExperiment\n");
   }
@@ -972,10 +990,11 @@ class AiravataHandler : virtual public AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param airavataExperimentId
    * @param tokenId
    */
-  void terminateExperiment(const std::string& airavataExperimentId, const std::string& tokenId) {
+  void terminateExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::string& tokenId) {
     // Your implementation goes here
     printf("terminateExperiment\n");
   }
@@ -990,10 +1009,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a server-side generated airavata appModule globally unique identifier.
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param applicationModule
    */
-  void registerApplicationModule(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
+  void registerApplicationModule(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
     // Your implementation goes here
     printf("registerApplicationModule\n");
   }
@@ -1008,9 +1028,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a application Module Object.
    * 
    * 
+   * @param authzToken
    * @param appModuleId
    */
-  void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const std::string& appModuleId) {
+  void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId) {
     // Your implementation goes here
     printf("getApplicationModule\n");
   }
@@ -1028,15 +1049,16 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param appModuleId
    * @param applicationModule
    */
-  bool updateApplicationModule(const std::string& appModuleId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
+  bool updateApplicationModule(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
     // Your implementation goes here
     printf("updateApplicationModule\n");
   }
 
-  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const std::string& gatewayId) {
+  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllAppModules\n");
   }
@@ -1051,9 +1073,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param appModuleId
    */
-  bool deleteApplicationModule(const std::string& appModuleId) {
+  bool deleteApplicationModule(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId) {
     // Your implementation goes here
     printf("deleteApplicationModule\n");
   }
@@ -1068,10 +1091,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a server-side generated airavata appDeployment globally unique identifier.
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param applicationDeployment
    */
-  void registerApplicationDeployment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
+  void registerApplicationDeployment(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
     // Your implementation goes here
     printf("registerApplicationDeployment\n");
   }
@@ -1086,9 +1110,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a application Deployment Object.
    * 
    * 
+   * @param authzToken
    * @param appDeploymentId
    */
-  void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const std::string& appDeploymentId) {
+  void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appDeploymentId) {
     // Your implementation goes here
     printf("getApplicationDeployment\n");
   }
@@ -1106,10 +1131,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param appDeploymentId
    * @param applicationDeployment
    */
-  bool updateApplicationDeployment(const std::string& appDeploymentId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
+  bool updateApplicationDeployment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appDeploymentId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
     // Your implementation goes here
     printf("updateApplicationDeployment\n");
   }
@@ -1124,9 +1150,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param appDeploymentId
    */
-  bool deleteApplicationDeployment(const std::string& appDeploymentId) {
+  bool deleteApplicationDeployment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appDeploymentId) {
     // Your implementation goes here
     printf("deleteApplicationDeployment\n");
   }
@@ -1138,9 +1165,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns the list of all application Deployment Objects.
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    */
-  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return, const std::string& gatewayId) {
+  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllApplicationDeployments\n");
   }
@@ -1155,9 +1183,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a list of Deployed Resources.
    * 
    * 
+   * @param authzToken
    * @param appModuleId
    */
-  void getAppModuleDeployedResources(std::vector<std::string> & _return, const std::string& appModuleId) {
+  void getAppModuleDeployedResources(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId) {
     // Your implementation goes here
     printf("getAppModuleDeployedResources\n");
   }
@@ -1172,10 +1201,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a server-side generated airavata application interface globally unique identifier.
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param applicationInterface
    */
-  void registerApplicationInterface(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
+  void registerApplicationInterface(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
     // Your implementation goes here
     printf("registerApplicationInterface\n");
   }
@@ -1191,9 +1221,10 @@ class AiravataHandler : virtual public AiravataIf {
    * 
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    */
-  void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const std::string& appInterfaceId) {
+  void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) {
     // Your implementation goes here
     printf("getApplicationInterface\n");
   }
@@ -1212,10 +1243,11 @@ class AiravataHandler : virtual public AiravataIf {
    * 
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    * @param applicationInterface
    */
-  bool updateApplicationInterface(const std::string& appInterfaceId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
+  bool updateApplicationInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
     // Your implementation goes here
     printf("updateApplicationInterface\n");
   }
@@ -1231,9 +1263,10 @@ class AiravataHandler : virtual public AiravataIf {
    * 
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    */
-  bool deleteApplicationInterface(const std::string& appInterfaceId) {
+  bool deleteApplicationInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) {
     // Your implementation goes here
     printf("deleteApplicationInterface\n");
   }
@@ -1246,9 +1279,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a list of application interfaces with corresponsing id's
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    */
-  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const std::string& gatewayId) {
+  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllApplicationInterfaceNames\n");
   }
@@ -1261,9 +1295,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a list of application interfaces documents
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    */
-  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const std::string& gatewayId) {
+  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllApplicationInterfaces\n");
   }
@@ -1278,9 +1313,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a list of application inputs.
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    */
-  void getApplicationInputs(std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & _return, const std::string& appInterfaceId) {
+  void getApplicationInputs(std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) {
     // Your implementation goes here
     printf("getApplicationInputs\n");
   }
@@ -1295,9 +1331,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a list of application outputs.
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    */
-  void getApplicationOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const std::string& appInterfaceId) {
+  void getApplicationOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) {
     // Your implementation goes here
     printf("getApplicationOutputs\n");
   }
@@ -1313,9 +1350,10 @@ class AiravataHandler : virtual public AiravataIf {
    *    Deployments of each modules listed within the interfaces will be listed.
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    */
-  void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) {
+  void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) {
     // Your implementation goes here
     printf("getAvailableAppInterfaceComputeResources\n");
   }
@@ -1330,9 +1368,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a server-side generated airavata compute resource globally unique identifier.
    * 
    * 
+   * @param authzToken
    * @param computeResourceDescription
    */
-  void registerComputeResource(std::string& _return, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) {
+  void registerComputeResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) {
     // Your implementation goes here
     printf("registerComputeResource\n");
   }
@@ -1347,9 +1386,10 @@ class AiravataHandler : virtual public AiravataIf {
    *    Compute Resource Object created from the datamodel..
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    */
-  void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const std::string& computeResourceId) {
+  void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId) {
     // Your implementation goes here
     printf("getComputeResource\n");
   }
@@ -1360,8 +1400,10 @@ class AiravataHandler : virtual public AiravataIf {
    * @return A map of registered compute resource id's and thier corresponding hostnames.
    *    Compute Resource Object created from the datamodel..
    * 
+   * 
+   * @param authzToken
    */
-  void getAllComputeResourceNames(std::map<std::string, std::string> & _return) {
+  void getAllComputeResourceNames(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken) {
     // Your implementation goes here
     printf("getAllComputeResourceNames\n");
   }
@@ -1379,10 +1421,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param computeResourceDescription
    */
-  bool updateComputeResource(const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) {
+  bool updateComputeResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) {
     // Your implementation goes here
     printf("updateComputeResource\n");
   }
@@ -1397,9 +1440,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    */
-  bool deleteComputeResource(const std::string& computeResourceId) {
+  bool deleteComputeResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId) {
     // Your implementation goes here
     printf("deleteComputeResource\n");
   }
@@ -1421,11 +1465,12 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param localSubmission
    */
-  void addLocalSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) {
+  void addLocalSubmissionDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) {
     // Your implementation goes here
     printf("addLocalSubmissionDetails\n");
   }
@@ -1443,10 +1488,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionInterfaceId
    * @param localSubmission
    */
-  bool updateLocalSubmissionDetails(const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) {
+  bool updateLocalSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) {
     // Your implementation goes here
     printf("updateLocalSubmissionDetails\n");
   }
@@ -1458,9 +1504,10 @@ class AiravataHandler : virtual public AiravataIf {
    *  @return LOCALSubmission instance
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionId
    */
-  void getLocalJobSubmission( ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& _return, const std::string& jobSubmissionId) {
+  void getLocalJobSubmission( ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) {
     // Your implementation goes here
     printf("getLocalJobSubmission\n");
   }
@@ -1482,11 +1529,12 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param sshJobSubmission
    */
-  void addSSHJobSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) {
+  void addSSHJobSubmissionDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) {
     // Your implementation goes here
     printf("addSSHJobSubmissionDetails\n");
   }
@@ -1498,9 +1546,10 @@ class AiravataHandler : virtual public AiravataIf {
    *  @return SSHJobSubmission instance
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionId
    */
-  void getSSHJobSubmission( ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& _return, const std::string& jobSubmissionId) {
+  void getSSHJobSubmission( ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) {
     // Your implementation goes here
     printf("getSSHJobSubmission\n");
   }
@@ -1522,11 +1571,12 @@ class AiravataHandler : virtual public AiravataIf {
    *  Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param unicoreJobSubmission
    */
-  void addUNICOREJobSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) {
+  void addUNICOREJobSubmissionDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) {
     // Your implementation goes here
     printf("addUNICOREJobSubmissionDetails\n");
   }
@@ -1538,9 +1588,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   *  @return UnicoreJobSubmission instance
    * *
    * 
+   * @param authzToken
    * @param jobSubmissionId
    */
-  void getUnicoreJobSubmission( ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& _return, const std::string& jobSubmissionId) {
+  void getUnicoreJobSubmission( ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) {
     // Your implementation goes here
     printf("getUnicoreJobSubmission\n");
   }
@@ -1562,11 +1613,12 @@ class AiravataHandler : virtual public AiravataIf {
    *    *   Returns the unique job submission id.
    * *
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param cloudSubmission
    */
-  void addCloudJobSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& cloudSubmission) {
+  void addCloudJobSubmissionDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& cloudSubmission) {
     // Your implementation goes here
     printf("addCloudJobSubmissionDetails\n");
   }
@@ -1578,9 +1630,10 @@ class AiravataHandler : virtual public AiravataIf {
    *    *  @return CloudJobSubmission instance
    * *
    * 
+   * @param authzToken
    * @param jobSubmissionId
    */
-  void getCloudJobSubmission( ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& _return, const std::string& jobSubmissionId) {
+  void getCloudJobSubmission( ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) {
     // Your implementation goes here
     printf("getCloudJobSubmission\n");
   }
@@ -1598,16 +1651,17 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionInterfaceId
    * @param sshJobSubmission
    */
-  bool updateSSHJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) {
+  bool updateSSHJobSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) {
     // Your implementation goes here
     printf("updateSSHJobSubmissionDetails\n");
   }
 
   /**
-   * Update the given SSH Job Submission details
+   * Update the cloud Job Submission details
    * 
    * @param jobSubmissionInterfaceId
    *   The identifier of the JobSubmission Interface to be updated.
@@ -1619,15 +1673,16 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionInterfaceId
    * @param sshJobSubmission
    */
-  bool updateCloudJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& sshJobSubmission) {
+  bool updateCloudJobSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& sshJobSubmission) {
     // Your implementation goes here
     printf("updateCloudJobSubmissionDetails\n");
   }
 
-  bool updateUnicoreJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) {
+  bool updateUnicoreJobSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) {
     // Your implementation goes here
     printf("updateUnicoreJobSubmissionDetails\n");
   }
@@ -1649,11 +1704,12 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param localDataMovement
    */
-  void addLocalDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) {
+  void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) {
     // Your implementation goes here
     printf("addLocalDataMovementDetails\n");
   }
@@ -1671,10 +1727,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param dataMovementInterfaceId
    * @param localDataMovement
    */
-  bool updateLocalDataMovementDetails(const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) {
+  bool updateLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) {
     // Your implementation goes here
     printf("updateLocalDataMovementDetails\n");
   }
@@ -1686,9 +1743,10 @@ class AiravataHandler : virtual public AiravataIf {
    *         *  @return LOCALDataMovement instance
    * *
    * 
+   * @param authzToken
    * @param dataMovementId
    */
-  void getLocalDataMovement( ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& _return, const std::string& dataMovementId) {
+  void getLocalDataMovement( ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) {
     // Your implementation goes here
     printf("getLocalDataMovement\n");
   }
@@ -1710,11 +1768,12 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param scpDataMovement
    */
-  void addSCPDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) {
+  void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) {
     // Your implementation goes here
     printf("addSCPDataMovementDetails\n");
   }
@@ -1733,10 +1792,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param dataMovementInterfaceId
    * @param scpDataMovement
    */
-  bool updateSCPDataMovementDetails(const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) {
+  bool updateSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) {
     // Your implementation goes here
     printf("updateSCPDataMovementDetails\n");
   }
@@ -1748,24 +1808,25 @@ class AiravataHandler : virtual public AiravataIf {
    *      *  @return SCPDataMovement instance
    * *
    * 
+   * @param authzToken
    * @param dataMovementId
    */
-  void getSCPDataMovement( ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& _return, const std::string& dataMovementId) {
+  void getSCPDataMovement( ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) {
     // Your implementation goes here
     printf("getSCPDataMovement\n");
   }
 
-  void addUnicoreDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& unicoreDataMovement) {
+  void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& unicoreDataMovement) {
     // Your implementation goes here
     printf("addUnicoreDataMovementDetails\n");
   }
 
-  bool updateUnicoreDataMovementDetails(const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& unicoreDataMovement) {
+  bool updateUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& unicoreDataMovement) {
     // Your implementation goes here
     printf("updateUnicoreDataMovementDetails\n");
   }
 
-  void getUnicoreDataMovement( ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& _return, const std::string& dataMovementId) {
+  void getUnicoreDataMovement( ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) {
     // Your implementation goes here
     printf("getUnicoreDataMovement\n");
   }
@@ -1787,11 +1848,12 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param gridFTPDataMovement
    */
-  void addGridFTPDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) {
+  void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) {
     // Your implementation goes here
     printf("addGridFTPDataMovementDetails\n");
   }
@@ -1810,10 +1872,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the updation.
    * 
    * 
+   * @param authzToken
    * @param dataMovementInterfaceId
    * @param gridFTPDataMovement
    */
-  bool updateGridFTPDataMovementDetails(const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) {
+  bool updateGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) {
     // Your implementation goes here
     printf("updateGridFTPDataMovementDetails\n");
   }
@@ -1825,9 +1888,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   *  @return GridFTPDataMovement instance
    * *
    * 
+   * @param authzToken
    * @param dataMovementId
    */
-  void getGridFTPDataMovement( ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& _return, const std::string& dataMovementId) {
+  void getGridFTPDataMovement( ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) {
     // Your implementation goes here
     printf("getGridFTPDataMovement\n");
   }
@@ -1845,10 +1909,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the change.
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionInterfaceId
    * @param newPriorityOrder
    */
-  bool changeJobSubmissionPriority(const std::string& jobSubmissionInterfaceId, const int32_t newPriorityOrder) {
+  bool changeJobSubmissionPriority(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const int32_t newPriorityOrder) {
     // Your implementation goes here
     printf("changeJobSubmissionPriority\n");
   }
@@ -1866,10 +1931,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the change.
    * 
    * 
+   * @param authzToken
    * @param dataMovementInterfaceId
    * @param newPriorityOrder
    */
-  bool changeDataMovementPriority(const std::string& dataMovementInterfaceId, const int32_t newPriorityOrder) {
+  bool changeDataMovementPriority(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const int32_t newPriorityOrder) {
     // Your implementation goes here
     printf("changeDataMovementPriority\n");
   }
@@ -1884,9 +1950,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the changes.
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionPriorityMap
    */
-  bool changeJobSubmissionPriorities(const std::map<std::string, int32_t> & jobSubmissionPriorityMap) {
+  bool changeJobSubmissionPriorities(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::map<std::string, int32_t> & jobSubmissionPriorityMap) {
     // Your implementation goes here
     printf("changeJobSubmissionPriorities\n");
   }
@@ -1901,9 +1968,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the changes.
    * 
    * 
+   * @param authzToken
    * @param dataMovementPriorityMap
    */
-  bool changeDataMovementPriorities(const std::map<std::string, int32_t> & dataMovementPriorityMap) {
+  bool changeDataMovementPriorities(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::map<std::string, int32_t> & dataMovementPriorityMap) {
     // Your implementation goes here
     printf("changeDataMovementPriorities\n");
   }
@@ -1918,10 +1986,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param jobSubmissionInterfaceId
    */
-  bool deleteJobSubmissionInterface(const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId) {
+  bool deleteJobSubmissionInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId) {
     // Your implementation goes here
     printf("deleteJobSubmissionInterface\n");
   }
@@ -1936,35 +2005,36 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param dataMovementInterfaceId
    */
-  bool deleteDataMovementInterface(const std::string& computeResourceId, const std::string& dataMovementInterfaceId) {
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId) {
     // Your implementation goes here
     printf("deleteDataMovementInterface\n");
   }
 
-  void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager) {
+  void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager) {
     // Your implementation goes here
     printf("registerResourceJobManager\n");
   }
 
-  bool updateResourceJobManager(const std::string& resourceJobManagerId, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& updatedResourceJobManager) {
+  bool updateResourceJobManager(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceJobManagerId, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& updatedResourceJobManager) {
     // Your implementation goes here
     printf("updateResourceJobManager\n");
   }
 
-  void getResourceJobManager( ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& _return, const std::string& resourceJobManagerId) {
+  void getResourceJobManager( ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceJobManagerId) {
     // Your implementation goes here
     printf("getResourceJobManager\n");
   }
 
-  bool deleteResourceJobManager(const std::string& resourceJobManagerId) {
+  bool deleteResourceJobManager(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceJobManagerId) {
     // Your implementation goes here
     printf("deleteResourceJobManager\n");
   }
 
-  bool deleteBatchQueue(const std::string& computeResourceId, const std::string& queueName) {
+  bool deleteBatchQueue(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& queueName) {
     // Your implementation goes here
     printf("deleteBatchQueue\n");
   }
@@ -1981,9 +2051,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param gatewayResourceProfile
    */
-  void registerGatewayResourceProfile(std::string& _return, const  ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) {
+  void registerGatewayResourceProfile(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) {
     // Your implementation goes here
     printf("registerGatewayResourceProfile\n");
   }
@@ -1998,9 +2069,10 @@ class AiravataHandler : virtual public AiravataIf {
    *    Gateway Resource Profile Object.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    */
-  void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& _return, const std::string& gatewayID) {
+  void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID) {
     // Your implementation goes here
     printf("getGatewayResourceProfile\n");
   }
@@ -2018,10 +2090,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    * @param gatewayResourceProfile
    */
-  bool updateGatewayResourceProfile(const std::string& gatewayID, const  ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) {
+  bool updateGatewayResourceProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const  ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) {
     // Your implementation goes here
     printf("updateGatewayResourceProfile\n");
   }
@@ -2036,9 +2109,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    */
-  bool deleteGatewayResourceProfile(const std::string& gatewayID) {
+  bool deleteGatewayResourceProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID) {
     // Your implementation goes here
     printf("deleteGatewayResourceProfile\n");
   }
@@ -2060,11 +2134,12 @@ class AiravataHandler : virtual public AiravataIf {
    *    Instead an update should be used.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    * @param computeResourceId
    * @param computeResourcePreference
    */
-  bool addGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) {
+  bool addGatewayComputeResourcePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) {
     // Your implementation goes here
     printf("addGatewayComputeResourcePreference\n");
   }
@@ -2082,10 +2157,11 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns the ComputeResourcePreference object.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    * @param computeResourceId
    */
-  void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& _return, const std::string& gatewayID, const std::string& computeResourceId) {
+  void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId) {
     // Your implementation goes here
     printf("getGatewayComputeResourcePreference\n");
   }
@@ -2100,9 +2176,10 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns the ComputeResourcePreference object.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    */
-  void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & _return, const std::string& gatewayID) {
+  void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID) {
     // Your implementation goes here
     printf("getAllGatewayComputeResourcePreferences\n");
   }
@@ -2110,8 +2187,10 @@ class AiravataHandler : virtual public AiravataIf {
   /**
    * Fetch all gateway profiles registered
    * 
+   * 
+   * @param authzToken
    */
-  void getAllGatewayComputeResources(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile> & _return) {
+  void getAllGatewayComputeResources(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken) {
     // Your implementation goes here
     printf("getAllGatewayComputeResources\n");
   }
@@ -2132,11 +2211,12 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the updation.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    * @param computeResourceId
    * @param computeResourcePreference
    */
-  bool updateGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) {
+  bool updateGatewayComputeResourcePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) {
     // Your implementation goes here
     printf("updateGatewayComputeResourcePreference\n");
   }
@@ -2154,45 +2234,46 @@ class AiravataHandler : virtual public AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    * @param computeResourceId
    */
-  bool deleteGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId) {
+  bool deleteGatewayComputeResourcePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId) {
     // Your implementation goes here
     printf("deleteGatewayComputeResourcePreference\n");
   }
 
-  void getAllWorkflows(std::vector<std::string> & _return, const std::string& gatewayId) {
+  void getAllWorkflows(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getAllWorkflows\n");
   }
 
-  void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId) {
+  void getWorkflow( ::Workflow& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) {
     // Your implementation goes here
     printf("getWorkflow\n");
   }
 
-  void deleteWorkflow(const std::string& workflowTemplateId) {
+  void deleteWorkflow(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) {
     // Your implementation goes here
     printf("deleteWorkflow\n");
   }
 
-  void registerWorkflow(std::string& _return, const std::string& gatewayId, const  ::Workflow& workflow) {
+  void registerWorkflow(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::Workflow& workflow) {
     // Your implementation goes here
     printf("registerWorkflow\n");
   }
 
-  void updateWorkflow(const std::string& workflowTemplateId, const  ::Workflow& workflow) {
+  void updateWorkflow(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const  ::Workflow& workflow) {
     // Your implementation goes here
     printf("updateWorkflow\n");
   }
 
-  void getWorkflowTemplateId(std::string& _return, const std::string& workflowName) {
+  void getWorkflowTemplateId(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName) {
     // Your implementation goes here
     printf("getWorkflowTemplateId\n");
   }
 
-  bool isWorkflowExistWithName(const std::string& workflowName) {
+  bool isWorkflowExistWithName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName) {
     // Your implementation goes here
     printf("isWorkflowExistWithName\n");
   }


[11/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
new file mode 100644
index 0000000..14a843c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
@@ -0,0 +1,1006 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef compute_resource_model_TYPES_H
+#define compute_resource_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavata_commons_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
+
+struct ResourceJobManagerType {
+  enum type {
+    FORK = 0,
+    PBS = 1,
+    SLURM = 2,
+    LSF = 3,
+    UGE = 4
+  };
+};
+
+extern const std::map<int, const char*> _ResourceJobManagerType_VALUES_TO_NAMES;
+
+struct JobManagerCommand {
+  enum type {
+    SUBMISSION = 0,
+    JOB_MONITORING = 1,
+    DELETION = 2,
+    CHECK_JOB = 3,
+    SHOW_QUEUE = 4,
+    SHOW_RESERVATION = 5,
+    SHOW_START = 6
+  };
+};
+
+extern const std::map<int, const char*> _JobManagerCommand_VALUES_TO_NAMES;
+
+struct FileSystems {
+  enum type {
+    HOME = 0,
+    WORK = 1,
+    LOCALTMP = 2,
+    SCRATCH = 3,
+    ARCHIVE = 4
+  };
+};
+
+extern const std::map<int, const char*> _FileSystems_VALUES_TO_NAMES;
+
+struct SecurityProtocol {
+  enum type {
+    USERNAME_PASSWORD = 0,
+    SSH_KEYS = 1,
+    GSI = 2,
+    KERBEROS = 3,
+    OAUTH = 4
+  };
+};
+
+extern const std::map<int, const char*> _SecurityProtocol_VALUES_TO_NAMES;
+
+struct JobSubmissionProtocol {
+  enum type {
+    LOCAL = 0,
+    SSH = 1,
+    GLOBUS = 2,
+    UNICORE = 3,
+    CLOUD = 4
+  };
+};
+
+extern const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES;
+
+struct MonitorMode {
+  enum type {
+    POLL_JOB_MANAGER = 0,
+    JOB_EMAIL_NOTIFICATION_MONITOR = 1,
+    XSEDE_AMQP_SUBSCRIBE = 2
+  };
+};
+
+extern const std::map<int, const char*> _MonitorMode_VALUES_TO_NAMES;
+
+struct DataMovementProtocol {
+  enum type {
+    LOCAL = 0,
+    SCP = 1,
+    SFTP = 2,
+    GridFTP = 3,
+    UNICORE_STORAGE_SERVICE = 4
+  };
+};
+
+extern const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES;
+
+struct ProviderName {
+  enum type {
+    EC2 = 0,
+    AWSEC2 = 1,
+    RACKSPACE = 2
+  };
+};
+
+extern const std::map<int, const char*> _ProviderName_VALUES_TO_NAMES;
+
+class ResourceJobManager;
+
+class BatchQueue;
+
+class SCPDataMovement;
+
+class GridFTPDataMovement;
+
+class UnicoreDataMovement;
+
+class LOCALSubmission;
+
+class LOCALDataMovement;
+
+class SSHJobSubmission;
+
+class GlobusJobSubmission;
+
+class UnicoreJobSubmission;
+
+class CloudJobSubmission;
+
+class JobSubmissionInterface;
+
+class DataMovementInterface;
+
+class ComputeResourceDescription;
+
+typedef struct _ResourceJobManager__isset {
+  _ResourceJobManager__isset() : pushMonitoringEndpoint(false), jobManagerBinPath(false), jobManagerCommands(false) {}
+  bool pushMonitoringEndpoint :1;
+  bool jobManagerBinPath :1;
+  bool jobManagerCommands :1;
+} _ResourceJobManager__isset;
+
+class ResourceJobManager {
+ public:
+
+  static const char* ascii_fingerprint; // = "F61CAF80247D0E44C8D52504F3A43BED";
+  static const uint8_t binary_fingerprint[16]; // = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
+
+  ResourceJobManager(const ResourceJobManager&);
+  ResourceJobManager& operator=(const ResourceJobManager&);
+  ResourceJobManager() : resourceJobManagerId("DO_NOT_SET_AT_CLIENTS"), resourceJobManagerType((ResourceJobManagerType::type)0), pushMonitoringEndpoint(), jobManagerBinPath() {
+  }
+
+  virtual ~ResourceJobManager() throw();
+  std::string resourceJobManagerId;
+  ResourceJobManagerType::type resourceJobManagerType;
+  std::string pushMonitoringEndpoint;
+  std::string jobManagerBinPath;
+  std::map<JobManagerCommand::type, std::string>  jobManagerCommands;
+
+  _ResourceJobManager__isset __isset;
+
+  void __set_resourceJobManagerId(const std::string& val);
+
+  void __set_resourceJobManagerType(const ResourceJobManagerType::type val);
+
+  void __set_pushMonitoringEndpoint(const std::string& val);
+
+  void __set_jobManagerBinPath(const std::string& val);
+
+  void __set_jobManagerCommands(const std::map<JobManagerCommand::type, std::string> & val);
+
+  bool operator == (const ResourceJobManager & rhs) const
+  {
+    if (!(resourceJobManagerId == rhs.resourceJobManagerId))
+      return false;
+    if (!(resourceJobManagerType == rhs.resourceJobManagerType))
+      return false;
+    if (__isset.pushMonitoringEndpoint != rhs.__isset.pushMonitoringEndpoint)
+      return false;
+    else if (__isset.pushMonitoringEndpoint && !(pushMonitoringEndpoint == rhs.pushMonitoringEndpoint))
+      return false;
+    if (__isset.jobManagerBinPath != rhs.__isset.jobManagerBinPath)
+      return false;
+    else if (__isset.jobManagerBinPath && !(jobManagerBinPath == rhs.jobManagerBinPath))
+      return false;
+    if (__isset.jobManagerCommands != rhs.__isset.jobManagerCommands)
+      return false;
+    else if (__isset.jobManagerCommands && !(jobManagerCommands == rhs.jobManagerCommands))
+      return false;
+    return true;
+  }
+  bool operator != (const ResourceJobManager &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ResourceJobManager & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ResourceJobManager& obj);
+};
+
+void swap(ResourceJobManager &a, ResourceJobManager &b);
+
+typedef struct _BatchQueue__isset {
+  _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false), maxMemory(false) {}
+  bool queueDescription :1;
+  bool maxRunTime :1;
+  bool maxNodes :1;
+  bool maxProcessors :1;
+  bool maxJobsInQueue :1;
+  bool maxMemory :1;
+} _BatchQueue__isset;
+
+class BatchQueue {
+ public:
+
+  static const char* ascii_fingerprint; // = "ED0A78585E8BA402743AC1D5D510EF9E";
+  static const uint8_t binary_fingerprint[16]; // = {0xED,0x0A,0x78,0x58,0x5E,0x8B,0xA4,0x02,0x74,0x3A,0xC1,0xD5,0xD5,0x10,0xEF,0x9E};
+
+  BatchQueue(const BatchQueue&);
+  BatchQueue& operator=(const BatchQueue&);
+  BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0), maxMemory(0) {
+  }
+
+  virtual ~BatchQueue() throw();
+  std::string queueName;
+  std::string queueDescription;
+  int32_t maxRunTime;
+  int32_t maxNodes;
+  int32_t maxProcessors;
+  int32_t maxJobsInQueue;
+  int32_t maxMemory;
+
+  _BatchQueue__isset __isset;
+
+  void __set_queueName(const std::string& val);
+
+  void __set_queueDescription(const std::string& val);
+
+  void __set_maxRunTime(const int32_t val);
+
+  void __set_maxNodes(const int32_t val);
+
+  void __set_maxProcessors(const int32_t val);
+
+  void __set_maxJobsInQueue(const int32_t val);
+
+  void __set_maxMemory(const int32_t val);
+
+  bool operator == (const BatchQueue & rhs) const
+  {
+    if (!(queueName == rhs.queueName))
+      return false;
+    if (__isset.queueDescription != rhs.__isset.queueDescription)
+      return false;
+    else if (__isset.queueDescription && !(queueDescription == rhs.queueDescription))
+      return false;
+    if (__isset.maxRunTime != rhs.__isset.maxRunTime)
+      return false;
+    else if (__isset.maxRunTime && !(maxRunTime == rhs.maxRunTime))
+      return false;
+    if (__isset.maxNodes != rhs.__isset.maxNodes)
+      return false;
+    else if (__isset.maxNodes && !(maxNodes == rhs.maxNodes))
+      return false;
+    if (__isset.maxProcessors != rhs.__isset.maxProcessors)
+      return false;
+    else if (__isset.maxProcessors && !(maxProcessors == rhs.maxProcessors))
+      return false;
+    if (__isset.maxJobsInQueue != rhs.__isset.maxJobsInQueue)
+      return false;
+    else if (__isset.maxJobsInQueue && !(maxJobsInQueue == rhs.maxJobsInQueue))
+      return false;
+    if (__isset.maxMemory != rhs.__isset.maxMemory)
+      return false;
+    else if (__isset.maxMemory && !(maxMemory == rhs.maxMemory))
+      return false;
+    return true;
+  }
+  bool operator != (const BatchQueue &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const BatchQueue & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const BatchQueue& obj);
+};
+
+void swap(BatchQueue &a, BatchQueue &b);
+
+typedef struct _SCPDataMovement__isset {
+  _SCPDataMovement__isset() : alternativeSCPHostName(false), sshPort(true) {}
+  bool alternativeSCPHostName :1;
+  bool sshPort :1;
+} _SCPDataMovement__isset;
+
+class SCPDataMovement {
+ public:
+
+  static const char* ascii_fingerprint; // = "63CAE6EE336A7DBD91CCCD6E22628F4A";
+  static const uint8_t binary_fingerprint[16]; // = {0x63,0xCA,0xE6,0xEE,0x33,0x6A,0x7D,0xBD,0x91,0xCC,0xCD,0x6E,0x22,0x62,0x8F,0x4A};
+
+  SCPDataMovement(const SCPDataMovement&);
+  SCPDataMovement& operator=(const SCPDataMovement&);
+  SCPDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), alternativeSCPHostName(), sshPort(22) {
+  }
+
+  virtual ~SCPDataMovement() throw();
+  std::string dataMovementInterfaceId;
+  SecurityProtocol::type securityProtocol;
+  std::string alternativeSCPHostName;
+  int32_t sshPort;
+
+  _SCPDataMovement__isset __isset;
+
+  void __set_dataMovementInterfaceId(const std::string& val);
+
+  void __set_securityProtocol(const SecurityProtocol::type val);
+
+  void __set_alternativeSCPHostName(const std::string& val);
+
+  void __set_sshPort(const int32_t val);
+
+  bool operator == (const SCPDataMovement & rhs) const
+  {
+    if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
+      return false;
+    if (!(securityProtocol == rhs.securityProtocol))
+      return false;
+    if (__isset.alternativeSCPHostName != rhs.__isset.alternativeSCPHostName)
+      return false;
+    else if (__isset.alternativeSCPHostName && !(alternativeSCPHostName == rhs.alternativeSCPHostName))
+      return false;
+    if (__isset.sshPort != rhs.__isset.sshPort)
+      return false;
+    else if (__isset.sshPort && !(sshPort == rhs.sshPort))
+      return false;
+    return true;
+  }
+  bool operator != (const SCPDataMovement &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const SCPDataMovement & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const SCPDataMovement& obj);
+};
+
+void swap(SCPDataMovement &a, SCPDataMovement &b);
+
+
+class GridFTPDataMovement {
+ public:
+
+  static const char* ascii_fingerprint; // = "790EE8B1D56A3B9B76C41DD063726E75";
+  static const uint8_t binary_fingerprint[16]; // = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
+
+  GridFTPDataMovement(const GridFTPDataMovement&);
+  GridFTPDataMovement& operator=(const GridFTPDataMovement&);
+  GridFTPDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0) {
+  }
+
+  virtual ~GridFTPDataMovement() throw();
+  std::string dataMovementInterfaceId;
+  SecurityProtocol::type securityProtocol;
+  std::vector<std::string>  gridFTPEndPoints;
+
+  void __set_dataMovementInterfaceId(const std::string& val);
+
+  void __set_securityProtocol(const SecurityProtocol::type val);
+
+  void __set_gridFTPEndPoints(const std::vector<std::string> & val);
+
+  bool operator == (const GridFTPDataMovement & rhs) const
+  {
+    if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
+      return false;
+    if (!(securityProtocol == rhs.securityProtocol))
+      return false;
+    if (!(gridFTPEndPoints == rhs.gridFTPEndPoints))
+      return false;
+    return true;
+  }
+  bool operator != (const GridFTPDataMovement &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const GridFTPDataMovement & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const GridFTPDataMovement& obj);
+};
+
+void swap(GridFTPDataMovement &a, GridFTPDataMovement &b);
+
+
+class UnicoreDataMovement {
+ public:
+
+  static const char* ascii_fingerprint; // = "D9F4CFE2F293A8B1052FD3031DD2C847";
+  static const uint8_t binary_fingerprint[16]; // = {0xD9,0xF4,0xCF,0xE2,0xF2,0x93,0xA8,0xB1,0x05,0x2F,0xD3,0x03,0x1D,0xD2,0xC8,0x47};
+
+  UnicoreDataMovement(const UnicoreDataMovement&);
+  UnicoreDataMovement& operator=(const UnicoreDataMovement&);
+  UnicoreDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), unicoreEndPointURL() {
+  }
+
+  virtual ~UnicoreDataMovement() throw();
+  std::string dataMovementInterfaceId;
+  SecurityProtocol::type securityProtocol;
+  std::string unicoreEndPointURL;
+
+  void __set_dataMovementInterfaceId(const std::string& val);
+
+  void __set_securityProtocol(const SecurityProtocol::type val);
+
+  void __set_unicoreEndPointURL(const std::string& val);
+
+  bool operator == (const UnicoreDataMovement & rhs) const
+  {
+    if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
+      return false;
+    if (!(securityProtocol == rhs.securityProtocol))
+      return false;
+    if (!(unicoreEndPointURL == rhs.unicoreEndPointURL))
+      return false;
+    return true;
+  }
+  bool operator != (const UnicoreDataMovement &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const UnicoreDataMovement & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const UnicoreDataMovement& obj);
+};
+
+void swap(UnicoreDataMovement &a, UnicoreDataMovement &b);
+
+
+class LOCALSubmission {
+ public:
+
+  static const char* ascii_fingerprint; // = "A5A35C842CBE1CA9D6A13C5974C6FB8F";
+  static const uint8_t binary_fingerprint[16]; // = {0xA5,0xA3,0x5C,0x84,0x2C,0xBE,0x1C,0xA9,0xD6,0xA1,0x3C,0x59,0x74,0xC6,0xFB,0x8F};
+
+  LOCALSubmission(const LOCALSubmission&);
+  LOCALSubmission& operator=(const LOCALSubmission&);
+  LOCALSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS") {
+  }
+
+  virtual ~LOCALSubmission() throw();
+  std::string jobSubmissionInterfaceId;
+  ResourceJobManager resourceJobManager;
+
+  void __set_jobSubmissionInterfaceId(const std::string& val);
+
+  void __set_resourceJobManager(const ResourceJobManager& val);
+
+  bool operator == (const LOCALSubmission & rhs) const
+  {
+    if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+      return false;
+    if (!(resourceJobManager == rhs.resourceJobManager))
+      return false;
+    return true;
+  }
+  bool operator != (const LOCALSubmission &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const LOCALSubmission & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const LOCALSubmission& obj);
+};
+
+void swap(LOCALSubmission &a, LOCALSubmission &b);
+
+
+class LOCALDataMovement {
+ public:
+
+  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+  LOCALDataMovement(const LOCALDataMovement&);
+  LOCALDataMovement& operator=(const LOCALDataMovement&);
+  LOCALDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS") {
+  }
+
+  virtual ~LOCALDataMovement() throw();
+  std::string dataMovementInterfaceId;
+
+  void __set_dataMovementInterfaceId(const std::string& val);
+
+  bool operator == (const LOCALDataMovement & rhs) const
+  {
+    if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
+      return false;
+    return true;
+  }
+  bool operator != (const LOCALDataMovement &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const LOCALDataMovement & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const LOCALDataMovement& obj);
+};
+
+void swap(LOCALDataMovement &a, LOCALDataMovement &b);
+
+typedef struct _SSHJobSubmission__isset {
+  _SSHJobSubmission__isset() : alternativeSSHHostName(false), sshPort(true), monitorMode(false) {}
+  bool alternativeSSHHostName :1;
+  bool sshPort :1;
+  bool monitorMode :1;
+} _SSHJobSubmission__isset;
+
+class SSHJobSubmission {
+ public:
+
+  static const char* ascii_fingerprint; // = "A62183DAA7AFF027173705420A9D99D0";
+  static const uint8_t binary_fingerprint[16]; // = {0xA6,0x21,0x83,0xDA,0xA7,0xAF,0xF0,0x27,0x17,0x37,0x05,0x42,0x0A,0x9D,0x99,0xD0};
+
+  SSHJobSubmission(const SSHJobSubmission&);
+  SSHJobSubmission& operator=(const SSHJobSubmission&);
+  SSHJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), alternativeSSHHostName(), sshPort(22), monitorMode((MonitorMode::type)0) {
+  }
+
+  virtual ~SSHJobSubmission() throw();
+  std::string jobSubmissionInterfaceId;
+  SecurityProtocol::type securityProtocol;
+  ResourceJobManager resourceJobManager;
+  std::string alternativeSSHHostName;
+  int32_t sshPort;
+  MonitorMode::type monitorMode;
+
+  _SSHJobSubmission__isset __isset;
+
+  void __set_jobSubmissionInterfaceId(const std::string& val);
+
+  void __set_securityProtocol(const SecurityProtocol::type val);
+
+  void __set_resourceJobManager(const ResourceJobManager& val);
+
+  void __set_alternativeSSHHostName(const std::string& val);
+
+  void __set_sshPort(const int32_t val);
+
+  void __set_monitorMode(const MonitorMode::type val);
+
+  bool operator == (const SSHJobSubmission & rhs) const
+  {
+    if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+      return false;
+    if (!(securityProtocol == rhs.securityProtocol))
+      return false;
+    if (!(resourceJobManager == rhs.resourceJobManager))
+      return false;
+    if (__isset.alternativeSSHHostName != rhs.__isset.alternativeSSHHostName)
+      return false;
+    else if (__isset.alternativeSSHHostName && !(alternativeSSHHostName == rhs.alternativeSSHHostName))
+      return false;
+    if (__isset.sshPort != rhs.__isset.sshPort)
+      return false;
+    else if (__isset.sshPort && !(sshPort == rhs.sshPort))
+      return false;
+    if (__isset.monitorMode != rhs.__isset.monitorMode)
+      return false;
+    else if (__isset.monitorMode && !(monitorMode == rhs.monitorMode))
+      return false;
+    return true;
+  }
+  bool operator != (const SSHJobSubmission &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const SSHJobSubmission & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const SSHJobSubmission& obj);
+};
+
+void swap(SSHJobSubmission &a, SSHJobSubmission &b);
+
+typedef struct _GlobusJobSubmission__isset {
+  _GlobusJobSubmission__isset() : globusGateKeeperEndPoint(false) {}
+  bool globusGateKeeperEndPoint :1;
+} _GlobusJobSubmission__isset;
+
+class GlobusJobSubmission {
+ public:
+
+  static const char* ascii_fingerprint; // = "AF422FFD77BB68BA57079B8B33BC8CF7";
+  static const uint8_t binary_fingerprint[16]; // = {0xAF,0x42,0x2F,0xFD,0x77,0xBB,0x68,0xBA,0x57,0x07,0x9B,0x8B,0x33,0xBC,0x8C,0xF7};
+
+  GlobusJobSubmission(const GlobusJobSubmission&);
+  GlobusJobSubmission& operator=(const GlobusJobSubmission&);
+  GlobusJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0) {
+  }
+
+  virtual ~GlobusJobSubmission() throw();
+  std::string jobSubmissionInterfaceId;
+  SecurityProtocol::type securityProtocol;
+  std::vector<std::string>  globusGateKeeperEndPoint;
+
+  _GlobusJobSubmission__isset __isset;
+
+  void __set_jobSubmissionInterfaceId(const std::string& val);
+
+  void __set_securityProtocol(const SecurityProtocol::type val);
+
+  void __set_globusGateKeeperEndPoint(const std::vector<std::string> & val);
+
+  bool operator == (const GlobusJobSubmission & rhs) const
+  {
+    if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+      return false;
+    if (!(securityProtocol == rhs.securityProtocol))
+      return false;
+    if (__isset.globusGateKeeperEndPoint != rhs.__isset.globusGateKeeperEndPoint)
+      return false;
+    else if (__isset.globusGateKeeperEndPoint && !(globusGateKeeperEndPoint == rhs.globusGateKeeperEndPoint))
+      return false;
+    return true;
+  }
+  bool operator != (const GlobusJobSubmission &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const GlobusJobSubmission & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const GlobusJobSubmission& obj);
+};
+
+void swap(GlobusJobSubmission &a, GlobusJobSubmission &b);
+
+
+class UnicoreJobSubmission {
+ public:
+
+  static const char* ascii_fingerprint; // = "D9F4CFE2F293A8B1052FD3031DD2C847";
+  static const uint8_t binary_fingerprint[16]; // = {0xD9,0xF4,0xCF,0xE2,0xF2,0x93,0xA8,0xB1,0x05,0x2F,0xD3,0x03,0x1D,0xD2,0xC8,0x47};
+
+  UnicoreJobSubmission(const UnicoreJobSubmission&);
+  UnicoreJobSubmission& operator=(const UnicoreJobSubmission&);
+  UnicoreJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), unicoreEndPointURL() {
+  }
+
+  virtual ~UnicoreJobSubmission() throw();
+  std::string jobSubmissionInterfaceId;
+  SecurityProtocol::type securityProtocol;
+  std::string unicoreEndPointURL;
+
+  void __set_jobSubmissionInterfaceId(const std::string& val);
+
+  void __set_securityProtocol(const SecurityProtocol::type val);
+
+  void __set_unicoreEndPointURL(const std::string& val);
+
+  bool operator == (const UnicoreJobSubmission & rhs) const
+  {
+    if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+      return false;
+    if (!(securityProtocol == rhs.securityProtocol))
+      return false;
+    if (!(unicoreEndPointURL == rhs.unicoreEndPointURL))
+      return false;
+    return true;
+  }
+  bool operator != (const UnicoreJobSubmission &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const UnicoreJobSubmission & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const UnicoreJobSubmission& obj);
+};
+
+void swap(UnicoreJobSubmission &a, UnicoreJobSubmission &b);
+
+
+class CloudJobSubmission {
+ public:
+
+  static const char* ascii_fingerprint; // = "F98AE2E6E51F2426504F2566EB71B5CC";
+  static const uint8_t binary_fingerprint[16]; // = {0xF9,0x8A,0xE2,0xE6,0xE5,0x1F,0x24,0x26,0x50,0x4F,0x25,0x66,0xEB,0x71,0xB5,0xCC};
+
+  CloudJobSubmission(const CloudJobSubmission&);
+  CloudJobSubmission& operator=(const CloudJobSubmission&);
+  CloudJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), nodeId(), executableType(), providerName((ProviderName::type)0), userAccountName() {
+  }
+
+  virtual ~CloudJobSubmission() throw();
+  std::string jobSubmissionInterfaceId;
+  SecurityProtocol::type securityProtocol;
+  std::string nodeId;
+  std::string executableType;
+  ProviderName::type providerName;
+  std::string userAccountName;
+
+  void __set_jobSubmissionInterfaceId(const std::string& val);
+
+  void __set_securityProtocol(const SecurityProtocol::type val);
+
+  void __set_nodeId(const std::string& val);
+
+  void __set_executableType(const std::string& val);
+
+  void __set_providerName(const ProviderName::type val);
+
+  void __set_userAccountName(const std::string& val);
+
+  bool operator == (const CloudJobSubmission & rhs) const
+  {
+    if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+      return false;
+    if (!(securityProtocol == rhs.securityProtocol))
+      return false;
+    if (!(nodeId == rhs.nodeId))
+      return false;
+    if (!(executableType == rhs.executableType))
+      return false;
+    if (!(providerName == rhs.providerName))
+      return false;
+    if (!(userAccountName == rhs.userAccountName))
+      return false;
+    return true;
+  }
+  bool operator != (const CloudJobSubmission &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const CloudJobSubmission & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const CloudJobSubmission& obj);
+};
+
+void swap(CloudJobSubmission &a, CloudJobSubmission &b);
+
+
+class JobSubmissionInterface {
+ public:
+
+  static const char* ascii_fingerprint; // = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
+  static const uint8_t binary_fingerprint[16]; // = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
+
+  JobSubmissionInterface(const JobSubmissionInterface&);
+  JobSubmissionInterface& operator=(const JobSubmissionInterface&);
+  JobSubmissionInterface() : jobSubmissionInterfaceId(), jobSubmissionProtocol((JobSubmissionProtocol::type)0), priorityOrder(0) {
+  }
+
+  virtual ~JobSubmissionInterface() throw();
+  std::string jobSubmissionInterfaceId;
+  JobSubmissionProtocol::type jobSubmissionProtocol;
+  int32_t priorityOrder;
+
+  void __set_jobSubmissionInterfaceId(const std::string& val);
+
+  void __set_jobSubmissionProtocol(const JobSubmissionProtocol::type val);
+
+  void __set_priorityOrder(const int32_t val);
+
+  bool operator == (const JobSubmissionInterface & rhs) const
+  {
+    if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+      return false;
+    if (!(jobSubmissionProtocol == rhs.jobSubmissionProtocol))
+      return false;
+    if (!(priorityOrder == rhs.priorityOrder))
+      return false;
+    return true;
+  }
+  bool operator != (const JobSubmissionInterface &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const JobSubmissionInterface & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const JobSubmissionInterface& obj);
+};
+
+void swap(JobSubmissionInterface &a, JobSubmissionInterface &b);
+
+
+class DataMovementInterface {
+ public:
+
+  static const char* ascii_fingerprint; // = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
+  static const uint8_t binary_fingerprint[16]; // = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
+
+  DataMovementInterface(const DataMovementInterface&);
+  DataMovementInterface& operator=(const DataMovementInterface&);
+  DataMovementInterface() : dataMovementInterfaceId(), dataMovementProtocol((DataMovementProtocol::type)0), priorityOrder(0) {
+  }
+
+  virtual ~DataMovementInterface() throw();
+  std::string dataMovementInterfaceId;
+  DataMovementProtocol::type dataMovementProtocol;
+  int32_t priorityOrder;
+
+  void __set_dataMovementInterfaceId(const std::string& val);
+
+  void __set_dataMovementProtocol(const DataMovementProtocol::type val);
+
+  void __set_priorityOrder(const int32_t val);
+
+  bool operator == (const DataMovementInterface & rhs) const
+  {
+    if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
+      return false;
+    if (!(dataMovementProtocol == rhs.dataMovementProtocol))
+      return false;
+    if (!(priorityOrder == rhs.priorityOrder))
+      return false;
+    return true;
+  }
+  bool operator != (const DataMovementInterface &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DataMovementInterface & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const DataMovementInterface& obj);
+};
+
+void swap(DataMovementInterface &a, DataMovementInterface &b);
+
+typedef struct _ComputeResourceDescription__isset {
+  _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), batchQueues(false), fileSystems(false), jobSubmissionInterfaces(false), dataMovementInterfaces(false), maxMemoryPerNode(false) {}
+  bool hostAliases :1;
+  bool ipAddresses :1;
+  bool resourceDescription :1;
+  bool batchQueues :1;
+  bool fileSystems :1;
+  bool jobSubmissionInterfaces :1;
+  bool dataMovementInterfaces :1;
+  bool maxMemoryPerNode :1;
+} _ComputeResourceDescription__isset;
+
+class ComputeResourceDescription {
+ public:
+
+  static const char* ascii_fingerprint; // = "3CD4212965217787DCD6081F1744069F";
+  static const uint8_t binary_fingerprint[16]; // = {0x3C,0xD4,0x21,0x29,0x65,0x21,0x77,0x87,0xDC,0xD6,0x08,0x1F,0x17,0x44,0x06,0x9F};
+
+  ComputeResourceDescription(const ComputeResourceDescription&);
+  ComputeResourceDescription& operator=(const ComputeResourceDescription&);
+  ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription(), maxMemoryPerNode(0) {
+  }
+
+  virtual ~ComputeResourceDescription() throw();
+  std::string computeResourceId;
+  std::string hostName;
+  std::vector<std::string>  hostAliases;
+  std::vector<std::string>  ipAddresses;
+  std::string resourceDescription;
+  std::vector<BatchQueue>  batchQueues;
+  std::map<FileSystems::type, std::string>  fileSystems;
+  std::vector<JobSubmissionInterface>  jobSubmissionInterfaces;
+  std::vector<DataMovementInterface>  dataMovementInterfaces;
+  int32_t maxMemoryPerNode;
+
+  _ComputeResourceDescription__isset __isset;
+
+  void __set_computeResourceId(const std::string& val);
+
+  void __set_hostName(const std::string& val);
+
+  void __set_hostAliases(const std::vector<std::string> & val);
+
+  void __set_ipAddresses(const std::vector<std::string> & val);
+
+  void __set_resourceDescription(const std::string& val);
+
+  void __set_batchQueues(const std::vector<BatchQueue> & val);
+
+  void __set_fileSystems(const std::map<FileSystems::type, std::string> & val);
+
+  void __set_jobSubmissionInterfaces(const std::vector<JobSubmissionInterface> & val);
+
+  void __set_dataMovementInterfaces(const std::vector<DataMovementInterface> & val);
+
+  void __set_maxMemoryPerNode(const int32_t val);
+
+  bool operator == (const ComputeResourceDescription & rhs) const
+  {
+    if (!(computeResourceId == rhs.computeResourceId))
+      return false;
+    if (!(hostName == rhs.hostName))
+      return false;
+    if (__isset.hostAliases != rhs.__isset.hostAliases)
+      return false;
+    else if (__isset.hostAliases && !(hostAliases == rhs.hostAliases))
+      return false;
+    if (__isset.ipAddresses != rhs.__isset.ipAddresses)
+      return false;
+    else if (__isset.ipAddresses && !(ipAddresses == rhs.ipAddresses))
+      return false;
+    if (__isset.resourceDescription != rhs.__isset.resourceDescription)
+      return false;
+    else if (__isset.resourceDescription && !(resourceDescription == rhs.resourceDescription))
+      return false;
+    if (__isset.batchQueues != rhs.__isset.batchQueues)
+      return false;
+    else if (__isset.batchQueues && !(batchQueues == rhs.batchQueues))
+      return false;
+    if (__isset.fileSystems != rhs.__isset.fileSystems)
+      return false;
+    else if (__isset.fileSystems && !(fileSystems == rhs.fileSystems))
+      return false;
+    if (__isset.jobSubmissionInterfaces != rhs.__isset.jobSubmissionInterfaces)
+      return false;
+    else if (__isset.jobSubmissionInterfaces && !(jobSubmissionInterfaces == rhs.jobSubmissionInterfaces))
+      return false;
+    if (__isset.dataMovementInterfaces != rhs.__isset.dataMovementInterfaces)
+      return false;
+    else if (__isset.dataMovementInterfaces && !(dataMovementInterfaces == rhs.dataMovementInterfaces))
+      return false;
+    if (__isset.maxMemoryPerNode != rhs.__isset.maxMemoryPerNode)
+      return false;
+    else if (__isset.maxMemoryPerNode && !(maxMemoryPerNode == rhs.maxMemoryPerNode))
+      return false;
+    return true;
+  }
+  bool operator != (const ComputeResourceDescription &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ComputeResourceDescription & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ComputeResourceDescription& obj);
+};
+
+void swap(ComputeResourceDescription &a, ComputeResourceDescription &b);
+
+}}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.cpp
new file mode 100644
index 0000000..313e4e1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "experiment_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace experiment {
+
+const experiment_modelConstants g_experiment_model_constants;
+
+experiment_modelConstants::experiment_modelConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.h
new file mode 100644
index 0000000..bb4f10f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef experiment_model_CONSTANTS_H
+#define experiment_model_CONSTANTS_H
+
+#include "experiment_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace experiment {
+
+class experiment_modelConstants {
+ public:
+  experiment_modelConstants();
+
+};
+
+extern const experiment_modelConstants g_experiment_model_constants;
+
+}}}} // namespace
+
+#endif


[18/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
changing few API methods to adhere to security solution.


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

Branch: refs/heads/master
Commit: dc5244905d8585c4f750e78b04d8dce5670a968f
Parents: 4568832
Author: hasinitg <ha...@gmail.com>
Authored: Tue Jul 14 23:54:32 2015 +0530
Committer: hasinitg <ha...@gmail.com>
Committed: Tue Jul 14 23:54:32 2015 +0530

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |   12 +-
 .../java/org/apache/airavata/api/Airavata.java  |  809 +++++-
 .../main/resources/lib/airavata/Airavata.cpp    |  180 +-
 .../src/main/resources/lib/airavata/Airavata.h  |  144 +-
 .../lib/airavata/Airavata_server.skeleton.cpp   |    6 +-
 .../lib/airavata/airavata_api_constants.cpp     |   36 +
 .../lib/airavata/airavata_api_constants.h       |   42 +
 .../lib/airavata/airavata_api_types.cpp         |   33 +
 .../resources/lib/airavata/airavata_api_types.h |   55 +
 .../lib/airavata/airavata_commons_constants.cpp |   36 +
 .../lib/airavata/airavata_commons_constants.h   |   42 +
 .../lib/airavata/airavata_commons_types.cpp     |  504 ++++
 .../lib/airavata/airavata_commons_types.h       |  221 ++
 .../airavata/airavata_data_models_constants.cpp |   34 +
 .../airavata/airavata_data_models_constants.h   |   41 +
 .../lib/airavata/airavata_data_models_types.cpp |   33 +
 .../lib/airavata/airavata_data_models_types.h   |   52 +
 .../lib/airavata/airavata_errors_constants.cpp  |   34 +
 .../lib/airavata/airavata_errors_constants.h    |   41 +
 .../lib/airavata/airavata_errors_types.cpp      | 1169 ++++++++
 .../lib/airavata/airavata_errors_types.h        |  538 ++++
 .../application_deployment_model_constants.cpp  |   34 +
 .../application_deployment_model_constants.h    |   41 +
 .../application_deployment_model_types.cpp      |  781 +++++
 .../application_deployment_model_types.h        |  284 ++
 .../application_interface_model_constants.cpp   |   34 +
 .../application_interface_model_constants.h     |   41 +
 .../application_interface_model_types.cpp       |  297 ++
 .../application_interface_model_types.h         |  124 +
 .../application_io_models_constants.cpp         |   34 +
 .../airavata/application_io_models_constants.h  |   41 +
 .../airavata/application_io_models_types.cpp    |  637 +++++
 .../lib/airavata/application_io_models_types.h  |  287 ++
 .../compute_resource_model_constants.cpp        |   34 +
 .../airavata/compute_resource_model_constants.h |   41 +
 .../airavata/compute_resource_model_types.cpp   | 2663 ++++++++++++++++++
 .../lib/airavata/compute_resource_model_types.h | 1006 +++++++
 .../lib/airavata/experiment_model_constants.cpp |   34 +
 .../lib/airavata/experiment_model_constants.h   |   41 +
 .../lib/airavata/experiment_model_types.cpp     | 1444 ++++++++++
 .../lib/airavata/experiment_model_types.h       |  510 ++++
 ...gateway_resource_profile_model_constants.cpp |   34 +
 .../gateway_resource_profile_model_constants.h  |   41 +
 .../gateway_resource_profile_model_types.cpp    |  420 +++
 .../gateway_resource_profile_model_types.h      |  191 ++
 .../lib/airavata/job_model_constants.cpp        |   34 +
 .../lib/airavata/job_model_constants.h          |   41 +
 .../resources/lib/airavata/job_model_types.cpp  |  282 ++
 .../resources/lib/airavata/job_model_types.h    |  136 +
 .../lib/airavata/messaging_events_constants.cpp |   34 +
 .../lib/airavata/messaging_events_constants.h   |   41 +
 .../lib/airavata/messaging_events_types.cpp     | 1964 +++++++++++++
 .../lib/airavata/messaging_events_types.h       |  756 +++++
 .../lib/airavata/process_model_constants.cpp    |   34 +
 .../lib/airavata/process_model_constants.h      |   41 +
 .../lib/airavata/process_model_types.cpp        |  581 ++++
 .../lib/airavata/process_model_types.h          |  223 ++
 .../lib/airavata/scheduling_model_constants.cpp |   34 +
 .../lib/airavata/scheduling_model_constants.h   |   41 +
 .../lib/airavata/scheduling_model_types.cpp     |  279 ++
 .../lib/airavata/scheduling_model_types.h       |  144 +
 .../lib/airavata/security_model_constants.cpp   |   34 +
 .../lib/airavata/security_model_constants.h     |   41 +
 .../lib/airavata/security_model_types.cpp       |  172 ++
 .../lib/airavata/security_model_types.h         |   93 +
 .../lib/airavata/status_models_constants.cpp    |   34 +
 .../lib/airavata/status_models_constants.h      |   41 +
 .../lib/airavata/status_models_types.cpp        |  683 +++++
 .../lib/airavata/status_models_types.h          |  344 +++
 .../lib/airavata/task_model_constants.cpp       |   34 +
 .../lib/airavata/task_model_constants.h         |   41 +
 .../resources/lib/airavata/task_model_types.cpp |  507 ++++
 .../resources/lib/airavata/task_model_types.h   |  221 ++
 .../airavata/workflow_data_model_constants.cpp  |   34 +
 .../airavata/workflow_data_model_constants.h    |   41 +
 .../lib/airavata/workflow_data_model_types.cpp  |  277 ++
 .../lib/airavata/workflow_data_model_types.h    |  124 +
 .../lib/airavata/workspace_model_constants.cpp  |   34 +
 .../lib/airavata/workspace_model_constants.h    |   41 +
 .../lib/airavata/workspace_model_types.cpp      |  709 +++++
 .../lib/airavata/workspace_model_types.h        |  300 ++
 .../resources/lib/Airavata/API/Airavata.php     |  213 +-
 .../Model/AppCatalog/AppDeployment/Types.php    |    8 -
 .../Model/AppCatalog/AppInterface/Types.php     |    8 -
 .../Model/AppCatalog/ComputeResource/Types.php  |    8 -
 .../lib/Airavata/Model/Application/Io/Types.php |  657 +++++
 .../lib/Airavata/Model/Commons/Types.php        |  475 ++++
 .../lib/Airavata/Model/Experiment/Types.php     | 1478 ++++++++++
 .../Airavata/Model/Messaging/Event/Types.php    |    8 -
 .../lib/Airavata/Model/Process/Types.php        |  620 ++++
 .../lib/Airavata/Model/Scheduling/Types.php     |  261 ++
 .../lib/Airavata/Model/Security/Types.php       |  152 +
 .../lib/Airavata/Model/Status/Types.php         |  607 ++++
 .../resources/lib/Airavata/Model/Task/Types.php |  491 ++++
 .../main/resources/lib/Airavata/Model/Types.php |    8 -
 .../lib/Airavata/Model/Workspace/Types.php      |    2 +-
 .../resources/lib/Airavata/Model/job/Types.php  |  261 ++
 .../lib/apache/airavata/api/Airavata-remote     |   24 +-
 .../lib/apache/airavata/api/Airavata.py         |  171 +-
 .../model/appcatalog/appdeployment/constants.py |    1 -
 .../model/appcatalog/appdeployment/ttypes.py    |    2 +
 .../model/appcatalog/appinterface/constants.py  |    1 -
 .../model/appcatalog/appinterface/ttypes.py     |    1 +
 .../appcatalog/computeresource/constants.py     |    1 -
 .../model/appcatalog/computeresource/ttypes.py  |    2 +
 .../airavata/model/application/__init__.py      |    0
 .../airavata/model/application/io/__init__.py   |    1 +
 .../airavata/model/application/io/constants.py  |   11 +
 .../airavata/model/application/io/ttypes.py     |  468 +++
 .../apache/airavata/model/commons/__init__.py   |    1 +
 .../apache/airavata/model/commons/constants.py  |   12 +
 .../lib/apache/airavata/model/commons/ttypes.py |  335 +++
 .../airavata/model/experiment/__init__.py       |    1 +
 .../airavata/model/experiment/constants.py      |   11 +
 .../apache/airavata/model/experiment/ttypes.py  |  944 +++++++
 .../lib/apache/airavata/model/job/__init__.py   |    1 +
 .../lib/apache/airavata/model/job/constants.py  |   11 +
 .../lib/apache/airavata/model/job/ttypes.py     |  183 ++
 .../airavata/model/messaging/event/constants.py |    1 -
 .../airavata/model/messaging/event/ttypes.py    |    1 +
 .../apache/airavata/model/process/__init__.py   |    1 +
 .../apache/airavata/model/process/constants.py  |   11 +
 .../lib/apache/airavata/model/process/ttypes.py |  360 +++
 .../airavata/model/scheduling/__init__.py       |    1 +
 .../airavata/model/scheduling/constants.py      |   11 +
 .../apache/airavata/model/scheduling/ttypes.py  |  178 ++
 .../apache/airavata/model/security/__init__.py  |    1 +
 .../apache/airavata/model/security/constants.py |   11 +
 .../apache/airavata/model/security/ttypes.py    |  108 +
 .../apache/airavata/model/status/__init__.py    |    1 +
 .../apache/airavata/model/status/constants.py   |   11 +
 .../lib/apache/airavata/model/status/ttypes.py  |  539 ++++
 .../lib/apache/airavata/model/task/__init__.py  |    1 +
 .../lib/apache/airavata/model/task/constants.py |   11 +
 .../lib/apache/airavata/model/task/ttypes.py    |  366 +++
 .../lib/apache/airavata/model/ttypes.py         |    4 +
 .../apache/airavata/model/workflow/constants.py |    1 -
 .../apache/airavata/model/workflow/ttypes.py    |    1 +
 .../apache/airavata/model/workspace/ttypes.py   |    6 +-
 .../client/samples/CreateLaunchBES.java         |    9 +-
 .../client/samples/CreateLaunchExperiment.java  |    8 +-
 .../client/samples/RegisterSampleData.java      |    3 +-
 .../airavata-api/airavata_api.thrift            |   15 +-
 143 files changed, 30460 insertions(+), 265 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index de00930..811cb8e 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -142,7 +142,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public String addGateway(Gateway gateway) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public String addGateway(AuthzToken authzToken, Gateway gateway) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        //security check
+        authenticateNAuthorize(authzToken);
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!validateString(gateway.getGatewayId())){
@@ -160,7 +162,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public void updateGateway(String gatewayId, Gateway updatedGateway) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public void updateGateway(AuthzToken authzToken, String gatewayId, Gateway updatedGateway) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        //security check
+        authenticateNAuthorize(authzToken);
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId)){
@@ -180,7 +184,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public Gateway getGateway(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public Gateway getGateway(AuthzToken authzToken, String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        //security check
+        authenticateNAuthorize(authzToken);
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId)){


[37/44] airavata git commit: fixed all compilation errors in the java client samples after the API changes.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index 07a2c38..fba2a7c 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -35,6 +35,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway);
   /**
@@ -44,6 +45,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
   /**
@@ -53,6 +55,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
@@ -62,6 +65,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function deleteGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
@@ -70,6 +74,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function getAllGateways(\Airavata\Model\Security\AuthzToken $authzToken);
   /**
@@ -79,6 +84,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function isGatewayExist(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
@@ -139,6 +145,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function createProject(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Project $project);
   /**
@@ -152,6 +159,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\ProjectNotFoundException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function updateProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, \Airavata\Model\Workspace\Project $updatedProject);
   /**
@@ -165,6 +173,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\ProjectNotFoundException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function getProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
   /**
@@ -175,6 +184,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\ProjectNotFoundException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function deleteProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
   /**
@@ -210,6 +220,7 @@ interface AiravataIf {
    *   *    The starting point of the results to be fetched
    * *
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param string $userName
    * @param int $limit
@@ -218,8 +229,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllUserProjectsWithPagination($gatewayId, $userName, $limit, $offset);
+  public function getAllUserProjectsWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $limit, $offset);
   /**
    * Get all Project for user by project name
    * 
@@ -255,6 +267,7 @@ interface AiravataIf {
    * @param offset
    *    The starting point of the results to be fetched
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param string $userName
    * @param string $projectName
@@ -264,8 +277,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function searchProjectsByProjectNameWithPagination($gatewayId, $userName, $projectName, $limit, $offset);
+  public function searchProjectsByProjectNameWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $projectName, $limit, $offset);
   /**
    * Get all Project for user by project description
    * @param gatewayId
@@ -300,6 +314,7 @@ interface AiravataIf {
    * @param offset
    *    The starting point of the results to be fetched
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param string $userName
    * @param string $description
@@ -309,8 +324,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function searchProjectsByProjectDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
+  public function searchProjectsByProjectDescWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $description, $limit, $offset);
   /**
    * Search Experiments by experiment name
    * 
@@ -348,6 +364,7 @@ interface AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param string $userName
    * @param string $expName
@@ -357,8 +374,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function searchExperimentsByNameWithPagination($gatewayId, $userName, $expName, $limit, $offset);
+  public function searchExperimentsByNameWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $expName, $limit, $offset);
   /**
    * Search Experiments by experiment name
    * 
@@ -395,6 +413,7 @@ interface AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param string $userName
    * @param string $description
@@ -404,8 +423,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function searchExperimentsByDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
+  public function searchExperimentsByDescWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $description, $limit, $offset);
   /**
    * Search Experiments by application id
    * 
@@ -442,6 +462,7 @@ interface AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param string $userName
    * @param string $applicationId
@@ -451,8 +472,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function searchExperimentsByApplicationWithPagination($gatewayId, $userName, $applicationId, $limit, $offset);
+  public function searchExperimentsByApplicationWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $applicationId, $limit, $offset);
   /**
    * Search Experiments by experiment status
    * 
@@ -489,6 +511,7 @@ interface AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param string $userName
    * @param int $experimentState
@@ -498,8 +521,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function searchExperimentsByStatusWithPagination($gatewayId, $userName, $experimentState, $limit, $offset);
+  public function searchExperimentsByStatusWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $experimentState, $limit, $offset);
   /**
    * Search Experiments by experiment creation time
    * 
@@ -541,6 +565,7 @@ interface AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param string $userName
    * @param int $fromTime
@@ -551,8 +576,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function searchExperimentsByCreationTimeWithPagination($gatewayId, $userName, $fromTime, $toTime, $limit, $offset);
+  public function searchExperimentsByCreationTimeWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $fromTime, $toTime, $limit, $offset);
   /**
    * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
    * based on creation time DESC
@@ -568,6 +594,7 @@ interface AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param string $userName
    * @param array $filters
@@ -577,8 +604,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function searchExperiments($gatewayId, $userName, array $filters, $limit, $offset);
+  public function searchExperiments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, array $filters, $limit, $offset);
   /**
    * Get Experiment Statisitics for the given gateway for a specific time period
    * @param gatewayId
@@ -589,6 +617,7 @@ interface AiravataIf {
    *       Ending data time
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param int $fromTime
    * @param int $toTime
@@ -596,8 +625,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getExperimentStatistics($gatewayId, $fromTime, $toTime);
+  public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime);
   /**
    * Get all Experiments within a Project
    * 
@@ -625,6 +655,7 @@ interface AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $projectId
    * @param int $limit
    * @param int $offset
@@ -633,8 +664,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\ProjectNotFoundException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllExperimentsInProjectWithPagination($projectId, $limit, $offset);
+  public function getAllExperimentsInProjectWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, $limit, $offset);
   /**
    * Get all Experiments by user
    * 
@@ -666,6 +698,7 @@ interface AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param string $userName
    * @param int $limit
@@ -674,8 +707,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllUserExperimentsWithPagination($gatewayId, $userName, $limit, $offset);
+  public function getAllUserExperimentsWithPagination(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName, $limit, $offset);
   /**
    * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
    *   but inferred from the authentication header. This experiment is just a persistent place holder. The client
@@ -711,14 +745,16 @@ interface AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param \Airavata\Model\Experiment\ExperimentModel $experiment
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function createExperiment($gatewayId, \Airavata\Model\Experiment\ExperimentModel $experiment);
+  public function createExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Experiment\ExperimentModel $experiment);
   /**
    * Fetch previously created experiment metadata.
    * 
@@ -752,6 +788,7 @@ interface AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @return \Airavata\Model\Experiment\ExperimentModel A structure holding the experiment metadata and its child models.
    * 
@@ -772,8 +809,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getExperiment($airavataExperimentId);
+  public function getExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
    * Configure a previously created experiment with required inputs, scheduling and other quality of service
    *   parameters. This method only updates the experiment object within the registry. The experiment has to be launched
@@ -813,24 +851,30 @@ interface AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @param \Airavata\Model\Experiment\ExperimentModel $experiment
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateExperiment($airavataExperimentId, \Airavata\Model\Experiment\ExperimentModel $experiment);
+  public function updateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Experiment\ExperimentModel $experiment);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @param \Airavata\Model\Experiment\UserConfigurationDataModel $userConfiguration
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Experiment\UserConfigurationDataModel $userConfiguration);
+  public function updateExperimentConfiguration(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Experiment\UserConfigurationDataModel $userConfiguration);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @param \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling);
+  public function updateResourceScheduleing(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel $resourceScheduling);
   /**
    *  *
    *  * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
@@ -840,14 +884,16 @@ interface AiravataIf {
    *  *
    * *
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function validateExperiment($airavataExperimentId);
+  public function validateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
    * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
    *   notifications and intermediate and output data will be subsequently available for this experiment.
@@ -891,15 +937,18 @@ interface AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @param string $airavataCredStoreToken
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function launchExperiment($airavataExperimentId, $airavataCredStoreToken);
+  public function launchExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $airavataCredStoreToken);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @return \Airavata\Model\Status\ExperimentStatus Status: A generic status object.
    * 
@@ -917,44 +966,53 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getExperimentStatus($airavataExperimentId);
+  public function getExperimentStatus(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @return \Airavata\Model\Application\Io\OutputDataObjectType[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getExperimentOutputs($airavataExperimentId);
+  public function getExperimentOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @return \Airavata\Model\Application\Io\OutputDataObjectType[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getIntermediateOutputs($airavataExperimentId);
+  public function getIntermediateOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @return array
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getJobStatuses($airavataExperimentId);
+  public function getJobStatuses(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @return \Airavata\Model\job\JobModel[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getJobDetails($airavataExperimentId);
+  public function getJobDetails(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
    * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
    *   The client has to subsequently update this configuration if needed and launch the cloned experiment.
@@ -994,6 +1052,7 @@ interface AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $existingExperimentID
    * @param string $newExperimentName
    * @return string
@@ -1001,8 +1060,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function cloneExperiment($existingExperimentID, $newExperimentName);
+  public function cloneExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $existingExperimentID, $newExperimentName);
   /**
    * Terminate a running experiment.
    * 
@@ -1036,14 +1096,16 @@ interface AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $airavataExperimentId
    * @param string $tokenId
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\ExperimentNotFoundException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function terminateExperiment($airavataExperimentId, $tokenId);
+  public function terminateExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, $tokenId);
   /**
    * Register a Application Module.
    * 
@@ -1054,14 +1116,16 @@ interface AiravataIf {
    *   Returns a server-side generated airavata appModule globally unique identifier.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function registerApplicationModule($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
+  public function registerApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
   /**
    * Fetch a Application Module.
    * 
@@ -1072,6 +1136,7 @@ interface AiravataIf {
    *   Returns a application Module Object.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appModuleId
    * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule Application Module Information. A module has to be registered before registering a deployment.
    * 
@@ -1090,8 +1155,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getApplicationModule($appModuleId);
+  public function getApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
   /**
    * Update a Application Module.
    * 
@@ -1105,22 +1171,26 @@ interface AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appModuleId
    * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateApplicationModule($appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
+  public function updateApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllAppModules($gatewayId);
+  public function getAllAppModules(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
    * Delete a Application Module.
    * 
@@ -1131,13 +1201,15 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appModuleId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteApplicationModule($appModuleId);
+  public function deleteApplicationModule(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
   /**
    * Register a Application Deployment.
    * 
@@ -1148,14 +1220,16 @@ interface AiravataIf {
    *   Returns a server-side generated airavata appDeployment globally unique identifier.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function registerApplicationDeployment($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
+  public function registerApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
   /**
    * Fetch a Application Deployment.
    * 
@@ -1166,6 +1240,7 @@ interface AiravataIf {
    *   Returns a application Deployment Object.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appDeploymentId
    * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription Application Deployment Description
    * 
@@ -1195,8 +1270,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getApplicationDeployment($appDeploymentId);
+  public function getApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId);
   /**
    * Update a Application Deployment.
    * 
@@ -1210,14 +1286,16 @@ interface AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appDeploymentId
    * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateApplicationDeployment($appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
+  public function updateApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
   /**
    * Delete a Application deployment.
    * 
@@ -1228,13 +1306,15 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appDeploymentId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteApplicationDeployment($appDeploymentId);
+  public function deleteApplicationDeployment(\Airavata\Model\Security\AuthzToken $authzToken, $appDeploymentId);
   /**
    * Fetch all Application Deployment Descriptions.
    * 
@@ -1242,13 +1322,15 @@ interface AiravataIf {
    *   Returns the list of all application Deployment Objects.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllApplicationDeployments($gatewayId);
+  public function getAllApplicationDeployments(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
    * Fetch a list of Deployed Compute Hosts.
    * 
@@ -1259,13 +1341,15 @@ interface AiravataIf {
    *   Returns a list of Deployed Resources.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appModuleId
    * @return string[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAppModuleDeployedResources($appModuleId);
+  public function getAppModuleDeployedResources(\Airavata\Model\Security\AuthzToken $authzToken, $appModuleId);
   /**
    * Register a Application Interface.
    * 
@@ -1276,14 +1360,16 @@ interface AiravataIf {
    *   Returns a server-side generated airavata application interface globally unique identifier.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function registerApplicationInterface($gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
+  public function registerApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
   /**
    * Fetch a Application Interface.
    * 
@@ -1295,6 +1381,7 @@ interface AiravataIf {
    * 
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appInterfaceId
    * @return \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription Application Interface Description
    * 
@@ -1311,8 +1398,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getApplicationInterface($appInterfaceId);
+  public function getApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
   /**
    * Update a Application Interface.
    * 
@@ -1327,14 +1415,16 @@ interface AiravataIf {
    * 
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appInterfaceId
    * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateApplicationInterface($appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
+  public function updateApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
   /**
    * Delete a Application Interface.
    * 
@@ -1346,13 +1436,15 @@ interface AiravataIf {
    * 
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appInterfaceId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteApplicationInterface($appInterfaceId);
+  public function deleteApplicationInterface(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
   /**
    * Fetch name and id of  Application Interface documents.
    * 
@@ -1361,13 +1453,15 @@ interface AiravataIf {
    *   Returns a list of application interfaces with corresponsing id's
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return array
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllApplicationInterfaceNames($gatewayId);
+  public function getAllApplicationInterfaceNames(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
    * Fetch all Application Interface documents.
    * 
@@ -1376,13 +1470,15 @@ interface AiravataIf {
    *   Returns a list of application interfaces documents
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllApplicationInterfaces($gatewayId);
+  public function getAllApplicationInterfaces(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
    * Fetch the list of Application Inputs.
    * 
@@ -1393,13 +1489,15 @@ interface AiravataIf {
    *   Returns a list of application inputs.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appInterfaceId
    * @return \Airavata\Model\Application\Io\InputDataObjectType[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getApplicationInputs($appInterfaceId);
+  public function getApplicationInputs(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
   /**
    * Fetch the list of Application Outputs.
    * 
@@ -1410,13 +1508,15 @@ interface AiravataIf {
    *   Returns a list of application outputs.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appInterfaceId
    * @return \Airavata\Model\Application\Io\OutputDataObjectType[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getApplicationOutputs($appInterfaceId);
+  public function getApplicationOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
   /**
    * Fetch a list of all deployed Compute Hosts for a given application interfaces.
    * 
@@ -1428,13 +1528,15 @@ interface AiravataIf {
    *    Deployments of each modules listed within the interfaces will be listed.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $appInterfaceId
    * @return array
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAvailableAppInterfaceComputeResources($appInterfaceId);
+  public function getAvailableAppInterfaceComputeResources(\Airavata\Model\Security\AuthzToken $authzToken, $appInterfaceId);
   /**
    * Register a Compute Resource.
    * 
@@ -1445,13 +1547,15 @@ interface AiravataIf {
    *   Returns a server-side generated airavata compute resource globally unique identifier.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function registerComputeResource(\Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
+  public function registerComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
   /**
    * Fetch the given Compute Resource.
    * 
@@ -1462,6 +1566,7 @@ interface AiravataIf {
    *    Compute Resource Object created from the datamodel..
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @return \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription Computational Resource Description
    * 
@@ -1494,8 +1599,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getComputeResource($computeResourceId);
+  public function getComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId);
   /**
    * Fetch all registered Compute Resources.
    * 
@@ -1503,12 +1609,14 @@ interface AiravataIf {
    *    Compute Resource Object created from the datamodel..
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @return array
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllComputeResourceNames();
+  public function getAllComputeResourceNames(\Airavata\Model\Security\AuthzToken $authzToken);
   /**
    * Update a Compute Resource.
    * 
@@ -1522,14 +1630,16 @@ interface AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateComputeResource($computeResourceId, \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
+  public function updateComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
   /**
    * Delete a Compute Resource.
    * 
@@ -1540,13 +1650,15 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteComputeResource($computeResourceId);
+  public function deleteComputeResource(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId);
   /**
    * Add a Local Job Submission details to a compute resource
    *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
@@ -1564,6 +1676,7 @@ interface AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param int $priorityOrder
    * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission
@@ -1571,8 +1684,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addLocalSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
+  public function addLocalSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
   /**
    * Update the given Local Job Submission details
    * 
@@ -1586,14 +1700,16 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $jobSubmissionInterfaceId
    * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateLocalSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
+  public function updateLocalSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
   /**
    * This method returns localJobSubmission object
    * @param jobSubmissionInterfaceId
@@ -1601,6 +1717,7 @@ interface AiravataIf {
    *  @return LOCALSubmission instance
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $jobSubmissionId
    * @return \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission Locally Fork Jobs as OS processes
    * 
@@ -1613,8 +1730,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getLocalJobSubmission($jobSubmissionId);
+  public function getLocalJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
   /**
    * Add a SSH Job Submission details to a compute resource
    *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
@@ -1632,6 +1750,7 @@ interface AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param int $priorityOrder
    * @param \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission
@@ -1639,8 +1758,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addSSHJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
+  public function addSSHJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
   /**
    * This method returns SSHJobSubmission object
    * @param jobSubmissionInterfaceId
@@ -1648,6 +1768,7 @@ interface AiravataIf {
    *  @return SSHJobSubmission instance
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $jobSubmissionId
    * @return \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission Authenticate using Secured Shell
    * 
@@ -1660,8 +1781,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getSSHJobSubmission($jobSubmissionId);
+  public function getSSHJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
   /**
    * Add a UNICORE Job Submission details to a compute resource
    *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
@@ -1679,6 +1801,7 @@ interface AiravataIf {
    *  Returns the unique job submission id.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param int $priorityOrder
    * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission
@@ -1686,8 +1809,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addUNICOREJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
+  public function addUNICOREJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
   /**
    *   * This method returns UnicoreJobSubmission object
    *   * @param jobSubmissionInterfaceId
@@ -1695,6 +1819,7 @@ interface AiravataIf {
    *   *  @return UnicoreJobSubmission instance
    * *
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $jobSubmissionId
    * @return \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission Unicore Job Submission
    * 
@@ -1706,8 +1831,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getUnicoreJobSubmission($jobSubmissionId);
+  public function getUnicoreJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
   /**
    *    * Add a Cloud Job Submission details to a compute resource
    *    *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
@@ -1725,6 +1851,7 @@ interface AiravataIf {
    *    *   Returns the unique job submission id.
    * *
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param int $priorityOrder
    * @param \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission
@@ -1732,8 +1859,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addCloudJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission);
+  public function addCloudJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission);
   /**
    *    * This method returns cloudJobSubmission object
    *    * @param jobSubmissionInterfaceI
@@ -1741,6 +1869,7 @@ interface AiravataIf {
    *    *  @return CloudJobSubmission instance
    * *
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $jobSubmissionId
    * @return \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission Cloud Job Submission
    * 
@@ -1749,8 +1878,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getCloudJobSubmission($jobSubmissionId);
+  public function getCloudJobSubmission(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionId);
   /**
    * Update the given SSH Job Submission details
    * 
@@ -1764,16 +1894,18 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $jobSubmissionInterfaceId
    * @param \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateSSHJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
+  public function updateSSHJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
   /**
-   * Update the given SSH Job Submission details
+   * Update the cloud Job Submission details
    * 
    * @param jobSubmissionInterfaceId
    *   The identifier of the JobSubmission Interface to be updated.
@@ -1785,23 +1917,27 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $jobSubmissionInterfaceId
    * @param \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateCloudJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission);
+  public function updateCloudJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $jobSubmissionInterfaceId
    * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateUnicoreJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
+  public function updateUnicoreJobSubmissionDetails(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
   /**
    * Add a Local data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1819,6 +1955,7 @@ interface AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param int $priorityOrder
    * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement
@@ -1826,8 +1963,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addLocalDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement);
+  public function addLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement);
   /**
    * Update the given Local data movement details
    * 
@@ -1841,14 +1979,16 @@ interface AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $dataMovementInterfaceId
    * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateLocalDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement);
+  public function updateLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement);
   /**
    *         * This method returns local datamovement object
    *         * @param dataMovementId
@@ -1856,6 +1996,7 @@ interface AiravataIf {
    *         *  @return LOCALDataMovement instance
    * *
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $dataMovementId
    * @return \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement LOCAL
    * 
@@ -1868,8 +2009,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getLocalDataMovement($dataMovementId);
+  public function getLocalDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
   /**
    * Add a SCP data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1887,6 +2029,7 @@ interface AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param int $priorityOrder
    * @param \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement
@@ -1894,8 +2037,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addSCPDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement);
+  public function addSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement);
   /**
    * Update the given scp data movement details
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1910,14 +2054,16 @@ interface AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $dataMovementInterfaceId
    * @param \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateSCPDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement);
+  public function updateSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement);
   /**
    *   * This method returns SCP datamovement object
    *   * @param dataMovementId
@@ -1925,6 +2071,7 @@ interface AiravataIf {
    *      *  @return SCPDataMovement instance
    * *
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $dataMovementId
    * @return \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement Data Movement through Secured Copy
    * 
@@ -1937,9 +2084,11 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getSCPDataMovement($dataMovementId);
+  public function getSCPDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param int $priorityOrder
    * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement
@@ -1947,18 +2096,22 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addUnicoreDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement);
+  public function addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $dataMovementInterfaceId
    * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateUnicoreDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement);
+  public function updateUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $dataMovementId
    * @return \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement Data Movement through UnicoreStorage
    * 
@@ -1968,8 +2121,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getUnicoreDataMovement($dataMovementId);
+  public function getUnicoreDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
   /**
    * Add a GridFTP data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1987,6 +2141,7 @@ interface AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param int $priorityOrder
    * @param \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement
@@ -1994,8 +2149,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addGridFTPDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement);
+  public function addGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement);
   /**
    * Update the given GridFTP data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -2010,14 +2166,16 @@ interface AiravataIf {
    *   Returns a success/failure of the updation.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $dataMovementInterfaceId
    * @param \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateGridFTPDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement);
+  public function updateGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement);
   /**
    *   * This method returns GridFTP datamovement object
    *   * @param dataMovementId
@@ -2025,6 +2183,7 @@ interface AiravataIf {
    *   *  @return GridFTPDataMovement instance
    * *
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $dataMovementId
    * @return \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement Data Movement through GridFTP
    * 
@@ -2037,8 +2196,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getGridFTPDataMovement($dataMovementId);
+  public function getGridFTPDataMovement(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementId);
   /**
    * Change the priority of a given job submisison interface
    * 
@@ -2052,14 +2212,16 @@ interface AiravataIf {
    *   Returns a success/failure of the change.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $jobSubmissionInterfaceId
    * @param int $newPriorityOrder
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function changeJobSubmissionPriority($jobSubmissionInterfaceId, $newPriorityOrder);
+  public function changeJobSubmissionPriority(\Airavata\Model\Security\AuthzToken $authzToken, $jobSubmissionInterfaceId, $newPriorityOrder);
   /**
    * Change the priority of a given data movement interface
    * 
@@ -2073,14 +2235,16 @@ interface AiravataIf {
    *   Returns a success/failure of the change.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $dataMovementInterfaceId
    * @param int $newPriorityOrder
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function changeDataMovementPriority($dataMovementInterfaceId, $newPriorityOrder);
+  public function changeDataMovementPriority(\Airavata\Model\Security\AuthzToken $authzToken, $dataMovementInterfaceId, $newPriorityOrder);
   /**
    * Change the priorities of a given set of job submission interfaces
    * 
@@ -2091,13 +2255,15 @@ interface AiravataIf {
    *   Returns a success/failure of the changes.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param array $jobSubmissionPriorityMap
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function changeJobSubmissionPriorities(array $jobSubmissionPriorityMap);
+  public function changeJobSubmissionPriorities(\Airavata\Model\Security\AuthzToken $authzToken, array $jobSubmissionPriorityMap);
   /**
    * Change the priorities of a given set of data movement interfaces
    * 
@@ -2108,13 +2274,15 @@ interface AiravataIf {
    *   Returns a success/failure of the changes.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param array $dataMovementPriorityMap
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function changeDataMovementPriorities(array $dataMovementPriorityMap);
+  public function changeDataMovementPriorities(\Airavata\Model\Security\AuthzToken $authzToken, array $dataMovementPriorityMap);
   /**
    * Delete a given job submisison interface
    * 
@@ -2125,14 +2293,16 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param string $jobSubmissionInterfaceId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteJobSubmissionInterface($computeResourceId, $jobSubmissionInterfaceId);
+  public function deleteJobSubmissionInterface(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $jobSubmissionInterfaceId);
   /**
    * Delete a given data movement interface
    * 
@@ -2143,32 +2313,39 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param string $dataMovementInterfaceId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteDataMovementInterface($computeResourceId, $dataMovementInterfaceId);
+  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $dataMovementInterfaceId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $resourceJobManager
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function registerResourceJobManager(\Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $resourceJobManager);
+  public function registerResourceJobManager(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $resourceJobManager);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $resourceJobManagerId
    * @param \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $updatedResourceJobManager
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateResourceJobManager($resourceJobManagerId, \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $updatedResourceJobManager);
+  public function updateResourceJobManager(\Airavata\Model\Security\AuthzToken $authzToken, $resourceJobManagerId, \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $updatedResourceJobManager);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $resourceJobManagerId
    * @return \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager Resource Job Manager Information
    * 
@@ -2189,25 +2366,30 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getResourceJobManager($resourceJobManagerId);
+  public function getResourceJobManager(\Airavata\Model\Security\AuthzToken $authzToken, $resourceJobManagerId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $resourceJobManagerId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteResourceJobManager($resourceJobManagerId);
+  public function deleteResourceJobManager(\Airavata\Model\Security\AuthzToken $authzToken, $resourceJobManagerId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $computeResourceId
    * @param string $queueName
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteBatchQueue($computeResourceId, $queueName);
+  public function deleteBatchQueue(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $queueName);
   /**
    * Register a Gateway Resource Profile.
    * 
@@ -2220,13 +2402,15 @@ interface AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile $gatewayResourceProfile
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function registerGatewayResourceProfile(\Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile $gatewayResourceProfile);
+  public function registerGatewayResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile $gatewayResourceProfile);
   /**
    * Fetch the given Gateway Resource Profile.
    * 
@@ -2237,6 +2421,7 @@ interface AiravataIf {
    *    Gateway Resource Profile Object.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @return \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile Gateway Resource Profile
    * 
@@ -2251,8 +2436,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getGatewayResourceProfile($gatewayID);
+  public function getGatewayResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID);
   /**
    * Update a Gateway Resource Profile.
    * 
@@ -2266,14 +2452,16 @@ interface AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @param \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile $gatewayResourceProfile
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateGatewayResourceProfile($gatewayID, \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile $gatewayResourceProfile);
+  public function updateGatewayResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile $gatewayResourceProfile);
   /**
    * Delete the given Gateway Resource Profile.
    * 
@@ -2284,13 +2472,15 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteGatewayResourceProfile($gatewayID);
+  public function deleteGatewayResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID);
   /**
    * Add a Compute Resource Preference to a registered gateway profile.
    * 
@@ -2308,6 +2498,7 @@ interface AiravataIf {
    *    Instead an update should be used.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @param string $computeResourceId
    * @param \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference
@@ -2315,8 +2506,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addGatewayComputeResourcePreference($gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
+  public function addGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
   /**
    * Fetch a Compute Resource Preference of a registered gateway profile.
    * 
@@ -2330,6 +2522,7 @@ interface AiravataIf {
    *   Returns the ComputeResourcePreference object.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @param string $computeResourceId
    * @return \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference Gateway specific preferences for a Computer Resource
@@ -2364,8 +2557,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getGatewayComputeResourcePreference($gatewayID, $computeResourceId);
+  public function getGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId);
   /**
    * Fetch all Compute Resource Preferences of a registered gateway profile.
    * 
@@ -2376,23 +2570,27 @@ interface AiravataIf {
    *   Returns the ComputeResourcePreference object.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @return \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllGatewayComputeResourcePreferences($gatewayID);
+  public function getAllGatewayComputeResourcePreferences(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID);
   /**
    * Fetch all gateway profiles registered
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @return \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllGatewayComputeResources();
+  public function getAllGatewayComputeResources(\Airavata\Model\Security\AuthzToken $authzToken);
   /**
    * Update a Compute Resource Preference to a registered gateway profile.
    * 
@@ -2409,6 +2607,7 @@ interface AiravataIf {
    *   Returns a success/failure of the updation.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @param string $computeResourceId
    * @param \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference
@@ -2416,8 +2615,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function updateGatewayComputeResourcePreference($gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
+  public function updateGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
   /**
    * Delete the Compute Resource Preference of a registered gateway profile.
    * 
@@ -2431,70 +2631,86 @@ interface AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayID
    * @param string $computeResourceId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteGatewayComputeResourcePreference($gatewayID, $computeResourceId);
+  public function deleteGatewayComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayID, $computeResourceId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $gatewayId
    * @return string[]
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getAllWorkflows($gatewayId);
+  public function getAllWorkflows(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $workflowTemplateId
    * @return \Airavata\Model\Workflow
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getWorkflow($workflowTemplateId);
+  public function getWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $workflowTemplateId
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteWorkflow($workflowTemplateId);
+  public function deleteWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId);
   /**
+   * @param \Airavata\M

<TRUNCATED>

[06/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp
new file mode 100644
index 0000000..706453d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp
@@ -0,0 +1,683 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "status_models_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace status {
+
+int _kExperimentStateValues[] = {
+  ExperimentState::CREATED,
+  ExperimentState::VALIDATED,
+  ExperimentState::SCHEDULED,
+  ExperimentState::LAUNCHED,
+  ExperimentState::EXECUTING,
+  ExperimentState::CANCELING,
+  ExperimentState::CANCELED,
+  ExperimentState::COMPLETED,
+  ExperimentState::FAILED
+};
+const char* _kExperimentStateNames[] = {
+  "CREATED",
+  "VALIDATED",
+  "SCHEDULED",
+  "LAUNCHED",
+  "EXECUTING",
+  "CANCELING",
+  "CANCELED",
+  "COMPLETED",
+  "FAILED"
+};
+const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(9, _kExperimentStateValues, _kExperimentStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kTaskStateValues[] = {
+  TaskState::CREATED,
+  TaskState::EXECUTING,
+  TaskState::COMPLETED,
+  TaskState::FAILED,
+  TaskState::CANCELED
+};
+const char* _kTaskStateNames[] = {
+  "CREATED",
+  "EXECUTING",
+  "COMPLETED",
+  "FAILED",
+  "CANCELED"
+};
+const std::map<int, const char*> _TaskState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kTaskStateValues, _kTaskStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kProcessStateValues[] = {
+  ProcessState::CREATED,
+  ProcessState::VALIDATED,
+  ProcessState::PRE_PROCESSING,
+  ProcessState::CONFIGURING_WORKSPACE,
+  ProcessState::INPUT_DATA_STAGING,
+  ProcessState::EXECUTING,
+  ProcessState::MONITORING,
+  ProcessState::OUTPUT_DATA_STAGING,
+  ProcessState::POST_PROCESSING,
+  ProcessState::COMPLETED,
+  ProcessState::FAILED,
+  ProcessState::CANCELLING,
+  ProcessState::CANCELED
+};
+const char* _kProcessStateNames[] = {
+  "CREATED",
+  "VALIDATED",
+  "PRE_PROCESSING",
+  "CONFIGURING_WORKSPACE",
+  "INPUT_DATA_STAGING",
+  "EXECUTING",
+  "MONITORING",
+  "OUTPUT_DATA_STAGING",
+  "POST_PROCESSING",
+  "COMPLETED",
+  "FAILED",
+  "CANCELLING",
+  "CANCELED"
+};
+const std::map<int, const char*> _ProcessState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(13, _kProcessStateValues, _kProcessStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kJobStateValues[] = {
+  JobState::SUBMITTED,
+  JobState::QUEUED,
+  JobState::ACTIVE,
+  JobState::COMPLETE,
+  JobState::CANCELED,
+  JobState::FAILED,
+  JobState::SUSPENDED,
+  JobState::UNKNOWN
+};
+const char* _kJobStateNames[] = {
+  "SUBMITTED",
+  "QUEUED",
+  "ACTIVE",
+  "COMPLETE",
+  "CANCELED",
+  "FAILED",
+  "SUSPENDED",
+  "UNKNOWN"
+};
+const std::map<int, const char*> _JobState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kJobStateValues, _kJobStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+ExperimentStatus::~ExperimentStatus() throw() {
+}
+
+
+void ExperimentStatus::__set_state(const ExperimentState::type val) {
+  this->state = val;
+}
+
+void ExperimentStatus::__set_timeOfStateChange(const int64_t val) {
+  this->timeOfStateChange = val;
+__isset.timeOfStateChange = true;
+}
+
+void ExperimentStatus::__set_reason(const std::string& val) {
+  this->reason = val;
+__isset.reason = true;
+}
+
+const char* ExperimentStatus::ascii_fingerprint = "CDBB2A55999EF5954D567AC5CF6F0786";
+const uint8_t ExperimentStatus::binary_fingerprint[16] = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+uint32_t ExperimentStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->state = (ExperimentState::type)ecast0;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->timeOfStateChange);
+          this->__isset.timeOfStateChange = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reason);
+          this->__isset.reason = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ExperimentStatus");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.timeOfStateChange) {
+    xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+    xfer += oprot->writeI64(this->timeOfStateChange);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reason) {
+    xfer += oprot->writeFieldBegin("reason", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->reason);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ExperimentStatus &a, ExperimentStatus &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.reason, b.reason);
+  swap(a.__isset, b.__isset);
+}
+
+ExperimentStatus::ExperimentStatus(const ExperimentStatus& other1) {
+  state = other1.state;
+  timeOfStateChange = other1.timeOfStateChange;
+  reason = other1.reason;
+  __isset = other1.__isset;
+}
+ExperimentStatus& ExperimentStatus::operator=(const ExperimentStatus& other2) {
+  state = other2.state;
+  timeOfStateChange = other2.timeOfStateChange;
+  reason = other2.reason;
+  __isset = other2.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ExperimentStatus& obj) {
+  using apache::thrift::to_string;
+  out << "ExperimentStatus(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "timeOfStateChange="; (obj.__isset.timeOfStateChange ? (out << to_string(obj.timeOfStateChange)) : (out << "<null>"));
+  out << ", " << "reason="; (obj.__isset.reason ? (out << to_string(obj.reason)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ProcessStatus::~ProcessStatus() throw() {
+}
+
+
+void ProcessStatus::__set_state(const ProcessState::type val) {
+  this->state = val;
+}
+
+void ProcessStatus::__set_timeOfStateChange(const int64_t val) {
+  this->timeOfStateChange = val;
+__isset.timeOfStateChange = true;
+}
+
+void ProcessStatus::__set_reason(const std::string& val) {
+  this->reason = val;
+__isset.reason = true;
+}
+
+const char* ProcessStatus::ascii_fingerprint = "CDBB2A55999EF5954D567AC5CF6F0786";
+const uint8_t ProcessStatus::binary_fingerprint[16] = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+uint32_t ProcessStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast3;
+          xfer += iprot->readI32(ecast3);
+          this->state = (ProcessState::type)ecast3;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->timeOfStateChange);
+          this->__isset.timeOfStateChange = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reason);
+          this->__isset.reason = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ProcessStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ProcessStatus");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.timeOfStateChange) {
+    xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+    xfer += oprot->writeI64(this->timeOfStateChange);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reason) {
+    xfer += oprot->writeFieldBegin("reason", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->reason);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ProcessStatus &a, ProcessStatus &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.reason, b.reason);
+  swap(a.__isset, b.__isset);
+}
+
+ProcessStatus::ProcessStatus(const ProcessStatus& other4) {
+  state = other4.state;
+  timeOfStateChange = other4.timeOfStateChange;
+  reason = other4.reason;
+  __isset = other4.__isset;
+}
+ProcessStatus& ProcessStatus::operator=(const ProcessStatus& other5) {
+  state = other5.state;
+  timeOfStateChange = other5.timeOfStateChange;
+  reason = other5.reason;
+  __isset = other5.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ProcessStatus& obj) {
+  using apache::thrift::to_string;
+  out << "ProcessStatus(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "timeOfStateChange="; (obj.__isset.timeOfStateChange ? (out << to_string(obj.timeOfStateChange)) : (out << "<null>"));
+  out << ", " << "reason="; (obj.__isset.reason ? (out << to_string(obj.reason)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+TaskStatus::~TaskStatus() throw() {
+}
+
+
+void TaskStatus::__set_state(const TaskState::type val) {
+  this->state = val;
+}
+
+void TaskStatus::__set_timeOfStateChange(const int64_t val) {
+  this->timeOfStateChange = val;
+__isset.timeOfStateChange = true;
+}
+
+void TaskStatus::__set_reason(const std::string& val) {
+  this->reason = val;
+__isset.reason = true;
+}
+
+const char* TaskStatus::ascii_fingerprint = "CDBB2A55999EF5954D567AC5CF6F0786";
+const uint8_t TaskStatus::binary_fingerprint[16] = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+uint32_t TaskStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast6;
+          xfer += iprot->readI32(ecast6);
+          this->state = (TaskState::type)ecast6;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->timeOfStateChange);
+          this->__isset.timeOfStateChange = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reason);
+          this->__isset.reason = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TaskStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("TaskStatus");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.timeOfStateChange) {
+    xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+    xfer += oprot->writeI64(this->timeOfStateChange);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reason) {
+    xfer += oprot->writeFieldBegin("reason", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->reason);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(TaskStatus &a, TaskStatus &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.reason, b.reason);
+  swap(a.__isset, b.__isset);
+}
+
+TaskStatus::TaskStatus(const TaskStatus& other7) {
+  state = other7.state;
+  timeOfStateChange = other7.timeOfStateChange;
+  reason = other7.reason;
+  __isset = other7.__isset;
+}
+TaskStatus& TaskStatus::operator=(const TaskStatus& other8) {
+  state = other8.state;
+  timeOfStateChange = other8.timeOfStateChange;
+  reason = other8.reason;
+  __isset = other8.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const TaskStatus& obj) {
+  using apache::thrift::to_string;
+  out << "TaskStatus(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "timeOfStateChange="; (obj.__isset.timeOfStateChange ? (out << to_string(obj.timeOfStateChange)) : (out << "<null>"));
+  out << ", " << "reason="; (obj.__isset.reason ? (out << to_string(obj.reason)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+JobStatus::~JobStatus() throw() {
+}
+
+
+void JobStatus::__set_jobState(const JobState::type val) {
+  this->jobState = val;
+}
+
+void JobStatus::__set_timeOfStateChange(const int64_t val) {
+  this->timeOfStateChange = val;
+__isset.timeOfStateChange = true;
+}
+
+void JobStatus::__set_reason(const std::string& val) {
+  this->reason = val;
+__isset.reason = true;
+}
+
+const char* JobStatus::ascii_fingerprint = "CDBB2A55999EF5954D567AC5CF6F0786";
+const uint8_t JobStatus::binary_fingerprint[16] = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+uint32_t JobStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_jobState = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast9;
+          xfer += iprot->readI32(ecast9);
+          this->jobState = (JobState::type)ecast9;
+          isset_jobState = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->timeOfStateChange);
+          this->__isset.timeOfStateChange = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reason);
+          this->__isset.reason = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_jobState)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t JobStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("JobStatus");
+
+  xfer += oprot->writeFieldBegin("jobState", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->jobState);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.timeOfStateChange) {
+    xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+    xfer += oprot->writeI64(this->timeOfStateChange);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.reason) {
+    xfer += oprot->writeFieldBegin("reason", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->reason);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(JobStatus &a, JobStatus &b) {
+  using ::std::swap;
+  swap(a.jobState, b.jobState);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.reason, b.reason);
+  swap(a.__isset, b.__isset);
+}
+
+JobStatus::JobStatus(const JobStatus& other10) {
+  jobState = other10.jobState;
+  timeOfStateChange = other10.timeOfStateChange;
+  reason = other10.reason;
+  __isset = other10.__isset;
+}
+JobStatus& JobStatus::operator=(const JobStatus& other11) {
+  jobState = other11.jobState;
+  timeOfStateChange = other11.timeOfStateChange;
+  reason = other11.reason;
+  __isset = other11.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const JobStatus& obj) {
+  using apache::thrift::to_string;
+  out << "JobStatus(";
+  out << "jobState=" << to_string(obj.jobState);
+  out << ", " << "timeOfStateChange="; (obj.__isset.timeOfStateChange ? (out << to_string(obj.timeOfStateChange)) : (out << "<null>"));
+  out << ", " << "reason="; (obj.__isset.reason ? (out << to_string(obj.reason)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h
new file mode 100644
index 0000000..18f2f96
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h
@@ -0,0 +1,344 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef status_models_TYPES_H
+#define status_models_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+namespace apache { namespace airavata { namespace model { namespace status {
+
+struct ExperimentState {
+  enum type {
+    CREATED = 0,
+    VALIDATED = 1,
+    SCHEDULED = 2,
+    LAUNCHED = 3,
+    EXECUTING = 4,
+    CANCELING = 5,
+    CANCELED = 6,
+    COMPLETED = 7,
+    FAILED = 8
+  };
+};
+
+extern const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES;
+
+struct TaskState {
+  enum type {
+    CREATED = 0,
+    EXECUTING = 1,
+    COMPLETED = 2,
+    FAILED = 3,
+    CANCELED = 4
+  };
+};
+
+extern const std::map<int, const char*> _TaskState_VALUES_TO_NAMES;
+
+struct ProcessState {
+  enum type {
+    CREATED = 0,
+    VALIDATED = 1,
+    PRE_PROCESSING = 2,
+    CONFIGURING_WORKSPACE = 3,
+    INPUT_DATA_STAGING = 4,
+    EXECUTING = 5,
+    MONITORING = 6,
+    OUTPUT_DATA_STAGING = 7,
+    POST_PROCESSING = 8,
+    COMPLETED = 9,
+    FAILED = 10,
+    CANCELLING = 11,
+    CANCELED = 12
+  };
+};
+
+extern const std::map<int, const char*> _ProcessState_VALUES_TO_NAMES;
+
+struct JobState {
+  enum type {
+    SUBMITTED = 0,
+    QUEUED = 1,
+    ACTIVE = 2,
+    COMPLETE = 3,
+    CANCELED = 4,
+    FAILED = 5,
+    SUSPENDED = 6,
+    UNKNOWN = 7
+  };
+};
+
+extern const std::map<int, const char*> _JobState_VALUES_TO_NAMES;
+
+class ExperimentStatus;
+
+class ProcessStatus;
+
+class TaskStatus;
+
+class JobStatus;
+
+typedef struct _ExperimentStatus__isset {
+  _ExperimentStatus__isset() : timeOfStateChange(false), reason(false) {}
+  bool timeOfStateChange :1;
+  bool reason :1;
+} _ExperimentStatus__isset;
+
+class ExperimentStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "CDBB2A55999EF5954D567AC5CF6F0786";
+  static const uint8_t binary_fingerprint[16]; // = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+  ExperimentStatus(const ExperimentStatus&);
+  ExperimentStatus& operator=(const ExperimentStatus&);
+  ExperimentStatus() : state((ExperimentState::type)0), timeOfStateChange(0), reason() {
+  }
+
+  virtual ~ExperimentStatus() throw();
+  ExperimentState::type state;
+  int64_t timeOfStateChange;
+  std::string reason;
+
+  _ExperimentStatus__isset __isset;
+
+  void __set_state(const ExperimentState::type val);
+
+  void __set_timeOfStateChange(const int64_t val);
+
+  void __set_reason(const std::string& val);
+
+  bool operator == (const ExperimentStatus & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    if (__isset.reason != rhs.__isset.reason)
+      return false;
+    else if (__isset.reason && !(reason == rhs.reason))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ExperimentStatus& obj);
+};
+
+void swap(ExperimentStatus &a, ExperimentStatus &b);
+
+typedef struct _ProcessStatus__isset {
+  _ProcessStatus__isset() : timeOfStateChange(false), reason(false) {}
+  bool timeOfStateChange :1;
+  bool reason :1;
+} _ProcessStatus__isset;
+
+class ProcessStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "CDBB2A55999EF5954D567AC5CF6F0786";
+  static const uint8_t binary_fingerprint[16]; // = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+  ProcessStatus(const ProcessStatus&);
+  ProcessStatus& operator=(const ProcessStatus&);
+  ProcessStatus() : state((ProcessState::type)0), timeOfStateChange(0), reason() {
+  }
+
+  virtual ~ProcessStatus() throw();
+  ProcessState::type state;
+  int64_t timeOfStateChange;
+  std::string reason;
+
+  _ProcessStatus__isset __isset;
+
+  void __set_state(const ProcessState::type val);
+
+  void __set_timeOfStateChange(const int64_t val);
+
+  void __set_reason(const std::string& val);
+
+  bool operator == (const ProcessStatus & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    if (__isset.reason != rhs.__isset.reason)
+      return false;
+    else if (__isset.reason && !(reason == rhs.reason))
+      return false;
+    return true;
+  }
+  bool operator != (const ProcessStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ProcessStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ProcessStatus& obj);
+};
+
+void swap(ProcessStatus &a, ProcessStatus &b);
+
+typedef struct _TaskStatus__isset {
+  _TaskStatus__isset() : timeOfStateChange(false), reason(false) {}
+  bool timeOfStateChange :1;
+  bool reason :1;
+} _TaskStatus__isset;
+
+class TaskStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "CDBB2A55999EF5954D567AC5CF6F0786";
+  static const uint8_t binary_fingerprint[16]; // = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+  TaskStatus(const TaskStatus&);
+  TaskStatus& operator=(const TaskStatus&);
+  TaskStatus() : state((TaskState::type)0), timeOfStateChange(0), reason() {
+  }
+
+  virtual ~TaskStatus() throw();
+  TaskState::type state;
+  int64_t timeOfStateChange;
+  std::string reason;
+
+  _TaskStatus__isset __isset;
+
+  void __set_state(const TaskState::type val);
+
+  void __set_timeOfStateChange(const int64_t val);
+
+  void __set_reason(const std::string& val);
+
+  bool operator == (const TaskStatus & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    if (__isset.reason != rhs.__isset.reason)
+      return false;
+    else if (__isset.reason && !(reason == rhs.reason))
+      return false;
+    return true;
+  }
+  bool operator != (const TaskStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TaskStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const TaskStatus& obj);
+};
+
+void swap(TaskStatus &a, TaskStatus &b);
+
+typedef struct _JobStatus__isset {
+  _JobStatus__isset() : timeOfStateChange(false), reason(false) {}
+  bool timeOfStateChange :1;
+  bool reason :1;
+} _JobStatus__isset;
+
+class JobStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "CDBB2A55999EF5954D567AC5CF6F0786";
+  static const uint8_t binary_fingerprint[16]; // = {0xCD,0xBB,0x2A,0x55,0x99,0x9E,0xF5,0x95,0x4D,0x56,0x7A,0xC5,0xCF,0x6F,0x07,0x86};
+
+  JobStatus(const JobStatus&);
+  JobStatus& operator=(const JobStatus&);
+  JobStatus() : jobState((JobState::type)0), timeOfStateChange(0), reason() {
+  }
+
+  virtual ~JobStatus() throw();
+  JobState::type jobState;
+  int64_t timeOfStateChange;
+  std::string reason;
+
+  _JobStatus__isset __isset;
+
+  void __set_jobState(const JobState::type val);
+
+  void __set_timeOfStateChange(const int64_t val);
+
+  void __set_reason(const std::string& val);
+
+  bool operator == (const JobStatus & rhs) const
+  {
+    if (!(jobState == rhs.jobState))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    if (__isset.reason != rhs.__isset.reason)
+      return false;
+    else if (__isset.reason && !(reason == rhs.reason))
+      return false;
+    return true;
+  }
+  bool operator != (const JobStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const JobStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const JobStatus& obj);
+};
+
+void swap(JobStatus &a, JobStatus &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.cpp
new file mode 100644
index 0000000..dd551b8
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "task_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace task {
+
+const task_modelConstants g_task_model_constants;
+
+task_modelConstants::task_modelConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.h
new file mode 100644
index 0000000..7d1b2b3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef task_model_CONSTANTS_H
+#define task_model_CONSTANTS_H
+
+#include "task_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace task {
+
+class task_modelConstants {
+ public:
+  task_modelConstants();
+
+};
+
+extern const task_modelConstants g_task_model_constants;
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
new file mode 100644
index 0000000..7709267
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
@@ -0,0 +1,507 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "task_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace task {
+
+int _kTaskTypesValues[] = {
+  TaskTypes::ENV_SETUP,
+  TaskTypes::DATA_STAGING,
+  TaskTypes::JOB_SUBMISSION,
+  TaskTypes::ENV_CLEANUP,
+  TaskTypes::MONITORING
+};
+const char* _kTaskTypesNames[] = {
+  "ENV_SETUP",
+  "DATA_STAGING",
+  "JOB_SUBMISSION",
+  "ENV_CLEANUP",
+  "MONITORING"
+};
+const std::map<int, const char*> _TaskTypes_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kTaskTypesValues, _kTaskTypesNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+TaskModel::~TaskModel() throw() {
+}
+
+
+void TaskModel::__set_taskId(const std::string& val) {
+  this->taskId = val;
+}
+
+void TaskModel::__set_taskType(const TaskTypes::type val) {
+  this->taskType = val;
+}
+
+void TaskModel::__set_parentProcessId(const std::string& val) {
+  this->parentProcessId = val;
+}
+
+void TaskModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+}
+
+void TaskModel::__set_lastUpdateTime(const int64_t val) {
+  this->lastUpdateTime = val;
+}
+
+void TaskModel::__set_taskStatus(const  ::apache::airavata::model::status::TaskStatus& val) {
+  this->taskStatus = val;
+}
+
+void TaskModel::__set_taskDetail(const std::string& val) {
+  this->taskDetail = val;
+__isset.taskDetail = true;
+}
+
+void TaskModel::__set_subTaskModel(const std::string& val) {
+  this->subTaskModel = val;
+__isset.subTaskModel = true;
+}
+
+void TaskModel::__set_taskError(const  ::apache::airavata::model::commons::ErrorModel& val) {
+  this->taskError = val;
+__isset.taskError = true;
+}
+
+const char* TaskModel::ascii_fingerprint = "CE3A1BEFC350140F2B4D2EF1424A7C4F";
+const uint8_t TaskModel::binary_fingerprint[16] = {0xCE,0x3A,0x1B,0xEF,0xC3,0x50,0x14,0x0F,0x2B,0x4D,0x2E,0xF1,0x42,0x4A,0x7C,0x4F};
+
+uint32_t TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_taskId = false;
+  bool isset_taskType = false;
+  bool isset_parentProcessId = false;
+  bool isset_creationTime = false;
+  bool isset_lastUpdateTime = false;
+  bool isset_taskStatus = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->taskId);
+          isset_taskId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->taskType = (TaskTypes::type)ecast0;
+          isset_taskType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->parentProcessId);
+          isset_parentProcessId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          isset_creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->lastUpdateTime);
+          isset_lastUpdateTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->taskStatus.read(iprot);
+          isset_taskStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->taskDetail);
+          this->__isset.taskDetail = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readBinary(this->subTaskModel);
+          this->__isset.subTaskModel = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->taskError.read(iprot);
+          this->__isset.taskError = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_taskId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_taskType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_parentProcessId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_creationTime)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_lastUpdateTime)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_taskStatus)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TaskModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("TaskModel");
+
+  xfer += oprot->writeFieldBegin("taskId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->taskId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("taskType", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->taskType);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("parentProcessId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->parentProcessId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 4);
+  xfer += oprot->writeI64(this->creationTime);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("lastUpdateTime", ::apache::thrift::protocol::T_I64, 5);
+  xfer += oprot->writeI64(this->lastUpdateTime);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("taskStatus", ::apache::thrift::protocol::T_STRUCT, 6);
+  xfer += this->taskStatus.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.taskDetail) {
+    xfer += oprot->writeFieldBegin("taskDetail", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->taskDetail);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.subTaskModel) {
+    xfer += oprot->writeFieldBegin("subTaskModel", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeBinary(this->subTaskModel);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.taskError) {
+    xfer += oprot->writeFieldBegin("taskError", ::apache::thrift::protocol::T_STRUCT, 9);
+    xfer += this->taskError.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(TaskModel &a, TaskModel &b) {
+  using ::std::swap;
+  swap(a.taskId, b.taskId);
+  swap(a.taskType, b.taskType);
+  swap(a.parentProcessId, b.parentProcessId);
+  swap(a.creationTime, b.creationTime);
+  swap(a.lastUpdateTime, b.lastUpdateTime);
+  swap(a.taskStatus, b.taskStatus);
+  swap(a.taskDetail, b.taskDetail);
+  swap(a.subTaskModel, b.subTaskModel);
+  swap(a.taskError, b.taskError);
+  swap(a.__isset, b.__isset);
+}
+
+TaskModel::TaskModel(const TaskModel& other1) {
+  taskId = other1.taskId;
+  taskType = other1.taskType;
+  parentProcessId = other1.parentProcessId;
+  creationTime = other1.creationTime;
+  lastUpdateTime = other1.lastUpdateTime;
+  taskStatus = other1.taskStatus;
+  taskDetail = other1.taskDetail;
+  subTaskModel = other1.subTaskModel;
+  taskError = other1.taskError;
+  __isset = other1.__isset;
+}
+TaskModel& TaskModel::operator=(const TaskModel& other2) {
+  taskId = other2.taskId;
+  taskType = other2.taskType;
+  parentProcessId = other2.parentProcessId;
+  creationTime = other2.creationTime;
+  lastUpdateTime = other2.lastUpdateTime;
+  taskStatus = other2.taskStatus;
+  taskDetail = other2.taskDetail;
+  subTaskModel = other2.subTaskModel;
+  taskError = other2.taskError;
+  __isset = other2.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const TaskModel& obj) {
+  using apache::thrift::to_string;
+  out << "TaskModel(";
+  out << "taskId=" << to_string(obj.taskId);
+  out << ", " << "taskType=" << to_string(obj.taskType);
+  out << ", " << "parentProcessId=" << to_string(obj.parentProcessId);
+  out << ", " << "creationTime=" << to_string(obj.creationTime);
+  out << ", " << "lastUpdateTime=" << to_string(obj.lastUpdateTime);
+  out << ", " << "taskStatus=" << to_string(obj.taskStatus);
+  out << ", " << "taskDetail="; (obj.__isset.taskDetail ? (out << to_string(obj.taskDetail)) : (out << "<null>"));
+  out << ", " << "subTaskModel="; (obj.__isset.subTaskModel ? (out << to_string(obj.subTaskModel)) : (out << "<null>"));
+  out << ", " << "taskError="; (obj.__isset.taskError ? (out << to_string(obj.taskError)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+DataStagingTaskModel::~DataStagingTaskModel() throw() {
+}
+
+
+void DataStagingTaskModel::__set_source(const std::string& val) {
+  this->source = val;
+}
+
+void DataStagingTaskModel::__set_destination(const std::string& val) {
+  this->destination = val;
+}
+
+void DataStagingTaskModel::__set_transferStartTime(const int64_t val) {
+  this->transferStartTime = val;
+__isset.transferStartTime = true;
+}
+
+void DataStagingTaskModel::__set_transferEndTime(const int64_t val) {
+  this->transferEndTime = val;
+__isset.transferEndTime = true;
+}
+
+void DataStagingTaskModel::__set_transferRate(const std::string& val) {
+  this->transferRate = val;
+__isset.transferRate = true;
+}
+
+const char* DataStagingTaskModel::ascii_fingerprint = "3224DD8D1EC3134AB6350703A4B92D60";
+const uint8_t DataStagingTaskModel::binary_fingerprint[16] = {0x32,0x24,0xDD,0x8D,0x1E,0xC3,0x13,0x4A,0xB6,0x35,0x07,0x03,0xA4,0xB9,0x2D,0x60};
+
+uint32_t DataStagingTaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_source = false;
+  bool isset_destination = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->source);
+          isset_source = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->destination);
+          isset_destination = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->transferStartTime);
+          this->__isset.transferStartTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->transferEndTime);
+          this->__isset.transferEndTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->transferRate);
+          this->__isset.transferRate = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_source)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_destination)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t DataStagingTaskModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("DataStagingTaskModel");
+
+  xfer += oprot->writeFieldBegin("source", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->source);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("destination", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->destination);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.transferStartTime) {
+    xfer += oprot->writeFieldBegin("transferStartTime", ::apache::thrift::protocol::T_I64, 3);
+    xfer += oprot->writeI64(this->transferStartTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.transferEndTime) {
+    xfer += oprot->writeFieldBegin("transferEndTime", ::apache::thrift::protocol::T_I64, 4);
+    xfer += oprot->writeI64(this->transferEndTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.transferRate) {
+    xfer += oprot->writeFieldBegin("transferRate", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->transferRate);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(DataStagingTaskModel &a, DataStagingTaskModel &b) {
+  using ::std::swap;
+  swap(a.source, b.source);
+  swap(a.destination, b.destination);
+  swap(a.transferStartTime, b.transferStartTime);
+  swap(a.transferEndTime, b.transferEndTime);
+  swap(a.transferRate, b.transferRate);
+  swap(a.__isset, b.__isset);
+}
+
+DataStagingTaskModel::DataStagingTaskModel(const DataStagingTaskModel& other3) {
+  source = other3.source;
+  destination = other3.destination;
+  transferStartTime = other3.transferStartTime;
+  transferEndTime = other3.transferEndTime;
+  transferRate = other3.transferRate;
+  __isset = other3.__isset;
+}
+DataStagingTaskModel& DataStagingTaskModel::operator=(const DataStagingTaskModel& other4) {
+  source = other4.source;
+  destination = other4.destination;
+  transferStartTime = other4.transferStartTime;
+  transferEndTime = other4.transferEndTime;
+  transferRate = other4.transferRate;
+  __isset = other4.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const DataStagingTaskModel& obj) {
+  using apache::thrift::to_string;
+  out << "DataStagingTaskModel(";
+  out << "source=" << to_string(obj.source);
+  out << ", " << "destination=" << to_string(obj.destination);
+  out << ", " << "transferStartTime="; (obj.__isset.transferStartTime ? (out << to_string(obj.transferStartTime)) : (out << "<null>"));
+  out << ", " << "transferEndTime="; (obj.__isset.transferEndTime ? (out << to_string(obj.transferEndTime)) : (out << "<null>"));
+  out << ", " << "transferRate="; (obj.__isset.transferRate ? (out << to_string(obj.transferRate)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
new file mode 100644
index 0000000..3292c36
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
@@ -0,0 +1,221 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef task_model_TYPES_H
+#define task_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavata_commons_types.h"
+#include "status_models_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace task {
+
+struct TaskTypes {
+  enum type {
+    ENV_SETUP = 0,
+    DATA_STAGING = 1,
+    JOB_SUBMISSION = 2,
+    ENV_CLEANUP = 3,
+    MONITORING = 4
+  };
+};
+
+extern const std::map<int, const char*> _TaskTypes_VALUES_TO_NAMES;
+
+class TaskModel;
+
+class DataStagingTaskModel;
+
+typedef struct _TaskModel__isset {
+  _TaskModel__isset() : taskDetail(false), subTaskModel(false), taskError(false) {}
+  bool taskDetail :1;
+  bool subTaskModel :1;
+  bool taskError :1;
+} _TaskModel__isset;
+
+class TaskModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "CE3A1BEFC350140F2B4D2EF1424A7C4F";
+  static const uint8_t binary_fingerprint[16]; // = {0xCE,0x3A,0x1B,0xEF,0xC3,0x50,0x14,0x0F,0x2B,0x4D,0x2E,0xF1,0x42,0x4A,0x7C,0x4F};
+
+  TaskModel(const TaskModel&);
+  TaskModel& operator=(const TaskModel&);
+  TaskModel() : taskId("DO_NOT_SET_AT_CLIENTS"), taskType((TaskTypes::type)0), parentProcessId(), creationTime(0), lastUpdateTime(0), taskDetail(), subTaskModel() {
+  }
+
+  virtual ~TaskModel() throw();
+  std::string taskId;
+  TaskTypes::type taskType;
+  std::string parentProcessId;
+  int64_t creationTime;
+  int64_t lastUpdateTime;
+   ::apache::airavata::model::status::TaskStatus taskStatus;
+  std::string taskDetail;
+  std::string subTaskModel;
+   ::apache::airavata::model::commons::ErrorModel taskError;
+
+  _TaskModel__isset __isset;
+
+  void __set_taskId(const std::string& val);
+
+  void __set_taskType(const TaskTypes::type val);
+
+  void __set_parentProcessId(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_lastUpdateTime(const int64_t val);
+
+  void __set_taskStatus(const  ::apache::airavata::model::status::TaskStatus& val);
+
+  void __set_taskDetail(const std::string& val);
+
+  void __set_subTaskModel(const std::string& val);
+
+  void __set_taskError(const  ::apache::airavata::model::commons::ErrorModel& val);
+
+  bool operator == (const TaskModel & rhs) const
+  {
+    if (!(taskId == rhs.taskId))
+      return false;
+    if (!(taskType == rhs.taskType))
+      return false;
+    if (!(parentProcessId == rhs.parentProcessId))
+      return false;
+    if (!(creationTime == rhs.creationTime))
+      return false;
+    if (!(lastUpdateTime == rhs.lastUpdateTime))
+      return false;
+    if (!(taskStatus == rhs.taskStatus))
+      return false;
+    if (__isset.taskDetail != rhs.__isset.taskDetail)
+      return false;
+    else if (__isset.taskDetail && !(taskDetail == rhs.taskDetail))
+      return false;
+    if (__isset.subTaskModel != rhs.__isset.subTaskModel)
+      return false;
+    else if (__isset.subTaskModel && !(subTaskModel == rhs.subTaskModel))
+      return false;
+    if (__isset.taskError != rhs.__isset.taskError)
+      return false;
+    else if (__isset.taskError && !(taskError == rhs.taskError))
+      return false;
+    return true;
+  }
+  bool operator != (const TaskModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TaskModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const TaskModel& obj);
+};
+
+void swap(TaskModel &a, TaskModel &b);
+
+typedef struct _DataStagingTaskModel__isset {
+  _DataStagingTaskModel__isset() : transferStartTime(false), transferEndTime(false), transferRate(false) {}
+  bool transferStartTime :1;
+  bool transferEndTime :1;
+  bool transferRate :1;
+} _DataStagingTaskModel__isset;
+
+class DataStagingTaskModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "3224DD8D1EC3134AB6350703A4B92D60";
+  static const uint8_t binary_fingerprint[16]; // = {0x32,0x24,0xDD,0x8D,0x1E,0xC3,0x13,0x4A,0xB6,0x35,0x07,0x03,0xA4,0xB9,0x2D,0x60};
+
+  DataStagingTaskModel(const DataStagingTaskModel&);
+  DataStagingTaskModel& operator=(const DataStagingTaskModel&);
+  DataStagingTaskModel() : source(), destination(), transferStartTime(0), transferEndTime(0), transferRate() {
+  }
+
+  virtual ~DataStagingTaskModel() throw();
+  std::string source;
+  std::string destination;
+  int64_t transferStartTime;
+  int64_t transferEndTime;
+  std::string transferRate;
+
+  _DataStagingTaskModel__isset __isset;
+
+  void __set_source(const std::string& val);
+
+  void __set_destination(const std::string& val);
+
+  void __set_transferStartTime(const int64_t val);
+
+  void __set_transferEndTime(const int64_t val);
+
+  void __set_transferRate(const std::string& val);
+
+  bool operator == (const DataStagingTaskModel & rhs) const
+  {
+    if (!(source == rhs.source))
+      return false;
+    if (!(destination == rhs.destination))
+      return false;
+    if (__isset.transferStartTime != rhs.__isset.transferStartTime)
+      return false;
+    else if (__isset.transferStartTime && !(transferStartTime == rhs.transferStartTime))
+      return false;
+    if (__isset.transferEndTime != rhs.__isset.transferEndTime)
+      return false;
+    else if (__isset.transferEndTime && !(transferEndTime == rhs.transferEndTime))
+      return false;
+    if (__isset.transferRate != rhs.__isset.transferRate)
+      return false;
+    else if (__isset.transferRate && !(transferRate == rhs.transferRate))
+      return false;
+    return true;
+  }
+  bool operator != (const DataStagingTaskModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DataStagingTaskModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const DataStagingTaskModel& obj);
+};
+
+void swap(DataStagingTaskModel &a, DataStagingTaskModel &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.cpp
new file mode 100644
index 0000000..c8e5a35
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "workflow_data_model_constants.h"
+
+
+
+const workflow_data_modelConstants g_workflow_data_model_constants;
+
+workflow_data_modelConstants::workflow_data_modelConstants() {
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.h
new file mode 100644
index 0000000..e4b294a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef workflow_data_model_CONSTANTS_H
+#define workflow_data_model_CONSTANTS_H
+
+#include "workflow_data_model_types.h"
+
+
+
+class workflow_data_modelConstants {
+ public:
+  workflow_data_modelConstants();
+
+};
+
+extern const workflow_data_modelConstants g_workflow_data_model_constants;
+
+
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp
new file mode 100644
index 0000000..eac1a14
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.cpp
@@ -0,0 +1,277 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "workflow_data_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+
+
+
+Workflow::~Workflow() throw() {
+}
+
+
+void Workflow::__set_templateId(const std::string& val) {
+  this->templateId = val;
+}
+
+void Workflow::__set_name(const std::string& val) {
+  this->name = val;
+}
+
+void Workflow::__set_graph(const std::string& val) {
+  this->graph = val;
+__isset.graph = true;
+}
+
+void Workflow::__set_image(const std::string& val) {
+  this->image = val;
+__isset.image = true;
+}
+
+void Workflow::__set_workflowInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val) {
+  this->workflowInputs = val;
+__isset.workflowInputs = true;
+}
+
+void Workflow::__set_workflowOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val) {
+  this->workflowOutputs = val;
+__isset.workflowOutputs = true;
+}
+
+const char* Workflow::ascii_fingerprint = "5BEAC53013828D81DABDECEEE0E170C2";
+const uint8_t Workflow::binary_fingerprint[16] = {0x5B,0xEA,0xC5,0x30,0x13,0x82,0x8D,0x81,0xDA,0xBD,0xEC,0xEE,0xE0,0xE1,0x70,0xC2};
+
+uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_templateId = false;
+  bool isset_name = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->templateId);
+          isset_templateId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->name);
+          isset_name = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->graph);
+          this->__isset.graph = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readBinary(this->image);
+          this->__isset.image = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->workflowInputs.clear();
+            uint32_t _size0;
+            ::apache::thrift::protocol::TType _etype3;
+            xfer += iprot->readListBegin(_etype3, _size0);
+            this->workflowInputs.resize(_size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              xfer += this->workflowInputs[_i4].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.workflowInputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->workflowOutputs.clear();
+            uint32_t _size5;
+            ::apache::thrift::protocol::TType _etype8;
+            xfer += iprot->readListBegin(_etype8, _size5);
+            this->workflowOutputs.resize(_size5);
+            uint32_t _i9;
+            for (_i9 = 0; _i9 < _size5; ++_i9)
+            {
+              xfer += this->workflowOutputs[_i9].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.workflowOutputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_templateId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_name)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Workflow::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Workflow");
+
+  xfer += oprot->writeFieldBegin("templateId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->templateId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->name);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.graph) {
+    xfer += oprot->writeFieldBegin("graph", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->graph);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.image) {
+    xfer += oprot->writeFieldBegin("image", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeBinary(this->image);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.workflowInputs) {
+    xfer += oprot->writeFieldBegin("workflowInputs", ::apache::thrift::protocol::T_LIST, 5);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->workflowInputs.size()));
+      std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter10;
+      for (_iter10 = this->workflowInputs.begin(); _iter10 != this->workflowInputs.end(); ++_iter10)
+      {
+        xfer += (*_iter10).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.workflowOutputs) {
+    xfer += oprot->writeFieldBegin("workflowOutputs", ::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->workflowOutputs.size()));
+      std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter11;
+      for (_iter11 = this->workflowOutputs.begin(); _iter11 != this->workflowOutputs.end(); ++_iter11)
+      {
+        xfer += (*_iter11).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(Workflow &a, Workflow &b) {
+  using ::std::swap;
+  swap(a.templateId, b.templateId);
+  swap(a.name, b.name);
+  swap(a.graph, b.graph);
+  swap(a.image, b.image);
+  swap(a.workflowInputs, b.workflowInputs);
+  swap(a.workflowOutputs, b.workflowOutputs);
+  swap(a.__isset, b.__isset);
+}
+
+Workflow::Workflow(const Workflow& other12) {
+  templateId = other12.templateId;
+  name = other12.name;
+  graph = other12.graph;
+  image = other12.image;
+  workflowInputs = other12.workflowInputs;
+  workflowOutputs = other12.workflowOutputs;
+  __isset = other12.__isset;
+}
+Workflow& Workflow::operator=(const Workflow& other13) {
+  templateId = other13.templateId;
+  name = other13.name;
+  graph = other13.graph;
+  image = other13.image;
+  workflowInputs = other13.workflowInputs;
+  workflowOutputs = other13.workflowOutputs;
+  __isset = other13.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const Workflow& obj) {
+  using apache::thrift::to_string;
+  out << "Workflow(";
+  out << "templateId=" << to_string(obj.templateId);
+  out << ", " << "name=" << to_string(obj.name);
+  out << ", " << "graph="; (obj.__isset.graph ? (out << to_string(obj.graph)) : (out << "<null>"));
+  out << ", " << "image="; (obj.__isset.image ? (out << to_string(obj.image)) : (out << "<null>"));
+  out << ", " << "workflowInputs="; (obj.__isset.workflowInputs ? (out << to_string(obj.workflowInputs)) : (out << "<null>"));
+  out << ", " << "workflowOutputs="; (obj.__isset.workflowOutputs ? (out << to_string(obj.workflowOutputs)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h
new file mode 100644
index 0000000..6183298
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflow_data_model_types.h
@@ -0,0 +1,124 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef workflow_data_model_TYPES_H
+#define workflow_data_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "application_io_models_types.h"
+#include "airavata_commons_types.h"
+
+
+
+
+class Workflow;
+
+typedef struct _Workflow__isset {
+  _Workflow__isset() : graph(false), image(false), workflowInputs(false), workflowOutputs(false) {}
+  bool graph :1;
+  bool image :1;
+  bool workflowInputs :1;
+  bool workflowOutputs :1;
+} _Workflow__isset;
+
+class Workflow {
+ public:
+
+  static const char* ascii_fingerprint; // = "5BEAC53013828D81DABDECEEE0E170C2";
+  static const uint8_t binary_fingerprint[16]; // = {0x5B,0xEA,0xC5,0x30,0x13,0x82,0x8D,0x81,0xDA,0xBD,0xEC,0xEE,0xE0,0xE1,0x70,0xC2};
+
+  Workflow(const Workflow&);
+  Workflow& operator=(const Workflow&);
+  Workflow() : templateId("DO_NOT_SET_AT_CLIENTS"), name(), graph(), image() {
+  }
+
+  virtual ~Workflow() throw();
+  std::string templateId;
+  std::string name;
+  std::string graph;
+  std::string image;
+  std::vector< ::apache::airavata::model::application::io::InputDataObjectType>  workflowInputs;
+  std::vector< ::apache::airavata::model::application::io::OutputDataObjectType>  workflowOutputs;
+
+  _Workflow__isset __isset;
+
+  void __set_templateId(const std::string& val);
+
+  void __set_name(const std::string& val);
+
+  void __set_graph(const std::string& val);
+
+  void __set_image(const std::string& val);
+
+  void __set_workflowInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val);
+
+  void __set_workflowOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val);
+
+  bool operator == (const Workflow & rhs) const
+  {
+    if (!(templateId == rhs.templateId))
+      return false;
+    if (!(name == rhs.name))
+      return false;
+    if (__isset.graph != rhs.__isset.graph)
+      return false;
+    else if (__isset.graph && !(graph == rhs.graph))
+      return false;
+    if (__isset.image != rhs.__isset.image)
+      return false;
+    else if (__isset.image && !(image == rhs.image))
+      return false;
+    if (__isset.workflowInputs != rhs.__isset.workflowInputs)
+      return false;
+    else if (__isset.workflowInputs && !(workflowInputs == rhs.workflowInputs))
+      return false;
+    if (__isset.workflowOutputs != rhs.__isset.workflowOutputs)
+      return false;
+    else if (__isset.workflowOutputs && !(workflowOutputs == rhs.workflowOutputs))
+      return false;
+    return true;
+  }
+  bool operator != (const Workflow &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Workflow & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const Workflow& obj);
+};
+
+void swap(Workflow &a, Workflow &b);
+
+
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.cpp
new file mode 100644
index 0000000..f687bff
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "workspace_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+const workspace_modelConstants g_workspace_model_constants;
+
+workspace_modelConstants::workspace_modelConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.h
new file mode 100644
index 0000000..1a55565
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef workspace_model_CONSTANTS_H
+#define workspace_model_CONSTANTS_H
+
+#include "workspace_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+class workspace_modelConstants {
+ public:
+  workspace_modelConstants();
+
+};
+
+extern const workspace_modelConstants g_workspace_model_constants;
+
+}}}} // namespace
+
+#endif


[27/44] airavata git commit: adding security validation on API method calls through interception using the Guice AOP framework.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 3ff600e..80949c9 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class Airavata {
 
   public interface Iface {
@@ -63,17 +63,17 @@ public class Airavata {
      */
     public String getAPIVersion(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public String addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public String addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
-    public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
-    public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
-    public boolean deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
-    public List<org.apache.airavata.model.workspace.Gateway> getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.Gateway> getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
-    public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Generate and Register SSH Key Pair with Airavata Credential Store.
@@ -115,26 +115,28 @@ public class Airavata {
      * @param gatewayId
      * @param project
      */
-    public String createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public String createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Update a Project
      * 
      * 
+     * @param authzToken
      * @param projectId
      * @param updatedProject
      */
-    public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
+    public void updateProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
 
     /**
      * Get a Project by ID
      * 
      * 
+     * @param authzToken
      * @param projectId
      */
-    public org.apache.airavata.model.workspace.Project getProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.Project getProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
 
-    public boolean deleteProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
+    public boolean deleteProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
 
     /**
      *   * Get all Project by user
@@ -1857,11 +1859,11 @@ public class Airavata {
 
     public void createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void updateProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.airavata.model.workspace.Project updatedProject, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getProject(String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteProject(String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getAllUserProjects(String gatewayId, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -2146,7 +2148,7 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAPIVersion failed: unknown result");
     }
 
-    public String addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public String addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_addGateway(authzToken, gateway);
       return recv_addGateway();
@@ -2160,7 +2162,7 @@ public class Airavata {
       sendBase("addGateway", args);
     }
 
-    public String recv_addGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public String recv_addGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       addGateway_result result = new addGateway_result();
       receiveBase(result, "addGateway");
@@ -2176,13 +2178,10 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
-      if (result.ae != null) {
-        throw result.ae;
-      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGateway failed: unknown result");
     }
 
-    public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_updateGateway(authzToken, gatewayId, updatedGateway);
       recv_updateGateway();
@@ -2197,7 +2196,7 @@ public class Airavata {
       sendBase("updateGateway", args);
     }
 
-    public void recv_updateGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public void recv_updateGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       updateGateway_result result = new updateGateway_result();
       receiveBase(result, "updateGateway");
@@ -2210,13 +2209,10 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
-      if (result.ae != null) {
-        throw result.ae;
-      }
       return;
     }
 
-    public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_getGateway(authzToken, gatewayId);
       return recv_getGateway();
@@ -2230,7 +2226,7 @@ public class Airavata {
       sendBase("getGateway", args);
     }
 
-    public org.apache.airavata.model.workspace.Gateway recv_getGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.Gateway recv_getGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       getGateway_result result = new getGateway_result();
       receiveBase(result, "getGateway");
@@ -2246,13 +2242,10 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
-      if (result.ae != null) {
-        throw result.ae;
-      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGateway failed: unknown result");
     }
 
-    public boolean deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_deleteGateway(authzToken, gatewayId);
       return recv_deleteGateway();
@@ -2266,7 +2259,7 @@ public class Airavata {
       sendBase("deleteGateway", args);
     }
 
-    public boolean recv_deleteGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean recv_deleteGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       deleteGateway_result result = new deleteGateway_result();
       receiveBase(result, "deleteGateway");
@@ -2282,13 +2275,10 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
-      if (result.ae != null) {
-        throw result.ae;
-      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGateway failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.Gateway> getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.Gateway> getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_getAllGateways(authzToken);
       return recv_getAllGateways();
@@ -2301,7 +2291,7 @@ public class Airavata {
       sendBase("getAllGateways", args);
     }
 
-    public List<org.apache.airavata.model.workspace.Gateway> recv_getAllGateways() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.Gateway> recv_getAllGateways() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       getAllGateways_result result = new getAllGateways_result();
       receiveBase(result, "getAllGateways");
@@ -2317,13 +2307,10 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
-      if (result.ae != null) {
-        throw result.ae;
-      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGateways failed: unknown result");
     }
 
-    public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_isGatewayExist(authzToken, gatewayId);
       return recv_isGatewayExist();
@@ -2337,7 +2324,7 @@ public class Airavata {
       sendBase("isGatewayExist", args);
     }
 
-    public boolean recv_isGatewayExist() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public boolean recv_isGatewayExist() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       isGatewayExist_result result = new isGatewayExist_result();
       receiveBase(result, "isGatewayExist");
@@ -2353,9 +2340,6 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
-      if (result.ae != null) {
-        throw result.ae;
-      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGatewayExist failed: unknown result");
     }
 
@@ -2456,7 +2440,7 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserSSHPubKeys failed: unknown result");
     }
 
-    public String createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public String createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_createProject(authzToken, gatewayId, project);
       return recv_createProject();
@@ -2471,7 +2455,7 @@ public class Airavata {
       sendBase("createProject", args);
     }
 
-    public String recv_createProject() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public String recv_createProject() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       createProject_result result = new createProject_result();
       receiveBase(result, "createProject");
@@ -2487,21 +2471,19 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
-      if (result.ae != null) {
-        throw result.ae;
-      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createProject failed: unknown result");
     }
 
-    public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
+    public void updateProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
-      send_updateProject(projectId, updatedProject);
+      send_updateProject(authzToken, projectId, updatedProject);
       recv_updateProject();
     }
 
-    public void send_updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.thrift.TException
+    public void send_updateProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.thrift.TException
     {
       updateProject_args args = new updateProject_args();
+      args.setAuthzToken(authzToken);
       args.setProjectId(projectId);
       args.setUpdatedProject(updatedProject);
       sendBase("updateProject", args);
@@ -2526,15 +2508,16 @@ public class Airavata {
       return;
     }
 
-    public org.apache.airavata.model.workspace.Project getProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.Project getProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
-      send_getProject(projectId);
+      send_getProject(authzToken, projectId);
       return recv_getProject();
     }
 
-    public void send_getProject(String projectId) throws org.apache.thrift.TException
+    public void send_getProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.thrift.TException
     {
       getProject_args args = new getProject_args();
+      args.setAuthzToken(authzToken);
       args.setProjectId(projectId);
       sendBase("getProject", args);
     }
@@ -2561,15 +2544,16 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProject failed: unknown result");
     }
 
-    public boolean deleteProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
+    public boolean deleteProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
-      send_deleteProject(projectId);
+      send_deleteProject(authzToken, projectId);
       return recv_deleteProject();
     }
 
-    public void send_deleteProject(String projectId) throws org.apache.thrift.TException
+    public void send_deleteProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.thrift.TException
     {
       deleteProject_args args = new deleteProject_args();
+      args.setAuthzToken(authzToken);
       args.setProjectId(projectId);
       sendBase("deleteProject", args);
     }
@@ -6398,7 +6382,7 @@ public class Airavata {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6436,7 +6420,7 @@ public class Airavata {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+      public void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6471,7 +6455,7 @@ public class Airavata {
         prot.writeMessageEnd();
       }
 
-      public org.apache.airavata.model.workspace.Gateway getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+      public org.apache.airavata.model.workspace.Gateway getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6506,7 +6490,7 @@ public class Airavata {
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+      public boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6538,7 +6522,7 @@ public class Airavata {
         prot.writeMessageEnd();
       }
 
-      public List<org.apache.airavata.model.workspace.Gateway> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+      public List<org.apache.airavata.model.workspace.Gateway> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6573,7 +6557,7 @@ public class Airavata {
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+      public boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6710,7 +6694,7 @@ public class Airavata {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6720,18 +6704,20 @@ public class Airavata {
       }
     }
 
-    public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void updateProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.airavata.model.workspace.Project updatedProject, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      updateProject_call method_call = new updateProject_call(projectId, updatedProject, resultHandler, this, ___protocolFactory, ___transport);
+      updateProject_call method_call = new updateProject_call(authzToken, projectId, updatedProject, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class updateProject_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
       private String projectId;
       private org.apache.airavata.model.workspace.Project updatedProject;
-      public updateProject_call(String projectId, org.apache.airavata.model.workspace.Project updatedProject, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public updateProject_call(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.airavata.model.workspace.Project updatedProject, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
         this.projectId = projectId;
         this.updatedProject = updatedProject;
       }
@@ -6739,6 +6725,7 @@ public class Airavata {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateProject_args args = new updateProject_args();
+        args.setAuthzToken(authzToken);
         args.setProjectId(projectId);
         args.setUpdatedProject(updatedProject);
         args.write(prot);
@@ -6755,23 +6742,26 @@ public class Airavata {
       }
     }
 
-    public void getProject(String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getProject_call method_call = new getProject_call(projectId, resultHandler, this, ___protocolFactory, ___transport);
+      getProject_call method_call = new getProject_call(authzToken, projectId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getProject_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
       private String projectId;
-      public getProject_call(String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getProject_call(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
         this.projectId = projectId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getProject_args args = new getProject_args();
+        args.setAuthzToken(authzToken);
         args.setProjectId(projectId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -6787,23 +6777,26 @@ public class Airavata {
       }
     }
 
-    public void deleteProject(String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      deleteProject_call method_call = new deleteProject_call(projectId, resultHandler, this, ___protocolFactory, ___transport);
+      deleteProject_call method_call = new deleteProject_call(authzToken, projectId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class deleteProject_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
       private String projectId;
-      public deleteProject_call(String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public deleteProject_call(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
         this.projectId = projectId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteProject_args args = new deleteProject_args();
+        args.setAuthzToken(authzToken);
         args.setProjectId(projectId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -10964,8 +10957,6 @@ public class Airavata {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
         }
         return result;
       }
@@ -10994,8 +10985,6 @@ public class Airavata {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
         }
         return result;
       }
@@ -11024,8 +11013,6 @@ public class Airavata {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
         }
         return result;
       }
@@ -11055,8 +11042,6 @@ public class Airavata {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
         }
         return result;
       }
@@ -11085,8 +11070,6 @@ public class Airavata {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
         }
         return result;
       }
@@ -11116,8 +11099,6 @@ public class Airavata {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
         }
         return result;
       }
@@ -11230,8 +11211,6 @@ public class Airavata {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
         }
         return result;
       }
@@ -11253,7 +11232,7 @@ public class Airavata {
       public updateProject_result getResult(I iface, updateProject_args args) throws org.apache.thrift.TException {
         updateProject_result result = new updateProject_result();
         try {
-          iface.updateProject(args.projectId, args.updatedProject);
+          iface.updateProject(args.authzToken, args.projectId, args.updatedProject);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
@@ -11283,7 +11262,7 @@ public class Airavata {
       public getProject_result getResult(I iface, getProject_args args) throws org.apache.thrift.TException {
         getProject_result result = new getProject_result();
         try {
-          result.success = iface.getProject(args.projectId);
+          result.success = iface.getProject(args.authzToken, args.projectId);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
@@ -11313,7 +11292,7 @@ public class Airavata {
       public deleteProject_result getResult(I iface, deleteProject_args args) throws org.apache.thrift.TException {
         deleteProject_result result = new deleteProject_result();
         try {
-          result.success = iface.deleteProject(args.projectId);
+          result.success = iface.deleteProject(args.authzToken, args.projectId);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
@@ -14791,11 +14770,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -14862,11 +14836,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -14934,11 +14903,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -15007,11 +14971,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -15079,11 +15038,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -15152,11 +15106,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -15425,11 +15374,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -15522,7 +15466,7 @@ public class Airavata {
       }
 
       public void start(I iface, updateProject_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.updateProject(args.projectId, args.updatedProject,resultHandler);
+        iface.updateProject(args.authzToken, args.projectId, args.updatedProject,resultHandler);
       }
     }
 
@@ -15594,7 +15538,7 @@ public class Airavata {
       }
 
       public void start(I iface, getProject_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> resultHandler) throws TException {
-        iface.getProject(args.projectId,resultHandler);
+        iface.getProject(args.authzToken, args.projectId,resultHandler);
       }
     }
 
@@ -15667,7 +15611,7 @@ public class Airavata {
       }
 
       public void start(I iface, deleteProject_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteProject(args.projectId,resultHandler);
+        iface.deleteProject(args.authzToken, args.projectId,resultHandler);
       }
     }
 
@@ -24922,7 +24866,6 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -24934,15 +24877,13 @@ public class Airavata {
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
+      ASE((short)3, "ase");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -24965,8 +24906,6 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
-          case 4: // AE
-            return AE;
           default:
             return null;
         }
@@ -25018,8 +24957,6 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addGateway_result.class, metaDataMap);
     }
@@ -25031,15 +24968,13 @@ public class Airavata {
       String success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
+      org.apache.airavata.model.error.AiravataSystemException ase)
     {
       this();
       this.success = success;
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
-      this.ae = ae;
     }
 
     /**
@@ -25058,9 +24993,6 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
     }
 
     public addGateway_result deepCopy() {
@@ -25073,7 +25005,6 @@ public class Airavata {
       this.ire = null;
       this.ace = null;
       this.ase = null;
-      this.ae = null;
     }
 
     public String getSuccess() {
@@ -25172,30 +25103,6 @@ public class Airavata {
       }
     }
 
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public addGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -25230,14 +25137,6 @@ public class Airavata {
         }
         break;
 
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
       }
     }
 
@@ -25255,9 +25154,6 @@ public class Airavata {
       case ASE:
         return getAse();
 
-      case AE:
-        return getAe();
-
       }
       throw new IllegalStateException();
     }
@@ -25277,8 +25173,6 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
-      case AE:
-        return isSetAe();
       }
       throw new IllegalStateException();
     }
@@ -25332,15 +25226,6 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
       return true;
     }
 
@@ -25368,11 +25253,6 @@ public class Airavata {
       if (present_ase)
         list.add(ase);
 
-      boolean present_ae = true && (isSetAe());
-      list.add(present_ae);
-      if (present_ae)
-        list.add(ae);
-
       return list.hashCode();
     }
 
@@ -25424,16 +25304,6 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -25485,14 +25355,6 @@ public class Airavata {
         sb.append(this.ase);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -25571,15 +25433,6 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -25615,11 +25468,6 @@ public class Airavata {
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -25650,10 +25498,7 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        if (struct.isSetAe()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
+        oprot.writeBitSet(optionals, 4);
         if (struct.isSetSuccess()) {
           oprot.writeString(struct.success);
         }
@@ -25666,15 +25511,12 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, addGateway_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(5);
+        BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           struct.success = iprot.readString();
           struct.setSuccessIsSet(true);
@@ -25694,11 +25536,6 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
-        if (incoming.get(4)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
       }
     }
 
@@ -26276,7 +26113,6 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -26287,14 +26123,12 @@ public class Airavata {
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
+      ASE((short)3, "ase");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -26315,8 +26149,6 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
-          case 4: // AE
-            return AE;
           default:
             return null;
         }
@@ -26366,8 +26198,6 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGateway_result.class, metaDataMap);
     }
@@ -26378,14 +26208,12 @@ public class Airavata {
     public updateGateway_result(
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
+      org.apache.airavata.model.error.AiravataSystemException ase)
     {
       this();
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
-      this.ae = ae;
     }
 
     /**
@@ -26401,9 +26229,6 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
     }
 
     public updateGateway_result deepCopy() {
@@ -26415,7 +26240,6 @@ public class Airavata {
       this.ire = null;
       this.ace = null;
       this.ase = null;
-      this.ae = null;
     }
 
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
@@ -26490,30 +26314,6 @@ public class Airavata {
       }
     }
 
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public updateGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case IRE:
@@ -26540,14 +26340,6 @@ public class Airavata {
         }
         break;
 
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
       }
     }
 
@@ -26562,9 +26354,6 @@ public class Airavata {
       case ASE:
         return getAse();
 
-      case AE:
-        return getAe();
-
       }
       throw new IllegalStateException();
     }
@@ -26582,8 +26371,6 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
-      case AE:
-        return isSetAe();
       }
       throw new IllegalStateException();
     }
@@ -26628,15 +26415,6 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
       return true;
     }
 
@@ -26659,11 +26437,6 @@ public class Airavata {
       if (present_ase)
         list.add(ase);
 
-      boolean present_ae = true && (isSetAe());
-      list.add(present_ae);
-      if (present_ae)
-        list.add(ae);
-
       return list.hashCode();
     }
 
@@ -26705,16 +26478,6 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -26758,14 +26521,6 @@ public class Airavata {
         sb.append(this.ase);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -26836,15 +26591,6 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -26875,11 +26621,6 @@ public class Airavata {
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -26907,10 +26648,7 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(2);
         }
-        if (struct.isSetAe()) {
-          optionals.set(3);
-        }
-        oprot.writeBitSet(optionals, 4);
+        oprot.writeBitSet(optionals, 3);
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
         }
@@ -26920,15 +26658,12 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, updateGateway_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(4);
+        BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
           struct.ire.read(iprot);
@@ -26944,11 +26679,6 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
-        if (incoming.get(3)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
       }
     }
 
@@ -27421,7 +27151,6 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -27433,15 +27162,13 @@ public class Airavata {
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
+      ASE((short)3, "ase");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -27464,8 +27191,6 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
-          case 4: // AE
-            return AE;
           default:
             return null;
         }
@@ -27517,8 +27242,6 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGateway_result.class, metaDataMap);
     }
@@ -27530,15 +27253,13 @@ public class Airavata {
       org.apache.airavata.model.workspace.Gateway success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
+      org.apache.airavata.model.error.AiravataSystemException ase)
     {
       this();
       this.success = success;
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
-      this.ae = ae;
     }
 
     /**
@@ -27557,9 +27278,6 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
     }
 
     public getGateway_result deepCopy() {
@@ -27572,7 +27290,6 @@ public class Airavata {
       this.ire = null;
       this.ace = null;
       this.ase = null;
-      this.ae = null;
     }
 
     public org.apache.airavata.model.workspace.Gateway getSuccess() {
@@ -27671,30 +27388,6 @@ public class Airavata {
       }
     }
 
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public getGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -27729,14 +27422,6 @@ public class Airavata {
         }
         break;
 
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
       }
     }
 
@@ -27754,9 +27439,6 @@ public class Airavata {
       case ASE:
         return getAse();
 
-      case AE:
-        return getAe();
-
       }
       throw new IllegalStateException();
     }
@@ -27776,8 +27458,6 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
-      case AE:
-        return isSetAe();
       }
       throw new IllegalStateException();
     }
@@ -27831,15 +27511,6 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
       return true;
     }
 
@@ -27867,11 +27538,6 @@ public class Airavata {
       if (present_ase)
         list.add(ase);
 
-      boolean present_ae = true && (isSetAe());
-      list.add(present_ae);
-      if (present_ae)
-        list.add(ae);
-
       return list.hashCode();
     }
 
@@ -27923,16 +27589,6 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -27984,14 +27640,6 @@ public class Airavata {
         sb.append(this.ase);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -28074,15 +27722,6 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -28118,11 +27757,6 @@ public class Airavata {
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -28153,10 +27787,7 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        if (struct.isSetAe()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
+        oprot.writeBitSet(optionals, 4);
         if (struct.isSetSuccess()) {
           struct.success.write(oprot);
         }
@@ -28169,15 +27800,12 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, getGateway_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(5);
+        BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           struct.success = new org.apache.airavata.model.workspace.Gateway();
           struct.success.read(iprot);
@@ -28198,11 +27826,6 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
-        if (incoming.get(4)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
       }
     }
 
@@ -28675,7 +28298,6 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -28687,15 +28309,13 @@ public class Airavata {
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
+      ASE((short)3, "ase");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -28718,8 +28338,6 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
-          case 4: // AE
-            return AE;
           default:
             return null;
         }
@@ -28773,8 +28391,6 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteGateway_result.class, metaDataMap);
     }
@@ -28786,8 +28402,7 @@ public class Airavata {
       boolean success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
+      org.apache.airavata.model.error.AiravataSystemException ase)
     {
       this();
       this.success = success;
@@ -28795,7 +28410,6 @@ public class Airavata {
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
-      this.ae = ae;
     }
 
     /**
@@ -28813,9 +28427,6 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
-      if (other.isSetAe()) {
-        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
     }
 
     public deleteGateway_result deepCopy() {
@@ -28829,7 +28440,6 @@ public class Airavata {
       this.ire = null;
       this.ace = null;
       this.ase = null;
-      this.ae = null;
     }
 
     public boolean isSuccess() {
@@ -28927,30 +28537,6 @@ public class Airavata {
       }
     }
 
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public deleteGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -28985,14 +28571,6 @@ public class Airavata {
         }
         break;
 
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
       }
     }
 
@@ -29010,9 +28588,6 @@ public class Airavata {
       case ASE:
         return getAse();
 
-      case AE:
-        return getAe();
-
       }
       throw new IllegalStateException();
     }
@@ -29032,8 +28607,6 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
-      case AE:
-        return isSetAe();
       }
       throw new IllegalStateException();
     }
@@ -29087,15 +28660,6 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
       return true;
     }
 
@@ -29123,11 +28687,6 @@ public class Airavata {
       if (present_ase)
         list.add(ase);
 
-      boolean present_ae = true && (isSetAe());
-      list.add(present_ae);
-      if (present_ae)
-        list.add(ae);
-
       return list.hashCode();
     }
 
@@ -29179,16 +28738,6 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -29236,14 +28785,6 @@ public class Airavata {
         sb.append(this.ase);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -29324,15 +28865,6 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -29368,11 +28900,6 @@ public class Airavata {
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -29403,10 +28930,7 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        if (struct.isSetAe()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
+        oprot.writeBitSet(optionals, 4);
         if (struct.isSetSuccess()) {
           oprot.writeBool(struct.success);
         }
@@ -29419,15 +28943,12 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, deleteGateway_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(5);
+        BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           struct.success = iprot.readBool();
           struct.setSuccessIsSet(true);
@@ -29447,11 +28968,6 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
-        if (incoming.get(4)) {
-          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
     

<TRUNCATED>

[20/44] airavata git commit: changed createProject method and added internal private method for isGatewayExist, to avoid chained API calls.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index 99155cb..e8783f5 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -52,19 +52,25 @@ class Iface:
     """
     pass
 
-  def deleteGateway(self, gatewayId):
+  def deleteGateway(self, authzToken, gatewayId):
     """
     Parameters:
+     - authzToken
      - gatewayId
     """
     pass
 
-  def getAllGateways(self):
+  def getAllGateways(self, authzToken):
+    """
+    Parameters:
+     - authzToken
+    """
     pass
 
-  def isGatewayExist(self, gatewayId):
+  def isGatewayExist(self, authzToken, gatewayId):
     """
     Parameters:
+     - authzToken
      - gatewayId
     """
     pass
@@ -106,7 +112,7 @@ class Iface:
     """
     pass
 
-  def createProject(self, gatewayId, project):
+  def createProject(self, authzToken, gatewayId, project):
     """
     Creates a Project with basic metadata.
        A Project is a container of experiments.
@@ -119,6 +125,7 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - project
     """
@@ -2325,17 +2332,19 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getGateway failed: unknown result");
 
-  def deleteGateway(self, gatewayId):
+  def deleteGateway(self, authzToken, gatewayId):
     """
     Parameters:
+     - authzToken
      - gatewayId
     """
-    self.send_deleteGateway(gatewayId)
+    self.send_deleteGateway(authzToken, gatewayId)
     return self.recv_deleteGateway()
 
-  def send_deleteGateway(self, gatewayId):
+  def send_deleteGateway(self, authzToken, gatewayId):
     self._oprot.writeMessageBegin('deleteGateway', TMessageType.CALL, self._seqid)
     args = deleteGateway_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -2360,15 +2369,22 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "deleteGateway failed: unknown result");
 
-  def getAllGateways(self):
-    self.send_getAllGateways()
+  def getAllGateways(self, authzToken):
+    """
+    Parameters:
+     - authzToken
+    """
+    self.send_getAllGateways(authzToken)
     return self.recv_getAllGateways()
 
-  def send_getAllGateways(self):
+  def send_getAllGateways(self, authzToken):
     self._oprot.writeMessageBegin('getAllGateways', TMessageType.CALL, self._seqid)
     args = getAllGateways_args()
+    args.authzToken = authzToken
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
@@ -2392,19 +2408,23 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllGateways failed: unknown result");
 
-  def isGatewayExist(self, gatewayId):
+  def isGatewayExist(self, authzToken, gatewayId):
     """
     Parameters:
+     - authzToken
      - gatewayId
     """
-    self.send_isGatewayExist(gatewayId)
+    self.send_isGatewayExist(authzToken, gatewayId)
     return self.recv_isGatewayExist()
 
-  def send_isGatewayExist(self, gatewayId):
+  def send_isGatewayExist(self, authzToken, gatewayId):
     self._oprot.writeMessageBegin('isGatewayExist', TMessageType.CALL, self._seqid)
     args = isGatewayExist_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -2429,6 +2449,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "isGatewayExist failed: unknown result");
 
   def generateAndRegisterSSHKeys(self, gatewayId, userName):
@@ -2559,7 +2581,7 @@ class Client(Iface):
       raise result.ase
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserSSHPubKeys failed: unknown result");
 
-  def createProject(self, gatewayId, project):
+  def createProject(self, authzToken, gatewayId, project):
     """
     Creates a Project with basic metadata.
        A Project is a container of experiments.
@@ -2572,15 +2594,17 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - project
     """
-    self.send_createProject(gatewayId, project)
+    self.send_createProject(authzToken, gatewayId, project)
     return self.recv_createProject()
 
-  def send_createProject(self, gatewayId, project):
+  def send_createProject(self, authzToken, gatewayId, project):
     self._oprot.writeMessageBegin('createProject', TMessageType.CALL, self._seqid)
     args = createProject_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.project = project
     args.write(self._oprot)
@@ -2606,6 +2630,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "createProject failed: unknown result");
 
   def updateProject(self, projectId, updatedProject):
@@ -8467,13 +8493,15 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = deleteGateway_result()
     try:
-      result.success = self._handler.deleteGateway(args.gatewayId)
+      result.success = self._handler.deleteGateway(args.authzToken, args.gatewayId)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
+      result.ae = ae
     oprot.writeMessageBegin("deleteGateway", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8485,13 +8513,15 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = getAllGateways_result()
     try:
-      result.success = self._handler.getAllGateways()
+      result.success = self._handler.getAllGateways(args.authzToken)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
+      result.ae = ae
     oprot.writeMessageBegin("getAllGateways", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8503,13 +8533,15 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = isGatewayExist_result()
     try:
-      result.success = self._handler.isGatewayExist(args.gatewayId)
+      result.success = self._handler.isGatewayExist(args.authzToken, args.gatewayId)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
+      result.ae = ae
     oprot.writeMessageBegin("isGatewayExist", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8575,13 +8607,15 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = createProject_result()
     try:
-      result.success = self._handler.createProject(args.gatewayId, args.project)
+      result.success = self._handler.createProject(args.authzToken, args.gatewayId, args.project)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
+    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
+      result.ae = ae
     oprot.writeMessageBegin("createProject", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -11502,15 +11536,18 @@ class getGateway_result:
 class deleteGateway_args:
   """
   Attributes:
+   - authzToken
    - gatewayId
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'gatewayId', None, None, ), # 1
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
   )
 
-  def __init__(self, gatewayId=None,):
+  def __init__(self, authzToken=None, gatewayId=None,):
+    self.authzToken = authzToken
     self.gatewayId = gatewayId
 
   def read(self, iprot):
@@ -11523,6 +11560,12 @@ class deleteGateway_args:
       if ftype == TType.STOP:
         break
       if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
         if ftype == TType.STRING:
           self.gatewayId = iprot.readString();
         else:
@@ -11537,14 +11580,20 @@ class deleteGateway_args:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('deleteGateway_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
     if self.gatewayId is not None:
-      oprot.writeFieldBegin('gatewayId', TType.STRING, 1)
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
       oprot.writeString(self.gatewayId)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.gatewayId is None:
       raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
     return
@@ -11552,6 +11601,7 @@ class deleteGateway_args:
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.gatewayId)
     return value
 
@@ -11573,6 +11623,7 @@ class deleteGateway_result:
    - ire
    - ace
    - ase
+   - ae
   """
 
   thrift_spec = (
@@ -11580,13 +11631,15 @@ class deleteGateway_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
+    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -11620,6 +11673,12 @@ class deleteGateway_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11646,6 +11705,10 @@ class deleteGateway_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11659,6 +11722,7 @@ class deleteGateway_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -11673,10 +11737,19 @@ class deleteGateway_result:
     return not (self == other)
 
 class getAllGateways_args:
+  """
+  Attributes:
+   - authzToken
+  """
 
   thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
   )
 
+  def __init__(self, authzToken=None,):
+    self.authzToken = authzToken
+
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
       fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
@@ -11686,6 +11759,12 @@ class getAllGateways_args:
       (fname, ftype, fid) = iprot.readFieldBegin()
       if ftype == TType.STOP:
         break
+      if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11696,15 +11775,22 @@ class getAllGateways_args:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('getAllGateways_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     return
 
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.authzToken)
     return value
 
   def __repr__(self):
@@ -11725,6 +11811,7 @@ class getAllGateways_result:
    - ire
    - ace
    - ase
+   - ae
   """
 
   thrift_spec = (
@@ -11732,13 +11819,15 @@ class getAllGateways_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
+    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -11778,6 +11867,12 @@ class getAllGateways_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11807,6 +11902,10 @@ class getAllGateways_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11820,6 +11919,7 @@ class getAllGateways_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -11836,15 +11936,18 @@ class getAllGateways_result:
 class isGatewayExist_args:
   """
   Attributes:
+   - authzToken
    - gatewayId
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'gatewayId', None, None, ), # 1
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
   )
 
-  def __init__(self, gatewayId=None,):
+  def __init__(self, authzToken=None, gatewayId=None,):
+    self.authzToken = authzToken
     self.gatewayId = gatewayId
 
   def read(self, iprot):
@@ -11857,6 +11960,12 @@ class isGatewayExist_args:
       if ftype == TType.STOP:
         break
       if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
         if ftype == TType.STRING:
           self.gatewayId = iprot.readString();
         else:
@@ -11871,14 +11980,20 @@ class isGatewayExist_args:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('isGatewayExist_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
     if self.gatewayId is not None:
-      oprot.writeFieldBegin('gatewayId', TType.STRING, 1)
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
       oprot.writeString(self.gatewayId)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.gatewayId is None:
       raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
     return
@@ -11886,6 +12001,7 @@ class isGatewayExist_args:
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.gatewayId)
     return value
 
@@ -11907,6 +12023,7 @@ class isGatewayExist_result:
    - ire
    - ace
    - ase
+   - ae
   """
 
   thrift_spec = (
@@ -11914,13 +12031,15 @@ class isGatewayExist_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
+    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -11954,6 +12073,12 @@ class isGatewayExist_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11980,6 +12105,10 @@ class isGatewayExist_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11993,6 +12122,7 @@ class isGatewayExist_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -12553,17 +12683,20 @@ class getAllUserSSHPubKeys_result:
 class createProject_args:
   """
   Attributes:
+   - authzToken
    - gatewayId
    - project
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'gatewayId', None, None, ), # 1
-    (2, TType.STRUCT, 'project', (apache.airavata.model.workspace.ttypes.Project, apache.airavata.model.workspace.ttypes.Project.thrift_spec), None, ), # 2
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
+    (3, TType.STRUCT, 'project', (apache.airavata.model.workspace.ttypes.Project, apache.airavata.model.workspace.ttypes.Project.thrift_spec), None, ), # 3
   )
 
-  def __init__(self, gatewayId=None, project=None,):
+  def __init__(self, authzToken=None, gatewayId=None, project=None,):
+    self.authzToken = authzToken
     self.gatewayId = gatewayId
     self.project = project
 
@@ -12577,11 +12710,17 @@ class createProject_args:
       if ftype == TType.STOP:
         break
       if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
         if ftype == TType.STRING:
           self.gatewayId = iprot.readString();
         else:
           iprot.skip(ftype)
-      elif fid == 2:
+      elif fid == 3:
         if ftype == TType.STRUCT:
           self.project = apache.airavata.model.workspace.ttypes.Project()
           self.project.read(iprot)
@@ -12597,18 +12736,24 @@ class createProject_args:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('createProject_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
     if self.gatewayId is not None:
-      oprot.writeFieldBegin('gatewayId', TType.STRING, 1)
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
       oprot.writeString(self.gatewayId)
       oprot.writeFieldEnd()
     if self.project is not None:
-      oprot.writeFieldBegin('project', TType.STRUCT, 2)
+      oprot.writeFieldBegin('project', TType.STRUCT, 3)
       self.project.write(oprot)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.gatewayId is None:
       raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
     if self.project is None:
@@ -12618,6 +12763,7 @@ class createProject_args:
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.gatewayId)
     value = (value * 31) ^ hash(self.project)
     return value
@@ -12640,6 +12786,7 @@ class createProject_result:
    - ire
    - ace
    - ase
+   - ae
   """
 
   thrift_spec = (
@@ -12647,13 +12794,15 @@ class createProject_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
+    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -12687,6 +12836,12 @@ class createProject_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
+          self.ae.read(iprot)
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -12713,6 +12868,10 @@ class createProject_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
+    if self.ae is not None:
+      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
+      self.ae.write(oprot)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -12726,6 +12885,7 @@ class createProject_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
+    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
index 8f3b17e..0fa3278 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchBES.java
@@ -111,13 +111,13 @@ public class CreateLaunchBES {
             Gateway gateway = airavataClient.getGateway(new AuthzToken(""), gatewayId);
             gateway.setDomain("testDomain");
             airavataClient.updateGateway(new AuthzToken(""), gatewayId, gateway);
-            List<Gateway> allGateways = airavataClient.getAllGateways();
+            List<Gateway> allGateways = airavataClient.getAllGateways(new AuthzToken(""));
             System.out.println(allGateways.size());
-            if (airavataClient.isGatewayExist(gatewayId)) {
+            if (airavataClient.isGatewayExist(new AuthzToken(""), gatewayId)) {
                 Gateway gateway1 = airavataClient.getGateway(new AuthzToken(""), gatewayId);
                 System.out.println(gateway1.getGatewayName());
             }
-            boolean b = airavataClient.deleteGateway("testGatewayId2");
+            boolean b = airavataClient.deleteGateway(new AuthzToken(""), "testGatewayId2");
             System.out.println(b);
         } catch (AiravataSystemException e) {
             e.printStackTrace();

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
index 76e1737..0a73222 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
@@ -137,13 +137,13 @@ public class CreateLaunchExperiment {
             Gateway gateway = airavataClient.getGateway(new AuthzToken(""), gatewayId);
             gateway.setDomain("testDomain");
             airavataClient.updateGateway(new AuthzToken(""), gatewayId, gateway);
-            List<Gateway> allGateways = airavataClient.getAllGateways();
+            List<Gateway> allGateways = airavataClient.getAllGateways(new AuthzToken(""));
             System.out.println(allGateways.size());
-            if (airavataClient.isGatewayExist(gatewayId)) {
+            if (airavataClient.isGatewayExist(new AuthzToken(""), gatewayId)) {
                 Gateway gateway1 = airavataClient.getGateway(new AuthzToken(""), gatewayId);
                 System.out.println(gateway1.getGatewayName());
             }
-            boolean b = airavataClient.deleteGateway("testGatewayId2");
+            boolean b = airavataClient.deleteGateway(new AuthzToken(""), "testGatewayId2");
             System.out.println(b);
         } catch (AiravataSystemException e) {
             e.printStackTrace();
@@ -270,7 +270,7 @@ public class CreateLaunchExperiment {
             List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
 
             Project project = ProjectModelUtil.createProject("default", "admin", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, projectId, "admin", "echoExperiment",
@@ -879,7 +879,7 @@ public class CreateLaunchExperiment {
             List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
 
             Project project = ProjectModelUtil.createProject("project1", "admin", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, projectId, "admin", "echoExperiment",
@@ -974,7 +974,7 @@ public class CreateLaunchExperiment {
             List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
 
             Project project = ProjectModelUtil.createProject("default", "admin", "test project");
-	        String projectId = client.createProject(DEFAULT_GATEWAY, project);
+	        String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
             ExperimentModel simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY,projectId, "admin", "echoExperiment", "SimpleEcho3", echoAppId, exInputs);
@@ -1093,7 +1093,7 @@ public class CreateLaunchExperiment {
 
 
             Project project = ProjectModelUtil.createProject("default", "lahiru", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, projectId, "lahiru",
@@ -1140,7 +1140,7 @@ public class CreateLaunchExperiment {
             }
             List<OutputDataObjectType> exOut = client.getApplicationOutputs(echoAppId);
             Project project = ProjectModelUtil.createProject("default", "lg11w", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
 
 	        ExperimentModel simpleExperiment =
@@ -1268,7 +1268,7 @@ public class CreateLaunchExperiment {
             List<OutputDataObjectType> exOut = client.getApplicationOutputs(amberAppId);
 
             Project project = ProjectModelUtil.createProject("default", "admin", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, projectId, "admin",
@@ -1334,7 +1334,7 @@ public class CreateLaunchExperiment {
 
 
             Project project = ProjectModelUtil.createProject("default", "admin", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, projectId, "admin",
@@ -1398,7 +1398,7 @@ public class CreateLaunchExperiment {
             List<OutputDataObjectType> exOut = client.getApplicationOutputs(amberAppId);
 
             Project project = ProjectModelUtil.createProject("default", "admin", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, projectId, "admin",

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
index 9d82fc8..61415bb 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperimentUS3.java
@@ -31,6 +31,7 @@ import org.apache.airavata.model.error.InvalidRequestException;
 import org.apache.airavata.model.experiment.ExperimentModel;
 import org.apache.airavata.model.experiment.UserConfigurationDataModel;
 import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel;
+import org.apache.airavata.model.security.AuthzToken;
 import org.apache.airavata.model.util.ExperimentModelUtil;
 import org.apache.airavata.model.util.ProjectModelUtil;
 import org.apache.airavata.model.workspace.Project;
@@ -160,7 +161,7 @@ public class CreateLaunchExperimentUS3 {
             exOut.add(output);
 
             Project project = ProjectModelUtil.createProject("project1", "admin", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
 	        ExperimentModel simpleExperiment =
 			        ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, projectId, "admin",
@@ -228,7 +229,7 @@ public class CreateLaunchExperimentUS3 {
 //            exOut.add(output2);
 
             Project project = ProjectModelUtil.createProject("ultrascan", "ultrascan", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
 	        ExperimentModel simpleExperiment = ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, projectId,
 			        "ultrascan", "US3ExperimentTrestles", "US3AppTrestles",
@@ -302,7 +303,7 @@ public class CreateLaunchExperimentUS3 {
 //            exOut.add(output2);
 
             Project project = ProjectModelUtil.createProject("project1", "admin", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
 	        ExperimentModel simpleExperiment = ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY, projectId,
 			        "ultrascan", "US3ExperimentStampede", "US3AppStampede",
@@ -504,7 +505,7 @@ public class CreateLaunchExperimentUS3 {
             exOut.add(output);
 
             Project project = ProjectModelUtil.createProject("project1", "admin", "test project");
-            String projectId = client.createProject(DEFAULT_GATEWAY, project);
+            String projectId = client.createProject(new AuthzToken(""), DEFAULT_GATEWAY, project);
 
             ExperimentModel simpleExperiment =
                     ExperimentModelUtil.createSimpleExperiment(DEFAULT_GATEWAY,projectId, "admin", "US3EchoExperimentStatus", "US3EchoStampede", "US3EchoStampede", exInputs);

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
index ab9c6af..0628e03 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class Workflow implements org.apache.thrift.TBase<Workflow, Workflow._Fields>, java.io.Serializable, Cloneable, Comparable<Workflow> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Workflow");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index 3daa19d..2799e44 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *  assigns to the environment variable "NAME" the value
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ApplicationDeploymentDescription implements org.apache.thrift.TBase<ApplicationDeploymentDescription, ApplicationDeploymentDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationDeploymentDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationDeploymentDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
index 6674522..39e2167 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
  *    Descriprion of the Module
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ApplicationModule implements org.apache.thrift.TBase<ApplicationModule, ApplicationModule._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationModule> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationModule");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
index 00c32ac..0202bb8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * value:
  *   Value of the environment variable to set
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class SetEnvPaths implements org.apache.thrift.TBase<SetEnvPaths, SetEnvPaths._Fields>, java.io.Serializable, Cloneable, Comparable<SetEnvPaths> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SetEnvPaths");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
index 4b032d1..a4cd0c4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *   Outputs generated from the application
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ApplicationInterfaceDescription implements org.apache.thrift.TBase<ApplicationInterfaceDescription, ApplicationInterfaceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationInterfaceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationInterfaceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index 433a9dc..a61a4b7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * maxRunTime:
  *  Maximum allowed run time in hours.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueue._Fields>, java.io.Serializable, Cloneable, Comparable<BatchQueue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchQueue");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
index 80d7a40..05ecef1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmission, CloudJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<CloudJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloudJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index 7a4b3b1..86d1534 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -80,7 +80,7 @@ import org.slf4j.LoggerFactory;
  *  Map of file systems type and the path.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ComputeResourceDescription implements org.apache.thrift.TBase<ComputeResourceDescription, ComputeResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DataMovementInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DataMovementInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DataMovementInterface.java
index 9ba2fec..9301399 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DataMovementInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DataMovementInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  *   Lower the numerical number, higher the priority
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class DataMovementInterface implements org.apache.thrift.TBase<DataMovementInterface, DataMovementInterface._Fields>, java.io.Serializable, Cloneable, Comparable<DataMovementInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataMovementInterface");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
index 797c3cd..2c45163 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class GlobusJobSubmission implements org.apache.thrift.TBase<GlobusJobSubmission, GlobusJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<GlobusJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GlobusJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GridFTPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GridFTPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GridFTPDataMovement.java
index 9a2ae11..3f122ce 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GridFTPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GridFTPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class GridFTPDataMovement implements org.apache.thrift.TBase<GridFTPDataMovement, GridFTPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<GridFTPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GridFTPDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
index 4336745..042734c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  *   Lower the numerical number, higher the priority
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class JobSubmissionInterface implements org.apache.thrift.TBase<JobSubmissionInterface, JobSubmissionInterface._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionInterface");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALDataMovement.java
index 5775113..8a6bd2b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-defualt port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class LOCALDataMovement implements org.apache.thrift.TBase<LOCALDataMovement, LOCALDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
index ce7e6a7..2bcdd06 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class LOCALSubmission implements org.apache.thrift.TBase<LOCALSubmission, LOCALSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
index ff1137c..871bc52 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
  *  An enumeration of commonly used manager commands.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ResourceJobManager implements org.apache.thrift.TBase<ResourceJobManager, ResourceJobManager._Fields>, java.io.Serializable, Cloneable, Comparable<ResourceJobManager> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ResourceJobManager");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SCPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SCPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SCPDataMovement.java
index 35cfc2c..f10b68f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SCPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SCPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class SCPDataMovement implements org.apache.thrift.TBase<SCPDataMovement, SCPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<SCPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SCPDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
index d295c46..7ee5438 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class SSHJobSubmission implements org.apache.thrift.TBase<SSHJobSubmission, SSHJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<SSHJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreDataMovement.java
index ca53744..148ee79 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreDataMovement.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * unicoreEndPointURL:
  *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class UnicoreDataMovement implements org.apache.thrift.TBase<UnicoreDataMovement, UnicoreDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
index f4bd74a..b135a17 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
@@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory;
  * authenticationMode
  *  The authenticationMode defines the way certificate is fetched.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class UnicoreJobSubmission implements org.apache.thrift.TBase<UnicoreJobSubmission, UnicoreJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
index 300dc64..6189921 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
@@ -81,7 +81,7 @@ import org.slf4j.LoggerFactory;
  *    account to be used has to be added to the allocation.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ComputeResourcePreference implements org.apache.thrift.TBase<ComputeResourcePreference, ComputeResourcePreference._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourcePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourcePreference");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
index afe643f..69b22b2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
@@ -62,7 +62,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class GatewayResourceProfile implements org.apache.thrift.TBase<GatewayResourceProfile, GatewayResourceProfile._Fields>, java.io.Serializable, Cloneable, Comparable<GatewayResourceProfile> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GatewayResourceProfile");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
index 687decf..798b04f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObjectType, InputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<InputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InputDataObjectType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
index 8923aed..9cfc956 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataObjectType, OutputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<OutputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputDataObjectType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
index 252ca83..51a0d56 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ErrorModel implements org.apache.thrift.TBase<ErrorModel, ErrorModel._Fields>, java.io.Serializable, Cloneable, Comparable<ErrorModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ErrorModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
index 545f97b..c328ff5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
index 7cff591..81d2561 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * during the experiment launch operation
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
index 3c4ecf6..1adfbe1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
  * parameter:  If the error applied to a particular input parameter, this will
  *   indicate which parameter.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class AiravataClientException extends TException implements org.apache.thrift.TBase<AiravataClientException, AiravataClientException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataClientException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataClientException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
index 801d953..bdb4b24 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  * message:  This may contain additional information about the error
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class AiravataSystemException extends TException implements org.apache.thrift.TBase<AiravataSystemException, AiravataSystemException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataSystemException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataSystemException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
index 05e6b99..3492c49 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the cause of the authorization failure.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class AuthenticationException extends TException implements org.apache.thrift.TBase<AuthenticationException, AuthenticationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthenticationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthenticationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
index 4203db5..187e202 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the authorization failure message
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class AuthorizationException extends TException implements org.apache.thrift.TBase<AuthorizationException, AuthorizationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthorizationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthorizationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
index 8a458f5..27171d9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * 
  * key:  The value passed from the client in the identifier, which was not found.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ExperimentNotFoundException extends TException implements org.apache.thrift.TBase<ExperimentNotFoundException, ExperimentNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentNotFoundException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
index fbc9460..30d94e9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the associated error message.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class InvalidRequestException extends TException implements org.apache.thrift.TBase<InvalidRequestException, InvalidRequestException._Fields>, java.io.Serializable, Cloneable, Comparable<InvalidRequestException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidRequestException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
index f136313..4ceb17c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class LaunchValidationException extends TException implements org.apache.thrift.TBase<LaunchValidationException, LaunchValidationException._Fields>, java.io.Serializable, Cloneable, Comparable<LaunchValidationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LaunchValidationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
index a842614..2cdbe27 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 2:  optional  string key
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ProjectNotFoundException extends TException implements org.apache.thrift.TBase<ProjectNotFoundException, ProjectNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ProjectNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProjectNotFoundException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
index 4b9d30c..4d478d4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
 /**
  * This exception is thrown when RPC timeout gets exceeded.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class TimedOutException extends TException implements org.apache.thrift.TBase<TimedOutException, TimedOutException._Fields>, java.io.Serializable, Cloneable, Comparable<TimedOutException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TimedOutException");
 


[16/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index 8ae2a78..a063250 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -310,6 +310,7 @@ uint32_t Airavata_addGateway_args::read(::apache::thrift::protocol::TProtocol* i
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gateway = false;
 
   while (true)
@@ -322,6 +323,14 @@ uint32_t Airavata_addGateway_args::read(::apache::thrift::protocol::TProtocol* i
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->gateway.read(iprot);
           isset_gateway = true;
         } else {
@@ -337,6 +346,8 @@ uint32_t Airavata_addGateway_args::read(::apache::thrift::protocol::TProtocol* i
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gateway)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -347,7 +358,11 @@ uint32_t Airavata_addGateway_args::write(::apache::thrift::protocol::TProtocol*
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_addGateway_args");
 
-  xfer += oprot->writeFieldBegin("gateway", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gateway", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += this->gateway.write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -367,7 +382,11 @@ uint32_t Airavata_addGateway_pargs::write(::apache::thrift::protocol::TProtocol*
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_addGateway_pargs");
 
-  xfer += oprot->writeFieldBegin("gateway", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gateway", ::apache::thrift::protocol::T_STRUCT, 2);
   xfer += (*(this->gateway)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -434,6 +453,14 @@ uint32_t Airavata_addGateway_result::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -468,6 +495,10 @@ uint32_t Airavata_addGateway_result::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -531,6 +562,14 @@ uint32_t Airavata_addGateway_presult::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -559,6 +598,7 @@ uint32_t Airavata_updateGateway_args::read(::apache::thrift::protocol::TProtocol
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
   bool isset_updatedGateway = false;
 
@@ -571,6 +611,14 @@ uint32_t Airavata_updateGateway_args::read(::apache::thrift::protocol::TProtocol
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -578,7 +626,7 @@ uint32_t Airavata_updateGateway_args::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
-      case 2:
+      case 3:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->updatedGateway.read(iprot);
           isset_updatedGateway = true;
@@ -595,6 +643,8 @@ uint32_t Airavata_updateGateway_args::read(::apache::thrift::protocol::TProtocol
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_updatedGateway)
@@ -607,11 +657,15 @@ uint32_t Airavata_updateGateway_args::write(::apache::thrift::protocol::TProtoco
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_updateGateway_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("updatedGateway", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += oprot->writeFieldBegin("updatedGateway", ::apache::thrift::protocol::T_STRUCT, 3);
   xfer += this->updatedGateway.write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -631,11 +685,15 @@ uint32_t Airavata_updateGateway_pargs::write(::apache::thrift::protocol::TProtoc
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_updateGateway_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
-  xfer += oprot->writeFieldBegin("updatedGateway", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += oprot->writeFieldBegin("updatedGateway", ::apache::thrift::protocol::T_STRUCT, 3);
   xfer += (*(this->updatedGateway)).write(oprot);
   xfer += oprot->writeFieldEnd();
 
@@ -694,6 +752,14 @@ uint32_t Airavata_updateGateway_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -724,6 +790,10 @@ uint32_t Airavata_updateGateway_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -779,6 +849,14 @@ uint32_t Airavata_updateGateway_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -807,6 +885,7 @@ uint32_t Airavata_getGateway_args::read(::apache::thrift::protocol::TProtocol* i
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_authzToken = false;
   bool isset_gatewayId = false;
 
   while (true)
@@ -818,6 +897,14 @@ uint32_t Airavata_getGateway_args::read(::apache::thrift::protocol::TProtocol* i
     switch (fid)
     {
       case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->gatewayId);
           isset_gatewayId = true;
@@ -834,6 +921,8 @@ uint32_t Airavata_getGateway_args::read(::apache::thrift::protocol::TProtocol* i
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_gatewayId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
@@ -844,7 +933,11 @@ uint32_t Airavata_getGateway_args::write(::apache::thrift::protocol::TProtocol*
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_getGateway_args");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString(this->gatewayId);
   xfer += oprot->writeFieldEnd();
 
@@ -864,7 +957,11 @@ uint32_t Airavata_getGateway_pargs::write(::apache::thrift::protocol::TProtocol*
   oprot->incrementRecursionDepth();
   xfer += oprot->writeStructBegin("Airavata_getGateway_pargs");
 
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
   xfer += oprot->writeString((*(this->gatewayId)));
   xfer += oprot->writeFieldEnd();
 
@@ -931,6 +1028,14 @@ uint32_t Airavata_getGateway_result::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -965,6 +1070,10 @@ uint32_t Airavata_getGateway_result::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -1028,6 +1137,14 @@ uint32_t Airavata_getGateway_presult::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -35260,18 +35377,19 @@ void AiravataClient::recv_getAPIVersion(std::string& _return)
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAPIVersion failed: unknown result");
 }
 
-void AiravataClient::addGateway(std::string& _return, const  ::apache::airavata::model::workspace::Gateway& gateway)
+void AiravataClient::addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway)
 {
-  send_addGateway(gateway);
+  send_addGateway(authzToken, gateway);
   recv_addGateway(_return);
 }
 
-void AiravataClient::send_addGateway(const  ::apache::airavata::model::workspace::Gateway& gateway)
+void AiravataClient::send_addGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("addGateway", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_addGateway_pargs args;
+  args.authzToken = &authzToken;
   args.gateway = &gateway;
   args.write(oprot_);
 
@@ -35324,21 +35442,25 @@ void AiravataClient::recv_addGateway(std::string& _return)
   if (result.__isset.ase) {
     throw result.ase;
   }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "addGateway failed: unknown result");
 }
 
-void AiravataClient::updateGateway(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway)
+void AiravataClient::updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway)
 {
-  send_updateGateway(gatewayId, updatedGateway);
+  send_updateGateway(authzToken, gatewayId, updatedGateway);
   recv_updateGateway();
 }
 
-void AiravataClient::send_updateGateway(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway)
+void AiravataClient::send_updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("updateGateway", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_updateGateway_pargs args;
+  args.authzToken = &authzToken;
   args.gatewayId = &gatewayId;
   args.updatedGateway = &updatedGateway;
   args.write(oprot_);
@@ -35387,21 +35509,25 @@ void AiravataClient::recv_updateGateway()
   if (result.__isset.ase) {
     throw result.ase;
   }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
   return;
 }
 
-void AiravataClient::getGateway( ::apache::airavata::model::workspace::Gateway& _return, const std::string& gatewayId)
+void AiravataClient::getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
 {
-  send_getGateway(gatewayId);
+  send_getGateway(authzToken, gatewayId);
   recv_getGateway(_return);
 }
 
-void AiravataClient::send_getGateway(const std::string& gatewayId)
+void AiravataClient::send_getGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getGateway", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_getGateway_pargs args;
+  args.authzToken = &authzToken;
   args.gatewayId = &gatewayId;
   args.write(oprot_);
 
@@ -35454,6 +35580,9 @@ void AiravataClient::recv_getGateway( ::apache::airavata::model::workspace::Gate
   if (result.__isset.ase) {
     throw result.ase;
   }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getGateway failed: unknown result");
 }
 
@@ -43909,7 +44038,7 @@ void AiravataProcessor::process_addGateway(int32_t seqid, ::apache::thrift::prot
 
   Airavata_addGateway_result result;
   try {
-    iface_->addGateway(result.success, args.gateway);
+    iface_->addGateway(result.success, args.authzToken, args.gateway);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -43920,6 +44049,9 @@ void AiravataProcessor::process_addGateway(int32_t seqid, ::apache::thrift::prot
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
+  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
+    result.ae = ae;
+    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.addGateway");
@@ -43972,7 +44104,7 @@ void AiravataProcessor::process_updateGateway(int32_t seqid, ::apache::thrift::p
 
   Airavata_updateGateway_result result;
   try {
-    iface_->updateGateway(args.gatewayId, args.updatedGateway);
+    iface_->updateGateway(args.authzToken, args.gatewayId, args.updatedGateway);
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
     result.__isset.ire = true;
@@ -43982,6 +44114,9 @@ void AiravataProcessor::process_updateGateway(int32_t seqid, ::apache::thrift::p
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
+  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
+    result.ae = ae;
+    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.updateGateway");
@@ -44034,7 +44169,7 @@ void AiravataProcessor::process_getGateway(int32_t seqid, ::apache::thrift::prot
 
   Airavata_getGateway_result result;
   try {
-    iface_->getGateway(result.success, args.gatewayId);
+    iface_->getGateway(result.success, args.authzToken, args.gatewayId);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -44045,6 +44180,9 @@ void AiravataProcessor::process_getGateway(int32_t seqid, ::apache::thrift::prot
   } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
+  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
+    result.ae = ae;
+    result.__isset.ae = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.getGateway");

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 250e99f..2aaf620 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -39,9 +39,9 @@ class AiravataIf {
    * @param authzToken
    */
   virtual void getAPIVersion(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken) = 0;
-  virtual void addGateway(std::string& _return, const  ::apache::airavata::model::workspace::Gateway& gateway) = 0;
-  virtual void updateGateway(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway) = 0;
-  virtual void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const std::string& gatewayId) = 0;
+  virtual void addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway) = 0;
+  virtual void updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway) = 0;
+  virtual void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
   virtual bool deleteGateway(const std::string& gatewayId) = 0;
   virtual void getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return) = 0;
   virtual bool isGatewayExist(const std::string& gatewayId) = 0;
@@ -1805,13 +1805,13 @@ class AiravataNull : virtual public AiravataIf {
   void getAPIVersion(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */) {
     return;
   }
-  void addGateway(std::string& /* _return */, const  ::apache::airavata::model::workspace::Gateway& /* gateway */) {
+  void addGateway(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const  ::apache::airavata::model::workspace::Gateway& /* gateway */) {
     return;
   }
-  void updateGateway(const std::string& /* gatewayId */, const  ::apache::airavata::model::workspace::Gateway& /* updatedGateway */) {
+  void updateGateway(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const  ::apache::airavata::model::workspace::Gateway& /* updatedGateway */) {
     return;
   }
-  void getGateway( ::apache::airavata::model::workspace::Gateway& /* _return */, const std::string& /* gatewayId */) {
+  void getGateway( ::apache::airavata::model::workspace::Gateway& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */) {
     return;
   }
   bool deleteGateway(const std::string& /* gatewayId */) {
@@ -2370,8 +2370,8 @@ class Airavata_getAPIVersion_presult {
 class Airavata_addGateway_args {
  public:
 
-  static const char* ascii_fingerprint; // = "D64A104FD7F91B8A042C379A972C0256";
-  static const uint8_t binary_fingerprint[16]; // = {0xD6,0x4A,0x10,0x4F,0xD7,0xF9,0x1B,0x8A,0x04,0x2C,0x37,0x9A,0x97,0x2C,0x02,0x56};
+  static const char* ascii_fingerprint; // = "04DA9961C72375F564BB2C724C51FAF2";
+  static const uint8_t binary_fingerprint[16]; // = {0x04,0xDA,0x99,0x61,0xC7,0x23,0x75,0xF5,0x64,0xBB,0x2C,0x72,0x4C,0x51,0xFA,0xF2};
 
   Airavata_addGateway_args(const Airavata_addGateway_args&);
   Airavata_addGateway_args& operator=(const Airavata_addGateway_args&);
@@ -2379,12 +2379,17 @@ class Airavata_addGateway_args {
   }
 
   virtual ~Airavata_addGateway_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
    ::apache::airavata::model::workspace::Gateway gateway;
 
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
   void __set_gateway(const  ::apache::airavata::model::workspace::Gateway& val);
 
   bool operator == (const Airavata_addGateway_args & rhs) const
   {
+    if (!(authzToken == rhs.authzToken))
+      return false;
     if (!(gateway == rhs.gateway))
       return false;
     return true;
@@ -2405,11 +2410,12 @@ class Airavata_addGateway_args {
 class Airavata_addGateway_pargs {
  public:
 
-  static const char* ascii_fingerprint; // = "D64A104FD7F91B8A042C379A972C0256";
-  static const uint8_t binary_fingerprint[16]; // = {0xD6,0x4A,0x10,0x4F,0xD7,0xF9,0x1B,0x8A,0x04,0x2C,0x37,0x9A,0x97,0x2C,0x02,0x56};
+  static const char* ascii_fingerprint; // = "04DA9961C72375F564BB2C724C51FAF2";
+  static const uint8_t binary_fingerprint[16]; // = {0x04,0xDA,0x99,0x61,0xC7,0x23,0x75,0xF5,0x64,0xBB,0x2C,0x72,0x4C,0x51,0xFA,0xF2};
 
 
   virtual ~Airavata_addGateway_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const  ::apache::airavata::model::workspace::Gateway* gateway;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -2418,18 +2424,19 @@ class Airavata_addGateway_pargs {
 };
 
 typedef struct _Airavata_addGateway_result__isset {
-  _Airavata_addGateway_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_addGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_addGateway_result__isset;
 
 class Airavata_addGateway_result {
  public:
 
-  static const char* ascii_fingerprint; // = "765449DB00DA08377C7E82BB71F66398";
-  static const uint8_t binary_fingerprint[16]; // = {0x76,0x54,0x49,0xDB,0x00,0xDA,0x08,0x37,0x7C,0x7E,0x82,0xBB,0x71,0xF6,0x63,0x98};
+  static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023";
+  static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23};
 
   Airavata_addGateway_result(const Airavata_addGateway_result&);
   Airavata_addGateway_result& operator=(const Airavata_addGateway_result&);
@@ -2441,6 +2448,7 @@ class Airavata_addGateway_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_addGateway_result__isset __isset;
 
@@ -2452,6 +2460,8 @@ class Airavata_addGateway_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
   bool operator == (const Airavata_addGateway_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -2462,6 +2472,8 @@ class Airavata_addGateway_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
+    if (!(ae == rhs.ae))
+      return false;
     return true;
   }
   bool operator != (const Airavata_addGateway_result &rhs) const {
@@ -2477,18 +2489,19 @@ class Airavata_addGateway_result {
 };
 
 typedef struct _Airavata_addGateway_presult__isset {
-  _Airavata_addGateway_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_addGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_addGateway_presult__isset;
 
 class Airavata_addGateway_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "765449DB00DA08377C7E82BB71F66398";
-  static const uint8_t binary_fingerprint[16]; // = {0x76,0x54,0x49,0xDB,0x00,0xDA,0x08,0x37,0x7C,0x7E,0x82,0xBB,0x71,0xF6,0x63,0x98};
+  static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023";
+  static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23};
 
 
   virtual ~Airavata_addGateway_presult() throw();
@@ -2496,6 +2509,7 @@ class Airavata_addGateway_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_addGateway_presult__isset __isset;
 
@@ -2508,8 +2522,8 @@ class Airavata_addGateway_presult {
 class Airavata_updateGateway_args {
  public:
 
-  static const char* ascii_fingerprint; // = "2A9862CB68530D7349BD553AD283D721";
-  static const uint8_t binary_fingerprint[16]; // = {0x2A,0x98,0x62,0xCB,0x68,0x53,0x0D,0x73,0x49,0xBD,0x55,0x3A,0xD2,0x83,0xD7,0x21};
+  static const char* ascii_fingerprint; // = "223E46C55CD2A23DFB47C4B0ED700093";
+  static const uint8_t binary_fingerprint[16]; // = {0x22,0x3E,0x46,0xC5,0x5C,0xD2,0xA2,0x3D,0xFB,0x47,0xC4,0xB0,0xED,0x70,0x00,0x93};
 
   Airavata_updateGateway_args(const Airavata_updateGateway_args&);
   Airavata_updateGateway_args& operator=(const Airavata_updateGateway_args&);
@@ -2517,15 +2531,20 @@ class Airavata_updateGateway_args {
   }
 
   virtual ~Airavata_updateGateway_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
   std::string gatewayId;
    ::apache::airavata::model::workspace::Gateway updatedGateway;
 
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
   void __set_gatewayId(const std::string& val);
 
   void __set_updatedGateway(const  ::apache::airavata::model::workspace::Gateway& val);
 
   bool operator == (const Airavata_updateGateway_args & rhs) const
   {
+    if (!(authzToken == rhs.authzToken))
+      return false;
     if (!(gatewayId == rhs.gatewayId))
       return false;
     if (!(updatedGateway == rhs.updatedGateway))
@@ -2548,11 +2567,12 @@ class Airavata_updateGateway_args {
 class Airavata_updateGateway_pargs {
  public:
 
-  static const char* ascii_fingerprint; // = "2A9862CB68530D7349BD553AD283D721";
-  static const uint8_t binary_fingerprint[16]; // = {0x2A,0x98,0x62,0xCB,0x68,0x53,0x0D,0x73,0x49,0xBD,0x55,0x3A,0xD2,0x83,0xD7,0x21};
+  static const char* ascii_fingerprint; // = "223E46C55CD2A23DFB47C4B0ED700093";
+  static const uint8_t binary_fingerprint[16]; // = {0x22,0x3E,0x46,0xC5,0x5C,0xD2,0xA2,0x3D,0xFB,0x47,0xC4,0xB0,0xED,0x70,0x00,0x93};
 
 
   virtual ~Airavata_updateGateway_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const std::string* gatewayId;
   const  ::apache::airavata::model::workspace::Gateway* updatedGateway;
 
@@ -2562,17 +2582,18 @@ class Airavata_updateGateway_pargs {
 };
 
 typedef struct _Airavata_updateGateway_result__isset {
-  _Airavata_updateGateway_result__isset() : ire(false), ace(false), ase(false) {}
+  _Airavata_updateGateway_result__isset() : ire(false), ace(false), ase(false), ae(false) {}
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_updateGateway_result__isset;
 
 class Airavata_updateGateway_result {
  public:
 
-  static const char* ascii_fingerprint; // = "7A8CA38D7195145C4646F28719CA4673";
-  static const uint8_t binary_fingerprint[16]; // = {0x7A,0x8C,0xA3,0x8D,0x71,0x95,0x14,0x5C,0x46,0x46,0xF2,0x87,0x19,0xCA,0x46,0x73};
+  static const char* ascii_fingerprint; // = "0603929641B3F91F81AA6AC437512303";
+  static const uint8_t binary_fingerprint[16]; // = {0x06,0x03,0x92,0x96,0x41,0xB3,0xF9,0x1F,0x81,0xAA,0x6A,0xC4,0x37,0x51,0x23,0x03};
 
   Airavata_updateGateway_result(const Airavata_updateGateway_result&);
   Airavata_updateGateway_result& operator=(const Airavata_updateGateway_result&);
@@ -2583,6 +2604,7 @@ class Airavata_updateGateway_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_updateGateway_result__isset __isset;
 
@@ -2592,6 +2614,8 @@ class Airavata_updateGateway_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
   bool operator == (const Airavata_updateGateway_result & rhs) const
   {
     if (!(ire == rhs.ire))
@@ -2600,6 +2624,8 @@ class Airavata_updateGateway_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
+    if (!(ae == rhs.ae))
+      return false;
     return true;
   }
   bool operator != (const Airavata_updateGateway_result &rhs) const {
@@ -2615,23 +2641,25 @@ class Airavata_updateGateway_result {
 };
 
 typedef struct _Airavata_updateGateway_presult__isset {
-  _Airavata_updateGateway_presult__isset() : ire(false), ace(false), ase(false) {}
+  _Airavata_updateGateway_presult__isset() : ire(false), ace(false), ase(false), ae(false) {}
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_updateGateway_presult__isset;
 
 class Airavata_updateGateway_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "7A8CA38D7195145C4646F28719CA4673";
-  static const uint8_t binary_fingerprint[16]; // = {0x7A,0x8C,0xA3,0x8D,0x71,0x95,0x14,0x5C,0x46,0x46,0xF2,0x87,0x19,0xCA,0x46,0x73};
+  static const char* ascii_fingerprint; // = "0603929641B3F91F81AA6AC437512303";
+  static const uint8_t binary_fingerprint[16]; // = {0x06,0x03,0x92,0x96,0x41,0xB3,0xF9,0x1F,0x81,0xAA,0x6A,0xC4,0x37,0x51,0x23,0x03};
 
 
   virtual ~Airavata_updateGateway_presult() throw();
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_updateGateway_presult__isset __isset;
 
@@ -2644,8 +2672,8 @@ class Airavata_updateGateway_presult {
 class Airavata_getGateway_args {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+  static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
 
   Airavata_getGateway_args(const Airavata_getGateway_args&);
   Airavata_getGateway_args& operator=(const Airavata_getGateway_args&);
@@ -2653,12 +2681,17 @@ class Airavata_getGateway_args {
   }
 
   virtual ~Airavata_getGateway_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
   std::string gatewayId;
 
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
   void __set_gatewayId(const std::string& val);
 
   bool operator == (const Airavata_getGateway_args & rhs) const
   {
+    if (!(authzToken == rhs.authzToken))
+      return false;
     if (!(gatewayId == rhs.gatewayId))
       return false;
     return true;
@@ -2679,11 +2712,12 @@ class Airavata_getGateway_args {
 class Airavata_getGateway_pargs {
  public:
 
-  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
-  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+  static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
 
 
   virtual ~Airavata_getGateway_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
   const std::string* gatewayId;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -2692,18 +2726,19 @@ class Airavata_getGateway_pargs {
 };
 
 typedef struct _Airavata_getGateway_result__isset {
-  _Airavata_getGateway_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_getGateway_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_getGateway_result__isset;
 
 class Airavata_getGateway_result {
  public:
 
-  static const char* ascii_fingerprint; // = "834210047FE35345D7760ACF43FFEE35";
-  static const uint8_t binary_fingerprint[16]; // = {0x83,0x42,0x10,0x04,0x7F,0xE3,0x53,0x45,0xD7,0x76,0x0A,0xCF,0x43,0xFF,0xEE,0x35};
+  static const char* ascii_fingerprint; // = "1CD3091B63319C5F9E044C91C5E7D48E";
+  static const uint8_t binary_fingerprint[16]; // = {0x1C,0xD3,0x09,0x1B,0x63,0x31,0x9C,0x5F,0x9E,0x04,0x4C,0x91,0xC5,0xE7,0xD4,0x8E};
 
   Airavata_getGateway_result(const Airavata_getGateway_result&);
   Airavata_getGateway_result& operator=(const Airavata_getGateway_result&);
@@ -2715,6 +2750,7 @@ class Airavata_getGateway_result {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_getGateway_result__isset __isset;
 
@@ -2726,6 +2762,8 @@ class Airavata_getGateway_result {
 
   void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
 
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
   bool operator == (const Airavata_getGateway_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -2736,6 +2774,8 @@ class Airavata_getGateway_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
+    if (!(ae == rhs.ae))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getGateway_result &rhs) const {
@@ -2751,18 +2791,19 @@ class Airavata_getGateway_result {
 };
 
 typedef struct _Airavata_getGateway_presult__isset {
-  _Airavata_getGateway_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_getGateway_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
   bool success :1;
   bool ire :1;
   bool ace :1;
   bool ase :1;
+  bool ae :1;
 } _Airavata_getGateway_presult__isset;
 
 class Airavata_getGateway_presult {
  public:
 
-  static const char* ascii_fingerprint; // = "834210047FE35345D7760ACF43FFEE35";
-  static const uint8_t binary_fingerprint[16]; // = {0x83,0x42,0x10,0x04,0x7F,0xE3,0x53,0x45,0xD7,0x76,0x0A,0xCF,0x43,0xFF,0xEE,0x35};
+  static const char* ascii_fingerprint; // = "1CD3091B63319C5F9E044C91C5E7D48E";
+  static const uint8_t binary_fingerprint[16]; // = {0x1C,0xD3,0x09,0x1B,0x63,0x31,0x9C,0x5F,0x9E,0x04,0x4C,0x91,0xC5,0xE7,0xD4,0x8E};
 
 
   virtual ~Airavata_getGateway_presult() throw();
@@ -2770,6 +2811,7 @@ class Airavata_getGateway_presult {
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
 
   _Airavata_getGateway_presult__isset __isset;
 
@@ -20474,14 +20516,14 @@ class AiravataClient : virtual public AiravataIf {
   void getAPIVersion(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken);
   void send_getAPIVersion(const  ::apache::airavata::model::security::AuthzToken& authzToken);
   void recv_getAPIVersion(std::string& _return);
-  void addGateway(std::string& _return, const  ::apache::airavata::model::workspace::Gateway& gateway);
-  void send_addGateway(const  ::apache::airavata::model::workspace::Gateway& gateway);
+  void addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway);
+  void send_addGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway);
   void recv_addGateway(std::string& _return);
-  void updateGateway(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway);
-  void send_updateGateway(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway);
+  void updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway);
+  void send_updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway);
   void recv_updateGateway();
-  void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const std::string& gatewayId);
-  void send_getGateway(const std::string& gatewayId);
+  void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
+  void send_getGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId);
   void recv_getGateway( ::apache::airavata::model::workspace::Gateway& _return);
   bool deleteGateway(const std::string& gatewayId);
   void send_deleteGateway(const std::string& gatewayId);
@@ -21162,32 +21204,32 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void addGateway(std::string& _return, const  ::apache::airavata::model::workspace::Gateway& gateway) {
+  void addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->addGateway(_return, gateway);
+      ifaces_[i]->addGateway(_return, authzToken, gateway);
     }
-    ifaces_[i]->addGateway(_return, gateway);
+    ifaces_[i]->addGateway(_return, authzToken, gateway);
     return;
   }
 
-  void updateGateway(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway) {
+  void updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->updateGateway(gatewayId, updatedGateway);
+      ifaces_[i]->updateGateway(authzToken, gatewayId, updatedGateway);
     }
-    ifaces_[i]->updateGateway(gatewayId, updatedGateway);
+    ifaces_[i]->updateGateway(authzToken, gatewayId, updatedGateway);
   }
 
-  void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const std::string& gatewayId) {
+  void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getGateway(_return, gatewayId);
+      ifaces_[i]->getGateway(_return, authzToken, gatewayId);
     }
-    ifaces_[i]->getGateway(_return, gatewayId);
+    ifaces_[i]->getGateway(_return, authzToken, gatewayId);
     return;
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index 6f1141e..3ed9810 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -49,17 +49,17 @@ class AiravataHandler : virtual public AiravataIf {
     printf("getAPIVersion\n");
   }
 
-  void addGateway(std::string& _return, const  ::apache::airavata::model::workspace::Gateway& gateway) {
+  void addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway) {
     // Your implementation goes here
     printf("addGateway\n");
   }
 
-  void updateGateway(const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway) {
+  void updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway) {
     // Your implementation goes here
     printf("updateGateway\n");
   }
 
-  void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const std::string& gatewayId) {
+  void getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) {
     // Your implementation goes here
     printf("getGateway\n");
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.cpp
new file mode 100644
index 0000000..408aee2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.cpp
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavata_api_constants.h"
+
+namespace apache { namespace airavata { namespace api {
+
+const airavata_apiConstants g_airavata_api_constants;
+
+airavata_apiConstants::airavata_apiConstants() {
+  AIRAVATA_API_VERSION = "0.15.0";
+
+}
+
+}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.h
new file mode 100644
index 0000000..7de8402
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_constants.h
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavata_api_CONSTANTS_H
+#define airavata_api_CONSTANTS_H
+
+#include "airavata_api_types.h"
+
+namespace apache { namespace airavata { namespace api {
+
+class airavata_apiConstants {
+ public:
+  airavata_apiConstants();
+
+  std::string AIRAVATA_API_VERSION;
+};
+
+extern const airavata_apiConstants g_airavata_api_constants;
+
+}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.cpp
new file mode 100644
index 0000000..67600ea
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.cpp
@@ -0,0 +1,33 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavata_api_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace api {
+
+}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
new file mode 100644
index 0000000..cdf9ce5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavata_api_TYPES_H
+#define airavata_api_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavata_errors_types.h"
+#include "airavata_data_models_types.h"
+#include "status_models_types.h"
+#include "job_model_types.h"
+#include "experiment_model_types.h"
+#include "workspace_model_types.h"
+#include "compute_resource_model_types.h"
+#include "scheduling_model_types.h"
+#include "application_io_models_types.h"
+#include "application_deployment_model_types.h"
+#include "application_interface_model_types.h"
+#include "gateway_resource_profile_model_types.h"
+#include "workflow_data_model_types.h"
+#include "security_model_types.h"
+
+
+namespace apache { namespace airavata { namespace api {
+
+}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.cpp
new file mode 100644
index 0000000..c67be12
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.cpp
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavata_commons_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace commons {
+
+const airavata_commonsConstants g_airavata_commons_constants;
+
+airavata_commonsConstants::airavata_commonsConstants() {
+  DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.h
new file mode 100644
index 0000000..7b8bb03
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_constants.h
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavata_commons_CONSTANTS_H
+#define airavata_commons_CONSTANTS_H
+
+#include "airavata_commons_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace commons {
+
+class airavata_commonsConstants {
+ public:
+  airavata_commonsConstants();
+
+  std::string DEFAULT_ID;
+};
+
+extern const airavata_commonsConstants g_airavata_commons_constants;
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.cpp
new file mode 100644
index 0000000..69d0bef
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.cpp
@@ -0,0 +1,504 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavata_commons_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace commons {
+
+
+ErrorModel::~ErrorModel() throw() {
+}
+
+
+void ErrorModel::__set_errorId(const std::string& val) {
+  this->errorId = val;
+}
+
+void ErrorModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void ErrorModel::__set_actualErrorMessage(const std::string& val) {
+  this->actualErrorMessage = val;
+__isset.actualErrorMessage = true;
+}
+
+void ErrorModel::__set_userFriendlyMessage(const std::string& val) {
+  this->userFriendlyMessage = val;
+__isset.userFriendlyMessage = true;
+}
+
+void ErrorModel::__set_transientOrPersistent(const bool val) {
+  this->transientOrPersistent = val;
+__isset.transientOrPersistent = true;
+}
+
+void ErrorModel::__set_rootCauseErrorIdList(const std::vector<std::string> & val) {
+  this->rootCauseErrorIdList = val;
+__isset.rootCauseErrorIdList = true;
+}
+
+const char* ErrorModel::ascii_fingerprint = "6BB8CB86A8248ACCEDDC6598B87B119F";
+const uint8_t ErrorModel::binary_fingerprint[16] = {0x6B,0xB8,0xCB,0x86,0xA8,0x24,0x8A,0xCC,0xED,0xDC,0x65,0x98,0xB8,0x7B,0x11,0x9F};
+
+uint32_t ErrorModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_errorId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->errorId);
+          isset_errorId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->actualErrorMessage);
+          this->__isset.actualErrorMessage = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userFriendlyMessage);
+          this->__isset.userFriendlyMessage = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->transientOrPersistent);
+          this->__isset.transientOrPersistent = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->rootCauseErrorIdList.clear();
+            uint32_t _size0;
+            ::apache::thrift::protocol::TType _etype3;
+            xfer += iprot->readListBegin(_etype3, _size0);
+            this->rootCauseErrorIdList.resize(_size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              xfer += iprot->readString(this->rootCauseErrorIdList[_i4]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.rootCauseErrorIdList = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_errorId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ErrorModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ErrorModel");
+
+  xfer += oprot->writeFieldBegin("errorId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->errorId);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.actualErrorMessage) {
+    xfer += oprot->writeFieldBegin("actualErrorMessage", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->actualErrorMessage);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.userFriendlyMessage) {
+    xfer += oprot->writeFieldBegin("userFriendlyMessage", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->userFriendlyMessage);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.transientOrPersistent) {
+    xfer += oprot->writeFieldBegin("transientOrPersistent", ::apache::thrift::protocol::T_BOOL, 5);
+    xfer += oprot->writeBool(this->transientOrPersistent);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.rootCauseErrorIdList) {
+    xfer += oprot->writeFieldBegin("rootCauseErrorIdList", ::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->rootCauseErrorIdList.size()));
+      std::vector<std::string> ::const_iterator _iter5;
+      for (_iter5 = this->rootCauseErrorIdList.begin(); _iter5 != this->rootCauseErrorIdList.end(); ++_iter5)
+      {
+        xfer += oprot->writeString((*_iter5));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ErrorModel &a, ErrorModel &b) {
+  using ::std::swap;
+  swap(a.errorId, b.errorId);
+  swap(a.creationTime, b.creationTime);
+  swap(a.actualErrorMessage, b.actualErrorMessage);
+  swap(a.userFriendlyMessage, b.userFriendlyMessage);
+  swap(a.transientOrPersistent, b.transientOrPersistent);
+  swap(a.rootCauseErrorIdList, b.rootCauseErrorIdList);
+  swap(a.__isset, b.__isset);
+}
+
+ErrorModel::ErrorModel(const ErrorModel& other6) {
+  errorId = other6.errorId;
+  creationTime = other6.creationTime;
+  actualErrorMessage = other6.actualErrorMessage;
+  userFriendlyMessage = other6.userFriendlyMessage;
+  transientOrPersistent = other6.transientOrPersistent;
+  rootCauseErrorIdList = other6.rootCauseErrorIdList;
+  __isset = other6.__isset;
+}
+ErrorModel& ErrorModel::operator=(const ErrorModel& other7) {
+  errorId = other7.errorId;
+  creationTime = other7.creationTime;
+  actualErrorMessage = other7.actualErrorMessage;
+  userFriendlyMessage = other7.userFriendlyMessage;
+  transientOrPersistent = other7.transientOrPersistent;
+  rootCauseErrorIdList = other7.rootCauseErrorIdList;
+  __isset = other7.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ErrorModel& obj) {
+  using apache::thrift::to_string;
+  out << "ErrorModel(";
+  out << "errorId=" << to_string(obj.errorId);
+  out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
+  out << ", " << "actualErrorMessage="; (obj.__isset.actualErrorMessage ? (out << to_string(obj.actualErrorMessage)) : (out << "<null>"));
+  out << ", " << "userFriendlyMessage="; (obj.__isset.userFriendlyMessage ? (out << to_string(obj.userFriendlyMessage)) : (out << "<null>"));
+  out << ", " << "transientOrPersistent="; (obj.__isset.transientOrPersistent ? (out << to_string(obj.transientOrPersistent)) : (out << "<null>"));
+  out << ", " << "rootCauseErrorIdList="; (obj.__isset.rootCauseErrorIdList ? (out << to_string(obj.rootCauseErrorIdList)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ValidatorResult::~ValidatorResult() throw() {
+}
+
+
+void ValidatorResult::__set_result(const bool val) {
+  this->result = val;
+}
+
+void ValidatorResult::__set_errorDetails(const std::string& val) {
+  this->errorDetails = val;
+__isset.errorDetails = true;
+}
+
+const char* ValidatorResult::ascii_fingerprint = "EB04A806CFFC9025AEE48CFFDC378A86";
+const uint8_t ValidatorResult::binary_fingerprint[16] = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
+
+uint32_t ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_result = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->result);
+          isset_result = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->errorDetails);
+          this->__isset.errorDetails = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_result)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ValidatorResult");
+
+  xfer += oprot->writeFieldBegin("result", ::apache::thrift::protocol::T_BOOL, 1);
+  xfer += oprot->writeBool(this->result);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.errorDetails) {
+    xfer += oprot->writeFieldBegin("errorDetails", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->errorDetails);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ValidatorResult &a, ValidatorResult &b) {
+  using ::std::swap;
+  swap(a.result, b.result);
+  swap(a.errorDetails, b.errorDetails);
+  swap(a.__isset, b.__isset);
+}
+
+ValidatorResult::ValidatorResult(const ValidatorResult& other8) {
+  result = other8.result;
+  errorDetails = other8.errorDetails;
+  __isset = other8.__isset;
+}
+ValidatorResult& ValidatorResult::operator=(const ValidatorResult& other9) {
+  result = other9.result;
+  errorDetails = other9.errorDetails;
+  __isset = other9.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ValidatorResult& obj) {
+  using apache::thrift::to_string;
+  out << "ValidatorResult(";
+  out << "result=" << to_string(obj.result);
+  out << ", " << "errorDetails="; (obj.__isset.errorDetails ? (out << to_string(obj.errorDetails)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ValidationResults::~ValidationResults() throw() {
+}
+
+
+void ValidationResults::__set_validationState(const bool val) {
+  this->validationState = val;
+}
+
+void ValidationResults::__set_validationResultList(const std::vector<ValidatorResult> & val) {
+  this->validationResultList = val;
+}
+
+const char* ValidationResults::ascii_fingerprint = "E73BC8630EE405DA5FB801ED852143D2";
+const uint8_t ValidationResults::binary_fingerprint[16] = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
+
+uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_validationState = false;
+  bool isset_validationResultList = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->validationState);
+          isset_validationState = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->validationResultList.clear();
+            uint32_t _size10;
+            ::apache::thrift::protocol::TType _etype13;
+            xfer += iprot->readListBegin(_etype13, _size10);
+            this->validationResultList.resize(_size10);
+            uint32_t _i14;
+            for (_i14 = 0; _i14 < _size10; ++_i14)
+            {
+              xfer += this->validationResultList[_i14].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_validationResultList = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_validationState)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_validationResultList)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ValidationResults::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ValidationResults");
+
+  xfer += oprot->writeFieldBegin("validationState", ::apache::thrift::protocol::T_BOOL, 1);
+  xfer += oprot->writeBool(this->validationState);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("validationResultList", ::apache::thrift::protocol::T_LIST, 2);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->validationResultList.size()));
+    std::vector<ValidatorResult> ::const_iterator _iter15;
+    for (_iter15 = this->validationResultList.begin(); _iter15 != this->validationResultList.end(); ++_iter15)
+    {
+      xfer += (*_iter15).write(oprot);
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ValidationResults &a, ValidationResults &b) {
+  using ::std::swap;
+  swap(a.validationState, b.validationState);
+  swap(a.validationResultList, b.validationResultList);
+}
+
+ValidationResults::ValidationResults(const ValidationResults& other16) {
+  validationState = other16.validationState;
+  validationResultList = other16.validationResultList;
+}
+ValidationResults& ValidationResults::operator=(const ValidationResults& other17) {
+  validationState = other17.validationState;
+  validationResultList = other17.validationResultList;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ValidationResults& obj) {
+  using apache::thrift::to_string;
+  out << "ValidationResults(";
+  out << "validationState=" << to_string(obj.validationState);
+  out << ", " << "validationResultList=" << to_string(obj.validationResultList);
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.h
new file mode 100644
index 0000000..6f4c7f2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_commons_types.h
@@ -0,0 +1,221 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavata_commons_TYPES_H
+#define airavata_commons_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+namespace apache { namespace airavata { namespace model { namespace commons {
+
+class ErrorModel;
+
+class ValidatorResult;
+
+class ValidationResults;
+
+typedef struct _ErrorModel__isset {
+  _ErrorModel__isset() : creationTime(false), actualErrorMessage(false), userFriendlyMessage(false), transientOrPersistent(true), rootCauseErrorIdList(false) {}
+  bool creationTime :1;
+  bool actualErrorMessage :1;
+  bool userFriendlyMessage :1;
+  bool transientOrPersistent :1;
+  bool rootCauseErrorIdList :1;
+} _ErrorModel__isset;
+
+class ErrorModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "6BB8CB86A8248ACCEDDC6598B87B119F";
+  static const uint8_t binary_fingerprint[16]; // = {0x6B,0xB8,0xCB,0x86,0xA8,0x24,0x8A,0xCC,0xED,0xDC,0x65,0x98,0xB8,0x7B,0x11,0x9F};
+
+  ErrorModel(const ErrorModel&);
+  ErrorModel& operator=(const ErrorModel&);
+  ErrorModel() : errorId("DO_NOT_SET_AT_CLIENTS"), creationTime(0), actualErrorMessage(), userFriendlyMessage(), transientOrPersistent(false) {
+  }
+
+  virtual ~ErrorModel() throw();
+  std::string errorId;
+  int64_t creationTime;
+  std::string actualErrorMessage;
+  std::string userFriendlyMessage;
+  bool transientOrPersistent;
+  std::vector<std::string>  rootCauseErrorIdList;
+
+  _ErrorModel__isset __isset;
+
+  void __set_errorId(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_actualErrorMessage(const std::string& val);
+
+  void __set_userFriendlyMessage(const std::string& val);
+
+  void __set_transientOrPersistent(const bool val);
+
+  void __set_rootCauseErrorIdList(const std::vector<std::string> & val);
+
+  bool operator == (const ErrorModel & rhs) const
+  {
+    if (!(errorId == rhs.errorId))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (__isset.actualErrorMessage != rhs.__isset.actualErrorMessage)
+      return false;
+    else if (__isset.actualErrorMessage && !(actualErrorMessage == rhs.actualErrorMessage))
+      return false;
+    if (__isset.userFriendlyMessage != rhs.__isset.userFriendlyMessage)
+      return false;
+    else if (__isset.userFriendlyMessage && !(userFriendlyMessage == rhs.userFriendlyMessage))
+      return false;
+    if (__isset.transientOrPersistent != rhs.__isset.transientOrPersistent)
+      return false;
+    else if (__isset.transientOrPersistent && !(transientOrPersistent == rhs.transientOrPersistent))
+      return false;
+    if (__isset.rootCauseErrorIdList != rhs.__isset.rootCauseErrorIdList)
+      return false;
+    else if (__isset.rootCauseErrorIdList && !(rootCauseErrorIdList == rhs.rootCauseErrorIdList))
+      return false;
+    return true;
+  }
+  bool operator != (const ErrorModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ErrorModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ErrorModel& obj);
+};
+
+void swap(ErrorModel &a, ErrorModel &b);
+
+typedef struct _ValidatorResult__isset {
+  _ValidatorResult__isset() : errorDetails(false) {}
+  bool errorDetails :1;
+} _ValidatorResult__isset;
+
+class ValidatorResult {
+ public:
+
+  static const char* ascii_fingerprint; // = "EB04A806CFFC9025AEE48CFFDC378A86";
+  static const uint8_t binary_fingerprint[16]; // = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
+
+  ValidatorResult(const ValidatorResult&);
+  ValidatorResult& operator=(const ValidatorResult&);
+  ValidatorResult() : result(0), errorDetails() {
+  }
+
+  virtual ~ValidatorResult() throw();
+  bool result;
+  std::string errorDetails;
+
+  _ValidatorResult__isset __isset;
+
+  void __set_result(const bool val);
+
+  void __set_errorDetails(const std::string& val);
+
+  bool operator == (const ValidatorResult & rhs) const
+  {
+    if (!(result == rhs.result))
+      return false;
+    if (__isset.errorDetails != rhs.__isset.errorDetails)
+      return false;
+    else if (__isset.errorDetails && !(errorDetails == rhs.errorDetails))
+      return false;
+    return true;
+  }
+  bool operator != (const ValidatorResult &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ValidatorResult & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ValidatorResult& obj);
+};
+
+void swap(ValidatorResult &a, ValidatorResult &b);
+
+
+class ValidationResults {
+ public:
+
+  static const char* ascii_fingerprint; // = "E73BC8630EE405DA5FB801ED852143D2";
+  static const uint8_t binary_fingerprint[16]; // = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
+
+  ValidationResults(const ValidationResults&);
+  ValidationResults& operator=(const ValidationResults&);
+  ValidationResults() : validationState(0) {
+  }
+
+  virtual ~ValidationResults() throw();
+  bool validationState;
+  std::vector<ValidatorResult>  validationResultList;
+
+  void __set_validationState(const bool val);
+
+  void __set_validationResultList(const std::vector<ValidatorResult> & val);
+
+  bool operator == (const ValidationResults & rhs) const
+  {
+    if (!(validationState == rhs.validationState))
+      return false;
+    if (!(validationResultList == rhs.validationResultList))
+      return false;
+    return true;
+  }
+  bool operator != (const ValidationResults &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ValidationResults & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ValidationResults& obj);
+};
+
+void swap(ValidationResults &a, ValidationResults &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.cpp
new file mode 100644
index 0000000..1764a3b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavata_data_models_constants.h"
+
+namespace apache { namespace airavata { namespace model {
+
+const airavata_data_modelsConstants g_airavata_data_models_constants;
+
+airavata_data_modelsConstants::airavata_data_modelsConstants() {
+}
+
+}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.h
new file mode 100644
index 0000000..071c000
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavata_data_models_CONSTANTS_H
+#define airavata_data_models_CONSTANTS_H
+
+#include "airavata_data_models_types.h"
+
+namespace apache { namespace airavata { namespace model {
+
+class airavata_data_modelsConstants {
+ public:
+  airavata_data_modelsConstants();
+
+};
+
+extern const airavata_data_modelsConstants g_airavata_data_models_constants;
+
+}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.cpp
new file mode 100644
index 0000000..e9ac27d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.cpp
@@ -0,0 +1,33 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavata_data_models_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model {
+
+}}} // namespace


[23/44] airavata git commit: changed createProject method and added internal private method for isGatewayExist, to avoid chained API calls.

Posted by sm...@apache.org.
changed createProject method and added internal private method for isGatewayExist, to avoid chained API calls.


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

Branch: refs/heads/master
Commit: e0941f4ba3df1711f7acc29af16365d1e8f490ae
Parents: dc52449
Author: hasinitg <ha...@gmail.com>
Authored: Wed Jul 15 10:40:16 2015 +0530
Committer: hasinitg <ha...@gmail.com>
Committed: Wed Jul 15 10:40:16 2015 +0530

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |   92 +-
 .../java/org/apache/airavata/api/Airavata.java  | 1078 ++++++++++++++++--
 .../main/resources/lib/airavata/Airavata.cpp    |  241 +++-
 .../src/main/resources/lib/airavata/Airavata.h  |  195 ++--
 .../lib/airavata/Airavata_server.skeleton.cpp   |    9 +-
 .../resources/lib/Airavata/API/Airavata.php     |  284 ++++-
 .../lib/apache/airavata/api/Airavata-remote     |   32 +-
 .../lib/apache/airavata/api/Airavata.py         |  232 +++-
 .../client/samples/CreateLaunchBES.java         |    6 +-
 .../client/samples/CreateLaunchExperiment.java  |   22 +-
 .../samples/CreateLaunchExperimentUS3.java      |    9 +-
 .../org/apache/airavata/model/Workflow.java     |    2 +-
 .../ApplicationDeploymentDescription.java       |    2 +-
 .../appdeployment/ApplicationModule.java        |    2 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |    2 +-
 .../ApplicationInterfaceDescription.java        |    2 +-
 .../appcatalog/computeresource/BatchQueue.java  |    2 +-
 .../computeresource/CloudJobSubmission.java     |    2 +-
 .../ComputeResourceDescription.java             |    2 +-
 .../computeresource/DataMovementInterface.java  |    2 +-
 .../computeresource/GlobusJobSubmission.java    |    2 +-
 .../computeresource/GridFTPDataMovement.java    |    2 +-
 .../computeresource/JobSubmissionInterface.java |    2 +-
 .../computeresource/LOCALDataMovement.java      |    2 +-
 .../computeresource/LOCALSubmission.java        |    2 +-
 .../computeresource/ResourceJobManager.java     |    2 +-
 .../computeresource/SCPDataMovement.java        |    2 +-
 .../computeresource/SSHJobSubmission.java       |    2 +-
 .../computeresource/UnicoreDataMovement.java    |    2 +-
 .../computeresource/UnicoreJobSubmission.java   |    2 +-
 .../ComputeResourcePreference.java              |    2 +-
 .../gatewayprofile/GatewayResourceProfile.java  |    2 +-
 .../application/io/InputDataObjectType.java     |    2 +-
 .../application/io/OutputDataObjectType.java    |    2 +-
 .../airavata/model/commons/ErrorModel.java      |    2 +-
 .../model/commons/ValidationResults.java        |    2 +-
 .../airavata/model/commons/ValidatorResult.java |    2 +-
 .../model/error/AiravataClientException.java    |    2 +-
 .../model/error/AiravataSystemException.java    |    2 +-
 .../model/error/AuthenticationException.java    |    2 +-
 .../model/error/AuthorizationException.java     |    2 +-
 .../error/ExperimentNotFoundException.java      |    2 +-
 .../model/error/InvalidRequestException.java    |    2 +-
 .../model/error/LaunchValidationException.java  |    2 +-
 .../model/error/ProjectNotFoundException.java   |    2 +-
 .../airavata/model/error/TimedOutException.java |    2 +-
 .../airavata/model/error/ValidationResults.java |    2 +-
 .../airavata/model/error/ValidatorResult.java   |    2 +-
 .../model/experiment/ExperimentModel.java       |    2 +-
 .../model/experiment/ExperimentStatistics.java  |    2 +-
 .../experiment/ExperimentSummaryModel.java      |    2 +-
 .../experiment/UserConfigurationDataModel.java  |    2 +-
 .../org/apache/airavata/model/job/JobModel.java |    2 +-
 .../event/ExperimentStatusChangeEvent.java      |    2 +-
 .../model/messaging/event/JobIdentifier.java    |    2 +-
 .../messaging/event/JobStatusChangeEvent.java   |    2 +-
 .../event/JobStatusChangeRequestEvent.java      |    2 +-
 .../airavata/model/messaging/event/Message.java |    2 +-
 .../messaging/event/ProcessIdentifier.java      |    2 +-
 .../event/ProcessStatusChangeEvent.java         |    2 +-
 .../event/ProcessStatusChangeRequestEvent.java  |    2 +-
 .../messaging/event/ProcessSubmitEvent.java     |    2 +-
 .../messaging/event/ProcessTerminateEvent.java  |    2 +-
 .../model/messaging/event/TaskIdentifier.java   |    2 +-
 .../messaging/event/TaskOutputChangeEvent.java  |    2 +-
 .../messaging/event/TaskStatusChangeEvent.java  |    2 +-
 .../event/TaskStatusChangeRequestEvent.java     |    2 +-
 .../airavata/model/process/ProcessModel.java    |    2 +-
 .../ComputationalResourceSchedulingModel.java   |    2 +-
 .../airavata/model/security/AuthzToken.java     |    2 +-
 .../airavata/model/status/ExperimentStatus.java |    2 +-
 .../apache/airavata/model/status/JobStatus.java |    2 +-
 .../airavata/model/status/ProcessStatus.java    |    2 +-
 .../airavata/model/status/TaskStatus.java       |    2 +-
 .../model/task/DataStagingTaskModel.java        |    2 +-
 .../apache/airavata/model/task/TaskModel.java   |    2 +-
 .../airavata/model/workspace/Gateway.java       |    2 +-
 .../apache/airavata/model/workspace/Group.java  |    2 +-
 .../airavata/model/workspace/Project.java       |    2 +-
 .../apache/airavata/model/workspace/User.java   |    2 +-
 .../airavata-api/airavata_api.thrift            |   23 +-
 81 files changed, 1974 insertions(+), 387 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 811cb8e..f545e53 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -206,7 +206,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public boolean deleteGateway(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public boolean deleteGateway(AuthzToken authzToken, String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        //security check
+        authenticateNAuthorize(authzToken);
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId)){
@@ -227,7 +229,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public List<Gateway> getAllGateways() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public List<Gateway> getAllGateways(AuthzToken authzToken) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        //security check
+        authenticateNAuthorize(authzToken);
         try {
             List<Gateway> gateways = new ArrayList<Gateway>();
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
@@ -246,7 +250,23 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public boolean isGatewayExist(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public boolean isGatewayExist(AuthzToken authzToken, String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        //security check
+        authenticateNAuthorize(authzToken);
+        try {
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
+            return experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId);
+        } catch (RegistryException e) {
+            logger.error("Error while getting gateway", e);
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("Error while getting gateway. More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    /*Following method wraps the logic of isGatewayExist method and this is to be called by any other method of the API as needed.*/
+    private boolean isGatewayExistInternal(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException{
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             return experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId);
@@ -280,7 +300,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * @param project
      */
     @Override
-    public String createProject(String gatewayId, Project project) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public String createProject(AuthzToken authzToken, String gatewayId, Project project) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+        //security check
+        authenticateNAuthorize(authzToken);
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!validateString(project.getName()) || !validateString(project.getOwner())){
@@ -291,7 +313,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway ID cannot be empty...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            if (!isGatewayExist(gatewayId)){
+            if (!isGatewayExistInternal(gatewayId)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -410,7 +432,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -488,7 +510,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -564,7 +586,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -643,7 +665,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -721,7 +743,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -796,7 +818,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -871,7 +893,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -950,7 +972,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -1009,7 +1031,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -1072,7 +1094,7 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     public ExperimentStatistics getExperimentStatistics(String gatewayId, long fromTime, long toTime) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -1197,7 +1219,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -1262,7 +1284,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 exception.setMessage("Cannot create experiments with empty experiment name");
                 throw exception;
             }
-            if (!isGatewayExist(gatewayId)){
+            if (!isGatewayExistInternal(gatewayId)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -1849,7 +1871,7 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     public String registerApplicationModule(String gatewayId, ApplicationModule applicationModule) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -1911,7 +1933,7 @@ public class AiravataServerHandler implements Airavata.Iface {
 
     @Override
     public List<ApplicationModule> getAllAppModules(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -1956,7 +1978,7 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     public String registerApplicationDeployment(String gatewayId, ApplicationDeploymentDescription applicationDeployment) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -2046,7 +2068,7 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     public List<ApplicationDeploymentDescription> getAllApplicationDeployments(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -2098,7 +2120,7 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     public String registerApplicationInterface(String gatewayId, ApplicationInterfaceDescription applicationInterface) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -2187,7 +2209,7 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     public Map<String, String> getAllApplicationInterfaceNames(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -2218,7 +2240,7 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Override
     public List<ApplicationInterfaceDescription> getAllApplicationInterfaces(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -3122,7 +3144,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 exception.setMessage("Cannot create gateway profile with empty gateway id");
                 throw exception;
             }
-            if (!isGatewayExist(gatewayResourceProfile.getGatewayID())){
+            if (!isGatewayExistInternal(gatewayResourceProfile.getGatewayID())){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -3148,7 +3170,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public GatewayResourceProfile getGatewayResourceProfile(String gatewayID) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            if (!isGatewayExist(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -3175,7 +3197,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean updateGatewayResourceProfile(String gatewayID, GatewayResourceProfile gatewayResourceProfile) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            if (!isGatewayExist(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -3202,7 +3224,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteGatewayResourceProfile(String gatewayID) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            if (!isGatewayExist(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -3232,7 +3254,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean addGatewayComputeResourcePreference(String gatewayID, String computeResourceId, ComputeResourcePreference computeResourcePreference) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            if (!isGatewayExist(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -3266,7 +3288,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public ComputeResourcePreference getGatewayComputeResourcePreference(String gatewayID, String computeResourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            if (!isGatewayExist(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -3307,7 +3329,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public List<ComputeResourcePreference> getAllGatewayComputeResourcePreferences(String gatewayID) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            if (!isGatewayExist(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -3349,7 +3371,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean updateGatewayComputeResourcePreference(String gatewayID, String computeResourceId, ComputeResourcePreference computeResourcePreference) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            if (!isGatewayExist(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -3391,7 +3413,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteGatewayComputeResourcePreference(String gatewayID, String computeResourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            if (!isGatewayExist(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -3411,7 +3433,7 @@ public class AiravataServerHandler implements Airavata.Iface {
 	public List<String> getAllWorkflows(String gatewayId) throws InvalidRequestException,
 			AiravataClientException, AiravataSystemException, TException {
 
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
@@ -3460,7 +3482,7 @@ public class AiravataServerHandler implements Airavata.Iface {
 	public String registerWorkflow(String gatewayId, Workflow workflow)
 			throws InvalidRequestException, AiravataClientException,
 			AiravataSystemException, TException {
-        if (!isGatewayExist(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }


[08/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp
new file mode 100644
index 0000000..b32a987
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp
@@ -0,0 +1,1964 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "messaging_events_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace messaging { namespace event {
+
+int _kMessageLevelValues[] = {
+  MessageLevel::INFO,
+  MessageLevel::DEBUG,
+  MessageLevel::ERROR,
+  MessageLevel::ACK
+};
+const char* _kMessageLevelNames[] = {
+  "INFO",
+  "DEBUG",
+  "ERROR",
+  "ACK"
+};
+const std::map<int, const char*> _MessageLevel_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kMessageLevelValues, _kMessageLevelNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kMessageTypeValues[] = {
+  MessageType::EXPERIMENT,
+  MessageType::TASK,
+  MessageType::PROCESS,
+  MessageType::JOB,
+  MessageType::LAUNCHPROCESS,
+  MessageType::TERMINATEPROCESS,
+  MessageType::PROCESSOUTPUT
+};
+const char* _kMessageTypeNames[] = {
+  "EXPERIMENT",
+  "TASK",
+  "PROCESS",
+  "JOB",
+  "LAUNCHPROCESS",
+  "TERMINATEPROCESS",
+  "PROCESSOUTPUT"
+};
+const std::map<int, const char*> _MessageType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kMessageTypeValues, _kMessageTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+ExperimentStatusChangeEvent::~ExperimentStatusChangeEvent() throw() {
+}
+
+
+void ExperimentStatusChangeEvent::__set_state(const  ::apache::airavata::model::status::ExperimentState::type val) {
+  this->state = val;
+}
+
+void ExperimentStatusChangeEvent::__set_experimentId(const std::string& val) {
+  this->experimentId = val;
+}
+
+void ExperimentStatusChangeEvent::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+const char* ExperimentStatusChangeEvent::ascii_fingerprint = "38C252E94E93B69D04EB3A6EE2F9EDFB";
+const uint8_t ExperimentStatusChangeEvent::binary_fingerprint[16] = {0x38,0xC2,0x52,0xE9,0x4E,0x93,0xB6,0x9D,0x04,0xEB,0x3A,0x6E,0xE2,0xF9,0xED,0xFB};
+
+uint32_t ExperimentStatusChangeEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+  bool isset_experimentId = false;
+  bool isset_gatewayId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->state = ( ::apache::airavata::model::status::ExperimentState::type)ecast0;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentId);
+          isset_experimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_experimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentStatusChangeEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ExperimentStatusChangeEvent");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experimentId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->experimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ExperimentStatusChangeEvent &a, ExperimentStatusChangeEvent &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.experimentId, b.experimentId);
+  swap(a.gatewayId, b.gatewayId);
+}
+
+ExperimentStatusChangeEvent::ExperimentStatusChangeEvent(const ExperimentStatusChangeEvent& other1) {
+  state = other1.state;
+  experimentId = other1.experimentId;
+  gatewayId = other1.gatewayId;
+}
+ExperimentStatusChangeEvent& ExperimentStatusChangeEvent::operator=(const ExperimentStatusChangeEvent& other2) {
+  state = other2.state;
+  experimentId = other2.experimentId;
+  gatewayId = other2.gatewayId;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ExperimentStatusChangeEvent& obj) {
+  using apache::thrift::to_string;
+  out << "ExperimentStatusChangeEvent(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "experimentId=" << to_string(obj.experimentId);
+  out << ", " << "gatewayId=" << to_string(obj.gatewayId);
+  out << ")";
+  return out;
+}
+
+
+ProcessIdentifier::~ProcessIdentifier() throw() {
+}
+
+
+void ProcessIdentifier::__set_processId(const std::string& val) {
+  this->processId = val;
+}
+
+void ProcessIdentifier::__set_experimentId(const std::string& val) {
+  this->experimentId = val;
+}
+
+void ProcessIdentifier::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+const char* ProcessIdentifier::ascii_fingerprint = "AB879940BD15B6B25691265F7384B271";
+const uint8_t ProcessIdentifier::binary_fingerprint[16] = {0xAB,0x87,0x99,0x40,0xBD,0x15,0xB6,0xB2,0x56,0x91,0x26,0x5F,0x73,0x84,0xB2,0x71};
+
+uint32_t ProcessIdentifier::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_processId = false;
+  bool isset_experimentId = false;
+  bool isset_gatewayId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->processId);
+          isset_processId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentId);
+          isset_experimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_processId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_experimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ProcessIdentifier::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ProcessIdentifier");
+
+  xfer += oprot->writeFieldBegin("processId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->processId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experimentId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->experimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ProcessIdentifier &a, ProcessIdentifier &b) {
+  using ::std::swap;
+  swap(a.processId, b.processId);
+  swap(a.experimentId, b.experimentId);
+  swap(a.gatewayId, b.gatewayId);
+}
+
+ProcessIdentifier::ProcessIdentifier(const ProcessIdentifier& other3) {
+  processId = other3.processId;
+  experimentId = other3.experimentId;
+  gatewayId = other3.gatewayId;
+}
+ProcessIdentifier& ProcessIdentifier::operator=(const ProcessIdentifier& other4) {
+  processId = other4.processId;
+  experimentId = other4.experimentId;
+  gatewayId = other4.gatewayId;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ProcessIdentifier& obj) {
+  using apache::thrift::to_string;
+  out << "ProcessIdentifier(";
+  out << "processId=" << to_string(obj.processId);
+  out << ", " << "experimentId=" << to_string(obj.experimentId);
+  out << ", " << "gatewayId=" << to_string(obj.gatewayId);
+  out << ")";
+  return out;
+}
+
+
+TaskIdentifier::~TaskIdentifier() throw() {
+}
+
+
+void TaskIdentifier::__set_taskId(const std::string& val) {
+  this->taskId = val;
+}
+
+void TaskIdentifier::__set_processId(const std::string& val) {
+  this->processId = val;
+}
+
+void TaskIdentifier::__set_experimentId(const std::string& val) {
+  this->experimentId = val;
+}
+
+void TaskIdentifier::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+const char* TaskIdentifier::ascii_fingerprint = "C93D890311F28844166CF6E571EB3AC2";
+const uint8_t TaskIdentifier::binary_fingerprint[16] = {0xC9,0x3D,0x89,0x03,0x11,0xF2,0x88,0x44,0x16,0x6C,0xF6,0xE5,0x71,0xEB,0x3A,0xC2};
+
+uint32_t TaskIdentifier::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_taskId = false;
+  bool isset_processId = false;
+  bool isset_experimentId = false;
+  bool isset_gatewayId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->taskId);
+          isset_taskId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->processId);
+          isset_processId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentId);
+          isset_experimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_taskId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_processId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_experimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TaskIdentifier::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("TaskIdentifier");
+
+  xfer += oprot->writeFieldBegin("taskId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->taskId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("processId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->processId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experimentId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->experimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 4);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(TaskIdentifier &a, TaskIdentifier &b) {
+  using ::std::swap;
+  swap(a.taskId, b.taskId);
+  swap(a.processId, b.processId);
+  swap(a.experimentId, b.experimentId);
+  swap(a.gatewayId, b.gatewayId);
+}
+
+TaskIdentifier::TaskIdentifier(const TaskIdentifier& other5) {
+  taskId = other5.taskId;
+  processId = other5.processId;
+  experimentId = other5.experimentId;
+  gatewayId = other5.gatewayId;
+}
+TaskIdentifier& TaskIdentifier::operator=(const TaskIdentifier& other6) {
+  taskId = other6.taskId;
+  processId = other6.processId;
+  experimentId = other6.experimentId;
+  gatewayId = other6.gatewayId;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const TaskIdentifier& obj) {
+  using apache::thrift::to_string;
+  out << "TaskIdentifier(";
+  out << "taskId=" << to_string(obj.taskId);
+  out << ", " << "processId=" << to_string(obj.processId);
+  out << ", " << "experimentId=" << to_string(obj.experimentId);
+  out << ", " << "gatewayId=" << to_string(obj.gatewayId);
+  out << ")";
+  return out;
+}
+
+
+TaskStatusChangeEvent::~TaskStatusChangeEvent() throw() {
+}
+
+
+void TaskStatusChangeEvent::__set_state(const  ::apache::airavata::model::status::TaskState::type val) {
+  this->state = val;
+}
+
+void TaskStatusChangeEvent::__set_taskIdentity(const TaskIdentifier& val) {
+  this->taskIdentity = val;
+}
+
+const char* TaskStatusChangeEvent::ascii_fingerprint = "8D18A3CD1822DBC67D7BD8CB98E7B4F1";
+const uint8_t TaskStatusChangeEvent::binary_fingerprint[16] = {0x8D,0x18,0xA3,0xCD,0x18,0x22,0xDB,0xC6,0x7D,0x7B,0xD8,0xCB,0x98,0xE7,0xB4,0xF1};
+
+uint32_t TaskStatusChangeEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+  bool isset_taskIdentity = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast7;
+          xfer += iprot->readI32(ecast7);
+          this->state = ( ::apache::airavata::model::status::TaskState::type)ecast7;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->taskIdentity.read(iprot);
+          isset_taskIdentity = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_taskIdentity)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TaskStatusChangeEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("TaskStatusChangeEvent");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("taskIdentity", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->taskIdentity.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(TaskStatusChangeEvent &a, TaskStatusChangeEvent &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.taskIdentity, b.taskIdentity);
+}
+
+TaskStatusChangeEvent::TaskStatusChangeEvent(const TaskStatusChangeEvent& other8) {
+  state = other8.state;
+  taskIdentity = other8.taskIdentity;
+}
+TaskStatusChangeEvent& TaskStatusChangeEvent::operator=(const TaskStatusChangeEvent& other9) {
+  state = other9.state;
+  taskIdentity = other9.taskIdentity;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const TaskStatusChangeEvent& obj) {
+  using apache::thrift::to_string;
+  out << "TaskStatusChangeEvent(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "taskIdentity=" << to_string(obj.taskIdentity);
+  out << ")";
+  return out;
+}
+
+
+TaskStatusChangeRequestEvent::~TaskStatusChangeRequestEvent() throw() {
+}
+
+
+void TaskStatusChangeRequestEvent::__set_state(const  ::apache::airavata::model::status::TaskState::type val) {
+  this->state = val;
+}
+
+void TaskStatusChangeRequestEvent::__set_taskIdentity(const TaskIdentifier& val) {
+  this->taskIdentity = val;
+}
+
+const char* TaskStatusChangeRequestEvent::ascii_fingerprint = "8D18A3CD1822DBC67D7BD8CB98E7B4F1";
+const uint8_t TaskStatusChangeRequestEvent::binary_fingerprint[16] = {0x8D,0x18,0xA3,0xCD,0x18,0x22,0xDB,0xC6,0x7D,0x7B,0xD8,0xCB,0x98,0xE7,0xB4,0xF1};
+
+uint32_t TaskStatusChangeRequestEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+  bool isset_taskIdentity = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast10;
+          xfer += iprot->readI32(ecast10);
+          this->state = ( ::apache::airavata::model::status::TaskState::type)ecast10;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->taskIdentity.read(iprot);
+          isset_taskIdentity = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_taskIdentity)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TaskStatusChangeRequestEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("TaskStatusChangeRequestEvent");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("taskIdentity", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->taskIdentity.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(TaskStatusChangeRequestEvent &a, TaskStatusChangeRequestEvent &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.taskIdentity, b.taskIdentity);
+}
+
+TaskStatusChangeRequestEvent::TaskStatusChangeRequestEvent(const TaskStatusChangeRequestEvent& other11) {
+  state = other11.state;
+  taskIdentity = other11.taskIdentity;
+}
+TaskStatusChangeRequestEvent& TaskStatusChangeRequestEvent::operator=(const TaskStatusChangeRequestEvent& other12) {
+  state = other12.state;
+  taskIdentity = other12.taskIdentity;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const TaskStatusChangeRequestEvent& obj) {
+  using apache::thrift::to_string;
+  out << "TaskStatusChangeRequestEvent(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "taskIdentity=" << to_string(obj.taskIdentity);
+  out << ")";
+  return out;
+}
+
+
+ProcessStatusChangeEvent::~ProcessStatusChangeEvent() throw() {
+}
+
+
+void ProcessStatusChangeEvent::__set_state(const  ::apache::airavata::model::status::ProcessState::type val) {
+  this->state = val;
+}
+
+void ProcessStatusChangeEvent::__set_processIdentity(const ProcessIdentifier& val) {
+  this->processIdentity = val;
+}
+
+const char* ProcessStatusChangeEvent::ascii_fingerprint = "9686679C94D43D75F2B35A0BED2E4003";
+const uint8_t ProcessStatusChangeEvent::binary_fingerprint[16] = {0x96,0x86,0x67,0x9C,0x94,0xD4,0x3D,0x75,0xF2,0xB3,0x5A,0x0B,0xED,0x2E,0x40,0x03};
+
+uint32_t ProcessStatusChangeEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+  bool isset_processIdentity = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast13;
+          xfer += iprot->readI32(ecast13);
+          this->state = ( ::apache::airavata::model::status::ProcessState::type)ecast13;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->processIdentity.read(iprot);
+          isset_processIdentity = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_processIdentity)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ProcessStatusChangeEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ProcessStatusChangeEvent");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("processIdentity", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->processIdentity.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ProcessStatusChangeEvent &a, ProcessStatusChangeEvent &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.processIdentity, b.processIdentity);
+}
+
+ProcessStatusChangeEvent::ProcessStatusChangeEvent(const ProcessStatusChangeEvent& other14) {
+  state = other14.state;
+  processIdentity = other14.processIdentity;
+}
+ProcessStatusChangeEvent& ProcessStatusChangeEvent::operator=(const ProcessStatusChangeEvent& other15) {
+  state = other15.state;
+  processIdentity = other15.processIdentity;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ProcessStatusChangeEvent& obj) {
+  using apache::thrift::to_string;
+  out << "ProcessStatusChangeEvent(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "processIdentity=" << to_string(obj.processIdentity);
+  out << ")";
+  return out;
+}
+
+
+ProcessStatusChangeRequestEvent::~ProcessStatusChangeRequestEvent() throw() {
+}
+
+
+void ProcessStatusChangeRequestEvent::__set_state(const  ::apache::airavata::model::status::ProcessState::type val) {
+  this->state = val;
+}
+
+void ProcessStatusChangeRequestEvent::__set_processIdentity(const ProcessIdentifier& val) {
+  this->processIdentity = val;
+}
+
+const char* ProcessStatusChangeRequestEvent::ascii_fingerprint = "9686679C94D43D75F2B35A0BED2E4003";
+const uint8_t ProcessStatusChangeRequestEvent::binary_fingerprint[16] = {0x96,0x86,0x67,0x9C,0x94,0xD4,0x3D,0x75,0xF2,0xB3,0x5A,0x0B,0xED,0x2E,0x40,0x03};
+
+uint32_t ProcessStatusChangeRequestEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+  bool isset_processIdentity = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast16;
+          xfer += iprot->readI32(ecast16);
+          this->state = ( ::apache::airavata::model::status::ProcessState::type)ecast16;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->processIdentity.read(iprot);
+          isset_processIdentity = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_processIdentity)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ProcessStatusChangeRequestEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ProcessStatusChangeRequestEvent");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("processIdentity", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->processIdentity.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ProcessStatusChangeRequestEvent &a, ProcessStatusChangeRequestEvent &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.processIdentity, b.processIdentity);
+}
+
+ProcessStatusChangeRequestEvent::ProcessStatusChangeRequestEvent(const ProcessStatusChangeRequestEvent& other17) {
+  state = other17.state;
+  processIdentity = other17.processIdentity;
+}
+ProcessStatusChangeRequestEvent& ProcessStatusChangeRequestEvent::operator=(const ProcessStatusChangeRequestEvent& other18) {
+  state = other18.state;
+  processIdentity = other18.processIdentity;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ProcessStatusChangeRequestEvent& obj) {
+  using apache::thrift::to_string;
+  out << "ProcessStatusChangeRequestEvent(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "processIdentity=" << to_string(obj.processIdentity);
+  out << ")";
+  return out;
+}
+
+
+TaskOutputChangeEvent::~TaskOutputChangeEvent() throw() {
+}
+
+
+void TaskOutputChangeEvent::__set_output(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val) {
+  this->output = val;
+}
+
+void TaskOutputChangeEvent::__set_taskIdentity(const TaskIdentifier& val) {
+  this->taskIdentity = val;
+}
+
+const char* TaskOutputChangeEvent::ascii_fingerprint = "C7C71D05D69F7D8C4A11C9E432FF5A51";
+const uint8_t TaskOutputChangeEvent::binary_fingerprint[16] = {0xC7,0xC7,0x1D,0x05,0xD6,0x9F,0x7D,0x8C,0x4A,0x11,0xC9,0xE4,0x32,0xFF,0x5A,0x51};
+
+uint32_t TaskOutputChangeEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_output = false;
+  bool isset_taskIdentity = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->output.clear();
+            uint32_t _size19;
+            ::apache::thrift::protocol::TType _etype22;
+            xfer += iprot->readListBegin(_etype22, _size19);
+            this->output.resize(_size19);
+            uint32_t _i23;
+            for (_i23 = 0; _i23 < _size19; ++_i23)
+            {
+              xfer += this->output[_i23].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_output = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->taskIdentity.read(iprot);
+          isset_taskIdentity = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_output)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_taskIdentity)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TaskOutputChangeEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("TaskOutputChangeEvent");
+
+  xfer += oprot->writeFieldBegin("output", ::apache::thrift::protocol::T_LIST, 1);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->output.size()));
+    std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter24;
+    for (_iter24 = this->output.begin(); _iter24 != this->output.end(); ++_iter24)
+    {
+      xfer += (*_iter24).write(oprot);
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("taskIdentity", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->taskIdentity.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(TaskOutputChangeEvent &a, TaskOutputChangeEvent &b) {
+  using ::std::swap;
+  swap(a.output, b.output);
+  swap(a.taskIdentity, b.taskIdentity);
+}
+
+TaskOutputChangeEvent::TaskOutputChangeEvent(const TaskOutputChangeEvent& other25) {
+  output = other25.output;
+  taskIdentity = other25.taskIdentity;
+}
+TaskOutputChangeEvent& TaskOutputChangeEvent::operator=(const TaskOutputChangeEvent& other26) {
+  output = other26.output;
+  taskIdentity = other26.taskIdentity;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const TaskOutputChangeEvent& obj) {
+  using apache::thrift::to_string;
+  out << "TaskOutputChangeEvent(";
+  out << "output=" << to_string(obj.output);
+  out << ", " << "taskIdentity=" << to_string(obj.taskIdentity);
+  out << ")";
+  return out;
+}
+
+
+JobIdentifier::~JobIdentifier() throw() {
+}
+
+
+void JobIdentifier::__set_jobId(const std::string& val) {
+  this->jobId = val;
+}
+
+void JobIdentifier::__set_taskId(const std::string& val) {
+  this->taskId = val;
+}
+
+void JobIdentifier::__set_processId(const std::string& val) {
+  this->processId = val;
+}
+
+void JobIdentifier::__set_experimentId(const std::string& val) {
+  this->experimentId = val;
+}
+
+void JobIdentifier::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+const char* JobIdentifier::ascii_fingerprint = "BFF0E21728CB005F9AA5774A41542B8D";
+const uint8_t JobIdentifier::binary_fingerprint[16] = {0xBF,0xF0,0xE2,0x17,0x28,0xCB,0x00,0x5F,0x9A,0xA5,0x77,0x4A,0x41,0x54,0x2B,0x8D};
+
+uint32_t JobIdentifier::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_jobId = false;
+  bool isset_taskId = false;
+  bool isset_processId = false;
+  bool isset_experimentId = false;
+  bool isset_gatewayId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobId);
+          isset_jobId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->taskId);
+          isset_taskId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->processId);
+          isset_processId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentId);
+          isset_experimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_jobId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_taskId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_processId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_experimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t JobIdentifier::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("JobIdentifier");
+
+  xfer += oprot->writeFieldBegin("jobId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->jobId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("taskId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->taskId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("processId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->processId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experimentId", ::apache::thrift::protocol::T_STRING, 4);
+  xfer += oprot->writeString(this->experimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 5);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(JobIdentifier &a, JobIdentifier &b) {
+  using ::std::swap;
+  swap(a.jobId, b.jobId);
+  swap(a.taskId, b.taskId);
+  swap(a.processId, b.processId);
+  swap(a.experimentId, b.experimentId);
+  swap(a.gatewayId, b.gatewayId);
+}
+
+JobIdentifier::JobIdentifier(const JobIdentifier& other27) {
+  jobId = other27.jobId;
+  taskId = other27.taskId;
+  processId = other27.processId;
+  experimentId = other27.experimentId;
+  gatewayId = other27.gatewayId;
+}
+JobIdentifier& JobIdentifier::operator=(const JobIdentifier& other28) {
+  jobId = other28.jobId;
+  taskId = other28.taskId;
+  processId = other28.processId;
+  experimentId = other28.experimentId;
+  gatewayId = other28.gatewayId;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const JobIdentifier& obj) {
+  using apache::thrift::to_string;
+  out << "JobIdentifier(";
+  out << "jobId=" << to_string(obj.jobId);
+  out << ", " << "taskId=" << to_string(obj.taskId);
+  out << ", " << "processId=" << to_string(obj.processId);
+  out << ", " << "experimentId=" << to_string(obj.experimentId);
+  out << ", " << "gatewayId=" << to_string(obj.gatewayId);
+  out << ")";
+  return out;
+}
+
+
+ProcessSubmitEvent::~ProcessSubmitEvent() throw() {
+}
+
+
+void ProcessSubmitEvent::__set_processId(const std::string& val) {
+  this->processId = val;
+}
+
+void ProcessSubmitEvent::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void ProcessSubmitEvent::__set_tokenId(const std::string& val) {
+  this->tokenId = val;
+}
+
+const char* ProcessSubmitEvent::ascii_fingerprint = "AB879940BD15B6B25691265F7384B271";
+const uint8_t ProcessSubmitEvent::binary_fingerprint[16] = {0xAB,0x87,0x99,0x40,0xBD,0x15,0xB6,0xB2,0x56,0x91,0x26,0x5F,0x73,0x84,0xB2,0x71};
+
+uint32_t ProcessSubmitEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_processId = false;
+  bool isset_gatewayId = false;
+  bool isset_tokenId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->processId);
+          isset_processId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->tokenId);
+          isset_tokenId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_processId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_tokenId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ProcessSubmitEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ProcessSubmitEvent");
+
+  xfer += oprot->writeFieldBegin("processId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->processId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("tokenId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->tokenId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ProcessSubmitEvent &a, ProcessSubmitEvent &b) {
+  using ::std::swap;
+  swap(a.processId, b.processId);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.tokenId, b.tokenId);
+}
+
+ProcessSubmitEvent::ProcessSubmitEvent(const ProcessSubmitEvent& other29) {
+  processId = other29.processId;
+  gatewayId = other29.gatewayId;
+  tokenId = other29.tokenId;
+}
+ProcessSubmitEvent& ProcessSubmitEvent::operator=(const ProcessSubmitEvent& other30) {
+  processId = other30.processId;
+  gatewayId = other30.gatewayId;
+  tokenId = other30.tokenId;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ProcessSubmitEvent& obj) {
+  using apache::thrift::to_string;
+  out << "ProcessSubmitEvent(";
+  out << "processId=" << to_string(obj.processId);
+  out << ", " << "gatewayId=" << to_string(obj.gatewayId);
+  out << ", " << "tokenId=" << to_string(obj.tokenId);
+  out << ")";
+  return out;
+}
+
+
+ProcessTerminateEvent::~ProcessTerminateEvent() throw() {
+}
+
+
+void ProcessTerminateEvent::__set_processId(const std::string& val) {
+  this->processId = val;
+}
+
+void ProcessTerminateEvent::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void ProcessTerminateEvent::__set_tokenId(const std::string& val) {
+  this->tokenId = val;
+}
+
+const char* ProcessTerminateEvent::ascii_fingerprint = "AB879940BD15B6B25691265F7384B271";
+const uint8_t ProcessTerminateEvent::binary_fingerprint[16] = {0xAB,0x87,0x99,0x40,0xBD,0x15,0xB6,0xB2,0x56,0x91,0x26,0x5F,0x73,0x84,0xB2,0x71};
+
+uint32_t ProcessTerminateEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_processId = false;
+  bool isset_gatewayId = false;
+  bool isset_tokenId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->processId);
+          isset_processId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->tokenId);
+          isset_tokenId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_processId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_tokenId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ProcessTerminateEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ProcessTerminateEvent");
+
+  xfer += oprot->writeFieldBegin("processId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->processId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("tokenId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->tokenId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ProcessTerminateEvent &a, ProcessTerminateEvent &b) {
+  using ::std::swap;
+  swap(a.processId, b.processId);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.tokenId, b.tokenId);
+}
+
+ProcessTerminateEvent::ProcessTerminateEvent(const ProcessTerminateEvent& other31) {
+  processId = other31.processId;
+  gatewayId = other31.gatewayId;
+  tokenId = other31.tokenId;
+}
+ProcessTerminateEvent& ProcessTerminateEvent::operator=(const ProcessTerminateEvent& other32) {
+  processId = other32.processId;
+  gatewayId = other32.gatewayId;
+  tokenId = other32.tokenId;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ProcessTerminateEvent& obj) {
+  using apache::thrift::to_string;
+  out << "ProcessTerminateEvent(";
+  out << "processId=" << to_string(obj.processId);
+  out << ", " << "gatewayId=" << to_string(obj.gatewayId);
+  out << ", " << "tokenId=" << to_string(obj.tokenId);
+  out << ")";
+  return out;
+}
+
+
+JobStatusChangeEvent::~JobStatusChangeEvent() throw() {
+}
+
+
+void JobStatusChangeEvent::__set_state(const  ::apache::airavata::model::status::JobState::type val) {
+  this->state = val;
+}
+
+void JobStatusChangeEvent::__set_jobIdentity(const JobIdentifier& val) {
+  this->jobIdentity = val;
+}
+
+const char* JobStatusChangeEvent::ascii_fingerprint = "062775D589B60D1687103FD465B0F5E8";
+const uint8_t JobStatusChangeEvent::binary_fingerprint[16] = {0x06,0x27,0x75,0xD5,0x89,0xB6,0x0D,0x16,0x87,0x10,0x3F,0xD4,0x65,0xB0,0xF5,0xE8};
+
+uint32_t JobStatusChangeEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+  bool isset_jobIdentity = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast33;
+          xfer += iprot->readI32(ecast33);
+          this->state = ( ::apache::airavata::model::status::JobState::type)ecast33;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->jobIdentity.read(iprot);
+          isset_jobIdentity = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_jobIdentity)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t JobStatusChangeEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("JobStatusChangeEvent");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("jobIdentity", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->jobIdentity.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(JobStatusChangeEvent &a, JobStatusChangeEvent &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.jobIdentity, b.jobIdentity);
+}
+
+JobStatusChangeEvent::JobStatusChangeEvent(const JobStatusChangeEvent& other34) {
+  state = other34.state;
+  jobIdentity = other34.jobIdentity;
+}
+JobStatusChangeEvent& JobStatusChangeEvent::operator=(const JobStatusChangeEvent& other35) {
+  state = other35.state;
+  jobIdentity = other35.jobIdentity;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const JobStatusChangeEvent& obj) {
+  using apache::thrift::to_string;
+  out << "JobStatusChangeEvent(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "jobIdentity=" << to_string(obj.jobIdentity);
+  out << ")";
+  return out;
+}
+
+
+JobStatusChangeRequestEvent::~JobStatusChangeRequestEvent() throw() {
+}
+
+
+void JobStatusChangeRequestEvent::__set_state(const  ::apache::airavata::model::status::JobState::type val) {
+  this->state = val;
+}
+
+void JobStatusChangeRequestEvent::__set_jobIdentity(const JobIdentifier& val) {
+  this->jobIdentity = val;
+}
+
+const char* JobStatusChangeRequestEvent::ascii_fingerprint = "062775D589B60D1687103FD465B0F5E8";
+const uint8_t JobStatusChangeRequestEvent::binary_fingerprint[16] = {0x06,0x27,0x75,0xD5,0x89,0xB6,0x0D,0x16,0x87,0x10,0x3F,0xD4,0x65,0xB0,0xF5,0xE8};
+
+uint32_t JobStatusChangeRequestEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_state = false;
+  bool isset_jobIdentity = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast36;
+          xfer += iprot->readI32(ecast36);
+          this->state = ( ::apache::airavata::model::status::JobState::type)ecast36;
+          isset_state = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->jobIdentity.read(iprot);
+          isset_jobIdentity = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_state)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_jobIdentity)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t JobStatusChangeRequestEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("JobStatusChangeRequestEvent");
+
+  xfer += oprot->writeFieldBegin("state", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->state);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("jobIdentity", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->jobIdentity.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(JobStatusChangeRequestEvent &a, JobStatusChangeRequestEvent &b) {
+  using ::std::swap;
+  swap(a.state, b.state);
+  swap(a.jobIdentity, b.jobIdentity);
+}
+
+JobStatusChangeRequestEvent::JobStatusChangeRequestEvent(const JobStatusChangeRequestEvent& other37) {
+  state = other37.state;
+  jobIdentity = other37.jobIdentity;
+}
+JobStatusChangeRequestEvent& JobStatusChangeRequestEvent::operator=(const JobStatusChangeRequestEvent& other38) {
+  state = other38.state;
+  jobIdentity = other38.jobIdentity;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const JobStatusChangeRequestEvent& obj) {
+  using apache::thrift::to_string;
+  out << "JobStatusChangeRequestEvent(";
+  out << "state=" << to_string(obj.state);
+  out << ", " << "jobIdentity=" << to_string(obj.jobIdentity);
+  out << ")";
+  return out;
+}
+
+
+Message::~Message() throw() {
+}
+
+
+void Message::__set_event(const std::string& val) {
+  this->event = val;
+}
+
+void Message::__set_messageId(const std::string& val) {
+  this->messageId = val;
+}
+
+void Message::__set_messageType(const MessageType::type val) {
+  this->messageType = val;
+}
+
+void Message::__set_updatedTime(const int64_t val) {
+  this->updatedTime = val;
+__isset.updatedTime = true;
+}
+
+void Message::__set_messageLevel(const MessageLevel::type val) {
+  this->messageLevel = val;
+__isset.messageLevel = true;
+}
+
+const char* Message::ascii_fingerprint = "6904C391426E568AF9DEAF69860C076A";
+const uint8_t Message::binary_fingerprint[16] = {0x69,0x04,0xC3,0x91,0x42,0x6E,0x56,0x8A,0xF9,0xDE,0xAF,0x69,0x86,0x0C,0x07,0x6A};
+
+uint32_t Message::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_event = false;
+  bool isset_messageId = false;
+  bool isset_messageType = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readBinary(this->event);
+          isset_event = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->messageId);
+          isset_messageId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast39;
+          xfer += iprot->readI32(ecast39);
+          this->messageType = (MessageType::type)ecast39;
+          isset_messageType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->updatedTime);
+          this->__isset.updatedTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast40;
+          xfer += iprot->readI32(ecast40);
+          this->messageLevel = (MessageLevel::type)ecast40;
+          this->__isset.messageLevel = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_event)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_messageId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_messageType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Message::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("Message");
+
+  xfer += oprot->writeFieldBegin("event", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeBinary(this->event);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("messageId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->messageId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("messageType", ::apache::thrift::protocol::T_I32, 3);
+  xfer += oprot->writeI32((int32_t)this->messageType);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.updatedTime) {
+    xfer += oprot->writeFieldBegin("updatedTime", ::apache::thrift::protocol::T_I64, 4);
+    xfer += oprot->writeI64(this->updatedTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.messageLevel) {
+    xfer += oprot->writeFieldBegin("messageLevel", ::apache::thrift::protocol::T_I32, 5);
+    xfer += oprot->writeI32((int32_t)this->messageLevel);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(Message &a, Message &b) {
+  using ::std::swap;
+  swap(a.event, b.event);
+  swap(a.messageId, b.messageId);
+  swap(a.messageType, b.messageType);
+  swap(a.updatedTime, b.updatedTime);
+  swap(a.messageLevel, b.messageLevel);
+  swap(a.__isset, b.__isset);
+}
+
+Message::Message(const Message& other41) {
+  event = other41.event;
+  messageId = other41.messageId;
+  messageType = other41.messageType;
+  updatedTime = other41.updatedTime;
+  messageLevel = other41.messageLevel;
+  __isset = other41.__isset;
+}
+Message& Message::operator=(const Message& other42) {
+  event = other42.event;
+  messageId = other42.messageId;
+  messageType = other42.messageType;
+  updatedTime = other42.updatedTime;
+  messageLevel = other42.messageLevel;
+  __isset = other42.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const Message& obj) {
+  using apache::thrift::to_string;
+  out << "Message(";
+  out << "event=" << to_string(obj.event);
+  out << ", " << "messageId=" << to_string(obj.messageId);
+  out << ", " << "messageType=" << to_string(obj.messageType);
+  out << ", " << "updatedTime="; (obj.__isset.updatedTime ? (out << to_string(obj.updatedTime)) : (out << "<null>"));
+  out << ", " << "messageLevel="; (obj.__isset.messageLevel ? (out << to_string(obj.messageLevel)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h
new file mode 100644
index 0000000..33071ac
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h
@@ -0,0 +1,756 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef messaging_events_TYPES_H
+#define messaging_events_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "status_models_types.h"
+#include "application_io_models_types.h"
+#include "airavata_commons_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace messaging { namespace event {
+
+struct MessageLevel {
+  enum type {
+    INFO = 0,
+    DEBUG = 1,
+    ERROR = 2,
+    ACK = 3
+  };
+};
+
+extern const std::map<int, const char*> _MessageLevel_VALUES_TO_NAMES;
+
+struct MessageType {
+  enum type {
+    EXPERIMENT = 0,
+    TASK = 1,
+    PROCESS = 2,
+    JOB = 3,
+    LAUNCHPROCESS = 4,
+    TERMINATEPROCESS = 5,
+    PROCESSOUTPUT = 6
+  };
+};
+
+extern const std::map<int, const char*> _MessageType_VALUES_TO_NAMES;
+
+class ExperimentStatusChangeEvent;
+
+class ProcessIdentifier;
+
+class TaskIdentifier;
+
+class TaskStatusChangeEvent;
+
+class TaskStatusChangeRequestEvent;
+
+class ProcessStatusChangeEvent;
+
+class ProcessStatusChangeRequestEvent;
+
+class TaskOutputChangeEvent;
+
+class JobIdentifier;
+
+class ProcessSubmitEvent;
+
+class ProcessTerminateEvent;
+
+class JobStatusChangeEvent;
+
+class JobStatusChangeRequestEvent;
+
+class Message;
+
+
+class ExperimentStatusChangeEvent {
+ public:
+
+  static const char* ascii_fingerprint; // = "38C252E94E93B69D04EB3A6EE2F9EDFB";
+  static const uint8_t binary_fingerprint[16]; // = {0x38,0xC2,0x52,0xE9,0x4E,0x93,0xB6,0x9D,0x04,0xEB,0x3A,0x6E,0xE2,0xF9,0xED,0xFB};
+
+  ExperimentStatusChangeEvent(const ExperimentStatusChangeEvent&);
+  ExperimentStatusChangeEvent& operator=(const ExperimentStatusChangeEvent&);
+  ExperimentStatusChangeEvent() : state(( ::apache::airavata::model::status::ExperimentState::type)0), experimentId(), gatewayId() {
+  }
+
+  virtual ~ExperimentStatusChangeEvent() throw();
+   ::apache::airavata::model::status::ExperimentState::type state;
+  std::string experimentId;
+  std::string gatewayId;
+
+  void __set_state(const  ::apache::airavata::model::status::ExperimentState::type val);
+
+  void __set_experimentId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  bool operator == (const ExperimentStatusChangeEvent & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (!(experimentId == rhs.experimentId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentStatusChangeEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentStatusChangeEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ExperimentStatusChangeEvent& obj);
+};
+
+void swap(ExperimentStatusChangeEvent &a, ExperimentStatusChangeEvent &b);
+
+
+class ProcessIdentifier {
+ public:
+
+  static const char* ascii_fingerprint; // = "AB879940BD15B6B25691265F7384B271";
+  static const uint8_t binary_fingerprint[16]; // = {0xAB,0x87,0x99,0x40,0xBD,0x15,0xB6,0xB2,0x56,0x91,0x26,0x5F,0x73,0x84,0xB2,0x71};
+
+  ProcessIdentifier(const ProcessIdentifier&);
+  ProcessIdentifier& operator=(const ProcessIdentifier&);
+  ProcessIdentifier() : processId(), experimentId(), gatewayId() {
+  }
+
+  virtual ~ProcessIdentifier() throw();
+  std::string processId;
+  std::string experimentId;
+  std::string gatewayId;
+
+  void __set_processId(const std::string& val);
+
+  void __set_experimentId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  bool operator == (const ProcessIdentifier & rhs) const
+  {
+    if (!(processId == rhs.processId))
+      return false;
+    if (!(experimentId == rhs.experimentId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    return true;
+  }
+  bool operator != (const ProcessIdentifier &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ProcessIdentifier & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ProcessIdentifier& obj);
+};
+
+void swap(ProcessIdentifier &a, ProcessIdentifier &b);
+
+
+class TaskIdentifier {
+ public:
+
+  static const char* ascii_fingerprint; // = "C93D890311F28844166CF6E571EB3AC2";
+  static const uint8_t binary_fingerprint[16]; // = {0xC9,0x3D,0x89,0x03,0x11,0xF2,0x88,0x44,0x16,0x6C,0xF6,0xE5,0x71,0xEB,0x3A,0xC2};
+
+  TaskIdentifier(const TaskIdentifier&);
+  TaskIdentifier& operator=(const TaskIdentifier&);
+  TaskIdentifier() : taskId(), processId(), experimentId(), gatewayId() {
+  }
+
+  virtual ~TaskIdentifier() throw();
+  std::string taskId;
+  std::string processId;
+  std::string experimentId;
+  std::string gatewayId;
+
+  void __set_taskId(const std::string& val);
+
+  void __set_processId(const std::string& val);
+
+  void __set_experimentId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  bool operator == (const TaskIdentifier & rhs) const
+  {
+    if (!(taskId == rhs.taskId))
+      return false;
+    if (!(processId == rhs.processId))
+      return false;
+    if (!(experimentId == rhs.experimentId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    return true;
+  }
+  bool operator != (const TaskIdentifier &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TaskIdentifier & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const TaskIdentifier& obj);
+};
+
+void swap(TaskIdentifier &a, TaskIdentifier &b);
+
+
+class TaskStatusChangeEvent {
+ public:
+
+  static const char* ascii_fingerprint; // = "8D18A3CD1822DBC67D7BD8CB98E7B4F1";
+  static const uint8_t binary_fingerprint[16]; // = {0x8D,0x18,0xA3,0xCD,0x18,0x22,0xDB,0xC6,0x7D,0x7B,0xD8,0xCB,0x98,0xE7,0xB4,0xF1};
+
+  TaskStatusChangeEvent(const TaskStatusChangeEvent&);
+  TaskStatusChangeEvent& operator=(const TaskStatusChangeEvent&);
+  TaskStatusChangeEvent() : state(( ::apache::airavata::model::status::TaskState::type)0) {
+  }
+
+  virtual ~TaskStatusChangeEvent() throw();
+   ::apache::airavata::model::status::TaskState::type state;
+  TaskIdentifier taskIdentity;
+
+  void __set_state(const  ::apache::airavata::model::status::TaskState::type val);
+
+  void __set_taskIdentity(const TaskIdentifier& val);
+
+  bool operator == (const TaskStatusChangeEvent & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (!(taskIdentity == rhs.taskIdentity))
+      return false;
+    return true;
+  }
+  bool operator != (const TaskStatusChangeEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TaskStatusChangeEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const TaskStatusChangeEvent& obj);
+};
+
+void swap(TaskStatusChangeEvent &a, TaskStatusChangeEvent &b);
+
+
+class TaskStatusChangeRequestEvent {
+ public:
+
+  static const char* ascii_fingerprint; // = "8D18A3CD1822DBC67D7BD8CB98E7B4F1";
+  static const uint8_t binary_fingerprint[16]; // = {0x8D,0x18,0xA3,0xCD,0x18,0x22,0xDB,0xC6,0x7D,0x7B,0xD8,0xCB,0x98,0xE7,0xB4,0xF1};
+
+  TaskStatusChangeRequestEvent(const TaskStatusChangeRequestEvent&);
+  TaskStatusChangeRequestEvent& operator=(const TaskStatusChangeRequestEvent&);
+  TaskStatusChangeRequestEvent() : state(( ::apache::airavata::model::status::TaskState::type)0) {
+  }
+
+  virtual ~TaskStatusChangeRequestEvent() throw();
+   ::apache::airavata::model::status::TaskState::type state;
+  TaskIdentifier taskIdentity;
+
+  void __set_state(const  ::apache::airavata::model::status::TaskState::type val);
+
+  void __set_taskIdentity(const TaskIdentifier& val);
+
+  bool operator == (const TaskStatusChangeRequestEvent & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (!(taskIdentity == rhs.taskIdentity))
+      return false;
+    return true;
+  }
+  bool operator != (const TaskStatusChangeRequestEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TaskStatusChangeRequestEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const TaskStatusChangeRequestEvent& obj);
+};
+
+void swap(TaskStatusChangeRequestEvent &a, TaskStatusChangeRequestEvent &b);
+
+
+class ProcessStatusChangeEvent {
+ public:
+
+  static const char* ascii_fingerprint; // = "9686679C94D43D75F2B35A0BED2E4003";
+  static const uint8_t binary_fingerprint[16]; // = {0x96,0x86,0x67,0x9C,0x94,0xD4,0x3D,0x75,0xF2,0xB3,0x5A,0x0B,0xED,0x2E,0x40,0x03};
+
+  ProcessStatusChangeEvent(const ProcessStatusChangeEvent&);
+  ProcessStatusChangeEvent& operator=(const ProcessStatusChangeEvent&);
+  ProcessStatusChangeEvent() : state(( ::apache::airavata::model::status::ProcessState::type)0) {
+  }
+
+  virtual ~ProcessStatusChangeEvent() throw();
+   ::apache::airavata::model::status::ProcessState::type state;
+  ProcessIdentifier processIdentity;
+
+  void __set_state(const  ::apache::airavata::model::status::ProcessState::type val);
+
+  void __set_processIdentity(const ProcessIdentifier& val);
+
+  bool operator == (const ProcessStatusChangeEvent & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (!(processIdentity == rhs.processIdentity))
+      return false;
+    return true;
+  }
+  bool operator != (const ProcessStatusChangeEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ProcessStatusChangeEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ProcessStatusChangeEvent& obj);
+};
+
+void swap(ProcessStatusChangeEvent &a, ProcessStatusChangeEvent &b);
+
+
+class ProcessStatusChangeRequestEvent {
+ public:
+
+  static const char* ascii_fingerprint; // = "9686679C94D43D75F2B35A0BED2E4003";
+  static const uint8_t binary_fingerprint[16]; // = {0x96,0x86,0x67,0x9C,0x94,0xD4,0x3D,0x75,0xF2,0xB3,0x5A,0x0B,0xED,0x2E,0x40,0x03};
+
+  ProcessStatusChangeRequestEvent(const ProcessStatusChangeRequestEvent&);
+  ProcessStatusChangeRequestEvent& operator=(const ProcessStatusChangeRequestEvent&);
+  ProcessStatusChangeRequestEvent() : state(( ::apache::airavata::model::status::ProcessState::type)0) {
+  }
+
+  virtual ~ProcessStatusChangeRequestEvent() throw();
+   ::apache::airavata::model::status::ProcessState::type state;
+  ProcessIdentifier processIdentity;
+
+  void __set_state(const  ::apache::airavata::model::status::ProcessState::type val);
+
+  void __set_processIdentity(const ProcessIdentifier& val);
+
+  bool operator == (const ProcessStatusChangeRequestEvent & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (!(processIdentity == rhs.processIdentity))
+      return false;
+    return true;
+  }
+  bool operator != (const ProcessStatusChangeRequestEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ProcessStatusChangeRequestEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ProcessStatusChangeRequestEvent& obj);
+};
+
+void swap(ProcessStatusChangeRequestEvent &a, ProcessStatusChangeRequestEvent &b);
+
+
+class TaskOutputChangeEvent {
+ public:
+
+  static const char* ascii_fingerprint; // = "C7C71D05D69F7D8C4A11C9E432FF5A51";
+  static const uint8_t binary_fingerprint[16]; // = {0xC7,0xC7,0x1D,0x05,0xD6,0x9F,0x7D,0x8C,0x4A,0x11,0xC9,0xE4,0x32,0xFF,0x5A,0x51};
+
+  TaskOutputChangeEvent(const TaskOutputChangeEvent&);
+  TaskOutputChangeEvent& operator=(const TaskOutputChangeEvent&);
+  TaskOutputChangeEvent() {
+  }
+
+  virtual ~TaskOutputChangeEvent() throw();
+  std::vector< ::apache::airavata::model::application::io::OutputDataObjectType>  output;
+  TaskIdentifier taskIdentity;
+
+  void __set_output(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val);
+
+  void __set_taskIdentity(const TaskIdentifier& val);
+
+  bool operator == (const TaskOutputChangeEvent & rhs) const
+  {
+    if (!(output == rhs.output))
+      return false;
+    if (!(taskIdentity == rhs.taskIdentity))
+      return false;
+    return true;
+  }
+  bool operator != (const TaskOutputChangeEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TaskOutputChangeEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const TaskOutputChangeEvent& obj);
+};
+
+void swap(TaskOutputChangeEvent &a, TaskOutputChangeEvent &b);
+
+
+class JobIdentifier {
+ public:
+
+  static const char* ascii_fingerprint; // = "BFF0E21728CB005F9AA5774A41542B8D";
+  static const uint8_t binary_fingerprint[16]; // = {0xBF,0xF0,0xE2,0x17,0x28,0xCB,0x00,0x5F,0x9A,0xA5,0x77,0x4A,0x41,0x54,0x2B,0x8D};
+
+  JobIdentifier(const JobIdentifier&);
+  JobIdentifier& operator=(const JobIdentifier&);
+  JobIdentifier() : jobId(), taskId(), processId(), experimentId(), gatewayId() {
+  }
+
+  virtual ~JobIdentifier() throw();
+  std::string jobId;
+  std::string taskId;
+  std::string processId;
+  std::string experimentId;
+  std::string gatewayId;
+
+  void __set_jobId(const std::string& val);
+
+  void __set_taskId(const std::string& val);
+
+  void __set_processId(const std::string& val);
+
+  void __set_experimentId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  bool operator == (const JobIdentifier & rhs) const
+  {
+    if (!(jobId == rhs.jobId))
+      return false;
+    if (!(taskId == rhs.taskId))
+      return false;
+    if (!(processId == rhs.processId))
+      return false;
+    if (!(experimentId == rhs.experimentId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    return true;
+  }
+  bool operator != (const JobIdentifier &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const JobIdentifier & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const JobIdentifier& obj);
+};
+
+void swap(JobIdentifier &a, JobIdentifier &b);
+
+
+class ProcessSubmitEvent {
+ public:
+
+  static const char* ascii_fingerprint; // = "AB879940BD15B6B25691265F7384B271";
+  static const uint8_t binary_fingerprint[16]; // = {0xAB,0x87,0x99,0x40,0xBD,0x15,0xB6,0xB2,0x56,0x91,0x26,0x5F,0x73,0x84,0xB2,0x71};
+
+  ProcessSubmitEvent(const ProcessSubmitEvent&);
+  ProcessSubmitEvent& operator=(const ProcessSubmitEvent&);
+  ProcessSubmitEvent() : processId(), gatewayId(), tokenId() {
+  }
+
+  virtual ~ProcessSubmitEvent() throw();
+  std::string processId;
+  std::string gatewayId;
+  std::string tokenId;
+
+  void __set_processId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_tokenId(const std::string& val);
+
+  bool operator == (const ProcessSubmitEvent & rhs) const
+  {
+    if (!(processId == rhs.processId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(tokenId == rhs.tokenId))
+      return false;
+    return true;
+  }
+  bool operator != (const ProcessSubmitEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ProcessSubmitEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ProcessSubmitEvent& obj);
+};
+
+void swap(ProcessSubmitEvent &a, ProcessSubmitEvent &b);
+
+
+class ProcessTerminateEvent {
+ public:
+
+  static const char* ascii_fingerprint; // = "AB879940BD15B6B25691265F7384B271";
+  static const uint8_t binary_fingerprint[16]; // = {0xAB,0x87,0x99,0x40,0xBD,0x15,0xB6,0xB2,0x56,0x91,0x26,0x5F,0x73,0x84,0xB2,0x71};
+
+  ProcessTerminateEvent(const ProcessTerminateEvent&);
+  ProcessTerminateEvent& operator=(const ProcessTerminateEvent&);
+  ProcessTerminateEvent() : processId(), gatewayId(), tokenId() {
+  }
+
+  virtual ~ProcessTerminateEvent() throw();
+  std::string processId;
+  std::string gatewayId;
+  std::string tokenId;
+
+  void __set_processId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_tokenId(const std::string& val);
+
+  bool operator == (const ProcessTerminateEvent & rhs) const
+  {
+    if (!(processId == rhs.processId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(tokenId == rhs.tokenId))
+      return false;
+    return true;
+  }
+  bool operator != (const ProcessTerminateEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ProcessTerminateEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ProcessTerminateEvent& obj);
+};
+
+void swap(ProcessTerminateEvent &a, ProcessTerminateEvent &b);
+
+
+class JobStatusChangeEvent {
+ public:
+
+  static const char* ascii_fingerprint; // = "062775D589B60D1687103FD465B0F5E8";
+  static const uint8_t binary_fingerprint[16]; // = {0x06,0x27,0x75,0xD5,0x89,0xB6,0x0D,0x16,0x87,0x10,0x3F,0xD4,0x65,0xB0,0xF5,0xE8};
+
+  JobStatusChangeEvent(const JobStatusChangeEvent&);
+  JobStatusChangeEvent& operator=(const JobStatusChangeEvent&);
+  JobStatusChangeEvent() : state(( ::apache::airavata::model::status::JobState::type)0) {
+  }
+
+  virtual ~JobStatusChangeEvent() throw();
+   ::apache::airavata::model::status::JobState::type state;
+  JobIdentifier jobIdentity;
+
+  void __set_state(const  ::apache::airavata::model::status::JobState::type val);
+
+  void __set_jobIdentity(const JobIdentifier& val);
+
+  bool operator == (const JobStatusChangeEvent & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (!(jobIdentity == rhs.jobIdentity))
+      return false;
+    return true;
+  }
+  bool operator != (const JobStatusChangeEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const JobStatusChangeEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const JobStatusChangeEvent& obj);
+};
+
+void swap(JobStatusChangeEvent &a, JobStatusChangeEvent &b);
+
+
+class JobStatusChangeRequestEvent {
+ public:
+
+  static const char* ascii_fingerprint; // = "062775D589B60D1687103FD465B0F5E8";
+  static const uint8_t binary_fingerprint[16]; // = {0x06,0x27,0x75,0xD5,0x89,0xB6,0x0D,0x16,0x87,0x10,0x3F,0xD4,0x65,0xB0,0xF5,0xE8};
+
+  JobStatusChangeRequestEvent(const JobStatusChangeRequestEvent&);
+  JobStatusChangeRequestEvent& operator=(const JobStatusChangeRequestEvent&);
+  JobStatusChangeRequestEvent() : state(( ::apache::airavata::model::status::JobState::type)0) {
+  }
+
+  virtual ~JobStatusChangeRequestEvent() throw();
+   ::apache::airavata::model::status::JobState::type state;
+  JobIdentifier jobIdentity;
+
+  void __set_state(const  ::apache::airavata::model::status::JobState::type val);
+
+  void __set_jobIdentity(const JobIdentifier& val);
+
+  bool operator == (const JobStatusChangeRequestEvent & rhs) const
+  {
+    if (!(state == rhs.state))
+      return false;
+    if (!(jobIdentity == rhs.jobIdentity))
+      return false;
+    return true;
+  }
+  bool operator != (const JobStatusChangeRequestEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const JobStatusChangeRequestEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const JobStatusChangeRequestEvent& obj);
+};
+
+void swap(JobStatusChangeRequestEvent &a, JobStatusChangeRequestEvent &b);
+
+typedef struct _Message__isset {
+  _Message__isset() : updatedTime(false), messageLevel(false) {}
+  bool updatedTime :1;
+  bool messageLevel :1;
+} _Message__isset;
+
+class Message {
+ public:
+
+  static const char* ascii_fingerprint; // = "6904C391426E568AF9DEAF69860C076A";
+  static const uint8_t binary_fingerprint[16]; // = {0x69,0x04,0xC3,0x91,0x42,0x6E,0x56,0x8A,0xF9,0xDE,0xAF,0x69,0x86,0x0C,0x07,0x6A};
+
+  Message(const Message&);
+  Message& operator=(const Message&);
+  Message() : event(), messageId("DO_NOT_SET_AT_CLIENTS"), messageType((MessageType::type)0), updatedTime(0), messageLevel((MessageLevel::type)0) {
+  }
+
+  virtual ~Message() throw();
+  std::string event;
+  std::string messageId;
+  MessageType::type messageType;
+  int64_t updatedTime;
+  MessageLevel::type messageLevel;
+
+  _Message__isset __isset;
+
+  void __set_event(const std::string& val);
+
+  void __set_messageId(const std::string& val);
+
+  void __set_messageType(const MessageType::type val);
+
+  void __set_updatedTime(const int64_t val);
+
+  void __set_messageLevel(const MessageLevel::type val);
+
+  bool operator == (const Message & rhs) const
+  {
+    if (!(event == rhs.event))
+      return false;
+    if (!(messageId == rhs.messageId))
+      return false;
+    if (!(messageType == rhs.messageType))
+      return false;
+    if (__isset.updatedTime != rhs.__isset.updatedTime)
+      return false;
+    else if (__isset.updatedTime && !(updatedTime == rhs.updatedTime))
+      return false;
+    if (__isset.messageLevel != rhs.__isset.messageLevel)
+      return false;
+    else if (__isset.messageLevel && !(messageLevel == rhs.messageLevel))
+      return false;
+    return true;
+  }
+  bool operator != (const Message &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Message & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const Message& obj);
+};
+
+void swap(Message &a, Message &b);
+
+}}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_constants.cpp
new file mode 100644
index 0000000..15f2235
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "process_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace process {
+
+const process_modelConstants g_process_model_constants;
+
+process_modelConstants::process_modelConstants() {
+}
+
+}}}} // namespace
+


[12/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
new file mode 100644
index 0000000..d70178d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
@@ -0,0 +1,2663 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "compute_resource_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
+
+int _kResourceJobManagerTypeValues[] = {
+  ResourceJobManagerType::FORK,
+  ResourceJobManagerType::PBS,
+  ResourceJobManagerType::SLURM,
+  ResourceJobManagerType::LSF,
+  ResourceJobManagerType::UGE
+};
+const char* _kResourceJobManagerTypeNames[] = {
+  "FORK",
+  "PBS",
+  "SLURM",
+  "LSF",
+  "UGE"
+};
+const std::map<int, const char*> _ResourceJobManagerType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kResourceJobManagerTypeValues, _kResourceJobManagerTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kJobManagerCommandValues[] = {
+  JobManagerCommand::SUBMISSION,
+  JobManagerCommand::JOB_MONITORING,
+  JobManagerCommand::DELETION,
+  JobManagerCommand::CHECK_JOB,
+  JobManagerCommand::SHOW_QUEUE,
+  JobManagerCommand::SHOW_RESERVATION,
+  JobManagerCommand::SHOW_START
+};
+const char* _kJobManagerCommandNames[] = {
+  "SUBMISSION",
+  "JOB_MONITORING",
+  "DELETION",
+  "CHECK_JOB",
+  "SHOW_QUEUE",
+  "SHOW_RESERVATION",
+  "SHOW_START"
+};
+const std::map<int, const char*> _JobManagerCommand_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kJobManagerCommandValues, _kJobManagerCommandNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kFileSystemsValues[] = {
+  FileSystems::HOME,
+  FileSystems::WORK,
+  FileSystems::LOCALTMP,
+  FileSystems::SCRATCH,
+  FileSystems::ARCHIVE
+};
+const char* _kFileSystemsNames[] = {
+  "HOME",
+  "WORK",
+  "LOCALTMP",
+  "SCRATCH",
+  "ARCHIVE"
+};
+const std::map<int, const char*> _FileSystems_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kFileSystemsValues, _kFileSystemsNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kSecurityProtocolValues[] = {
+  SecurityProtocol::USERNAME_PASSWORD,
+  SecurityProtocol::SSH_KEYS,
+  SecurityProtocol::GSI,
+  SecurityProtocol::KERBEROS,
+  SecurityProtocol::OAUTH
+};
+const char* _kSecurityProtocolNames[] = {
+  "USERNAME_PASSWORD",
+  "SSH_KEYS",
+  "GSI",
+  "KERBEROS",
+  "OAUTH"
+};
+const std::map<int, const char*> _SecurityProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kSecurityProtocolValues, _kSecurityProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kJobSubmissionProtocolValues[] = {
+  JobSubmissionProtocol::LOCAL,
+  JobSubmissionProtocol::SSH,
+  JobSubmissionProtocol::GLOBUS,
+  JobSubmissionProtocol::UNICORE,
+  JobSubmissionProtocol::CLOUD
+};
+const char* _kJobSubmissionProtocolNames[] = {
+  "LOCAL",
+  "SSH",
+  "GLOBUS",
+  "UNICORE",
+  "CLOUD"
+};
+const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kJobSubmissionProtocolValues, _kJobSubmissionProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kMonitorModeValues[] = {
+  MonitorMode::POLL_JOB_MANAGER,
+  MonitorMode::JOB_EMAIL_NOTIFICATION_MONITOR,
+  MonitorMode::XSEDE_AMQP_SUBSCRIBE
+};
+const char* _kMonitorModeNames[] = {
+  "POLL_JOB_MANAGER",
+  "JOB_EMAIL_NOTIFICATION_MONITOR",
+  "XSEDE_AMQP_SUBSCRIBE"
+};
+const std::map<int, const char*> _MonitorMode_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kMonitorModeValues, _kMonitorModeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kDataMovementProtocolValues[] = {
+  DataMovementProtocol::LOCAL,
+  DataMovementProtocol::SCP,
+  DataMovementProtocol::SFTP,
+  DataMovementProtocol::GridFTP,
+  DataMovementProtocol::UNICORE_STORAGE_SERVICE
+};
+const char* _kDataMovementProtocolNames[] = {
+  "LOCAL",
+  "SCP",
+  "SFTP",
+  "GridFTP",
+  "UNICORE_STORAGE_SERVICE"
+};
+const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kDataMovementProtocolValues, _kDataMovementProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kProviderNameValues[] = {
+  ProviderName::EC2,
+  ProviderName::AWSEC2,
+  ProviderName::RACKSPACE
+};
+const char* _kProviderNameNames[] = {
+  "EC2",
+  "AWSEC2",
+  "RACKSPACE"
+};
+const std::map<int, const char*> _ProviderName_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kProviderNameValues, _kProviderNameNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+ResourceJobManager::~ResourceJobManager() throw() {
+}
+
+
+void ResourceJobManager::__set_resourceJobManagerId(const std::string& val) {
+  this->resourceJobManagerId = val;
+}
+
+void ResourceJobManager::__set_resourceJobManagerType(const ResourceJobManagerType::type val) {
+  this->resourceJobManagerType = val;
+}
+
+void ResourceJobManager::__set_pushMonitoringEndpoint(const std::string& val) {
+  this->pushMonitoringEndpoint = val;
+__isset.pushMonitoringEndpoint = true;
+}
+
+void ResourceJobManager::__set_jobManagerBinPath(const std::string& val) {
+  this->jobManagerBinPath = val;
+__isset.jobManagerBinPath = true;
+}
+
+void ResourceJobManager::__set_jobManagerCommands(const std::map<JobManagerCommand::type, std::string> & val) {
+  this->jobManagerCommands = val;
+__isset.jobManagerCommands = true;
+}
+
+const char* ResourceJobManager::ascii_fingerprint = "F61CAF80247D0E44C8D52504F3A43BED";
+const uint8_t ResourceJobManager::binary_fingerprint[16] = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
+
+uint32_t ResourceJobManager::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_resourceJobManagerId = false;
+  bool isset_resourceJobManagerType = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->resourceJobManagerId);
+          isset_resourceJobManagerId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->resourceJobManagerType = (ResourceJobManagerType::type)ecast0;
+          isset_resourceJobManagerType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->pushMonitoringEndpoint);
+          this->__isset.pushMonitoringEndpoint = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobManagerBinPath);
+          this->__isset.jobManagerBinPath = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
+          {
+            this->jobManagerCommands.clear();
+            uint32_t _size1;
+            ::apache::thrift::protocol::TType _ktype2;
+            ::apache::thrift::protocol::TType _vtype3;
+            xfer += iprot->readMapBegin(_ktype2, _vtype3, _size1);
+            uint32_t _i5;
+            for (_i5 = 0; _i5 < _size1; ++_i5)
+            {
+              JobManagerCommand::type _key6;
+              int32_t ecast8;
+              xfer += iprot->readI32(ecast8);
+              _key6 = (JobManagerCommand::type)ecast8;
+              std::string& _val7 = this->jobManagerCommands[_key6];
+              xfer += iprot->readString(_val7);
+            }
+            xfer += iprot->readMapEnd();
+          }
+          this->__isset.jobManagerCommands = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_resourceJobManagerId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_resourceJobManagerType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ResourceJobManager::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ResourceJobManager");
+
+  xfer += oprot->writeFieldBegin("resourceJobManagerId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->resourceJobManagerId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("resourceJobManagerType", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->resourceJobManagerType);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.pushMonitoringEndpoint) {
+    xfer += oprot->writeFieldBegin("pushMonitoringEndpoint", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->pushMonitoringEndpoint);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.jobManagerBinPath) {
+    xfer += oprot->writeFieldBegin("jobManagerBinPath", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->jobManagerBinPath);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.jobManagerCommands) {
+    xfer += oprot->writeFieldBegin("jobManagerCommands", ::apache::thrift::protocol::T_MAP, 5);
+    {
+      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I32, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->jobManagerCommands.size()));
+      std::map<JobManagerCommand::type, std::string> ::const_iterator _iter9;
+      for (_iter9 = this->jobManagerCommands.begin(); _iter9 != this->jobManagerCommands.end(); ++_iter9)
+      {
+        xfer += oprot->writeI32((int32_t)_iter9->first);
+        xfer += oprot->writeString(_iter9->second);
+      }
+      xfer += oprot->writeMapEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ResourceJobManager &a, ResourceJobManager &b) {
+  using ::std::swap;
+  swap(a.resourceJobManagerId, b.resourceJobManagerId);
+  swap(a.resourceJobManagerType, b.resourceJobManagerType);
+  swap(a.pushMonitoringEndpoint, b.pushMonitoringEndpoint);
+  swap(a.jobManagerBinPath, b.jobManagerBinPath);
+  swap(a.jobManagerCommands, b.jobManagerCommands);
+  swap(a.__isset, b.__isset);
+}
+
+ResourceJobManager::ResourceJobManager(const ResourceJobManager& other10) {
+  resourceJobManagerId = other10.resourceJobManagerId;
+  resourceJobManagerType = other10.resourceJobManagerType;
+  pushMonitoringEndpoint = other10.pushMonitoringEndpoint;
+  jobManagerBinPath = other10.jobManagerBinPath;
+  jobManagerCommands = other10.jobManagerCommands;
+  __isset = other10.__isset;
+}
+ResourceJobManager& ResourceJobManager::operator=(const ResourceJobManager& other11) {
+  resourceJobManagerId = other11.resourceJobManagerId;
+  resourceJobManagerType = other11.resourceJobManagerType;
+  pushMonitoringEndpoint = other11.pushMonitoringEndpoint;
+  jobManagerBinPath = other11.jobManagerBinPath;
+  jobManagerCommands = other11.jobManagerCommands;
+  __isset = other11.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ResourceJobManager& obj) {
+  using apache::thrift::to_string;
+  out << "ResourceJobManager(";
+  out << "resourceJobManagerId=" << to_string(obj.resourceJobManagerId);
+  out << ", " << "resourceJobManagerType=" << to_string(obj.resourceJobManagerType);
+  out << ", " << "pushMonitoringEndpoint="; (obj.__isset.pushMonitoringEndpoint ? (out << to_string(obj.pushMonitoringEndpoint)) : (out << "<null>"));
+  out << ", " << "jobManagerBinPath="; (obj.__isset.jobManagerBinPath ? (out << to_string(obj.jobManagerBinPath)) : (out << "<null>"));
+  out << ", " << "jobManagerCommands="; (obj.__isset.jobManagerCommands ? (out << to_string(obj.jobManagerCommands)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+BatchQueue::~BatchQueue() throw() {
+}
+
+
+void BatchQueue::__set_queueName(const std::string& val) {
+  this->queueName = val;
+}
+
+void BatchQueue::__set_queueDescription(const std::string& val) {
+  this->queueDescription = val;
+__isset.queueDescription = true;
+}
+
+void BatchQueue::__set_maxRunTime(const int32_t val) {
+  this->maxRunTime = val;
+__isset.maxRunTime = true;
+}
+
+void BatchQueue::__set_maxNodes(const int32_t val) {
+  this->maxNodes = val;
+__isset.maxNodes = true;
+}
+
+void BatchQueue::__set_maxProcessors(const int32_t val) {
+  this->maxProcessors = val;
+__isset.maxProcessors = true;
+}
+
+void BatchQueue::__set_maxJobsInQueue(const int32_t val) {
+  this->maxJobsInQueue = val;
+__isset.maxJobsInQueue = true;
+}
+
+void BatchQueue::__set_maxMemory(const int32_t val) {
+  this->maxMemory = val;
+__isset.maxMemory = true;
+}
+
+const char* BatchQueue::ascii_fingerprint = "ED0A78585E8BA402743AC1D5D510EF9E";
+const uint8_t BatchQueue::binary_fingerprint[16] = {0xED,0x0A,0x78,0x58,0x5E,0x8B,0xA4,0x02,0x74,0x3A,0xC1,0xD5,0xD5,0x10,0xEF,0x9E};
+
+uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_queueName = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->queueName);
+          isset_queueName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->queueDescription);
+          this->__isset.queueDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->maxRunTime);
+          this->__isset.maxRunTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->maxNodes);
+          this->__isset.maxNodes = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->maxProcessors);
+          this->__isset.maxProcessors = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->maxJobsInQueue);
+          this->__isset.maxJobsInQueue = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->maxMemory);
+          this->__isset.maxMemory = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_queueName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t BatchQueue::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("BatchQueue");
+
+  xfer += oprot->writeFieldBegin("queueName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->queueName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.queueDescription) {
+    xfer += oprot->writeFieldBegin("queueDescription", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->queueDescription);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.maxRunTime) {
+    xfer += oprot->writeFieldBegin("maxRunTime", ::apache::thrift::protocol::T_I32, 3);
+    xfer += oprot->writeI32(this->maxRunTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.maxNodes) {
+    xfer += oprot->writeFieldBegin("maxNodes", ::apache::thrift::protocol::T_I32, 4);
+    xfer += oprot->writeI32(this->maxNodes);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.maxProcessors) {
+    xfer += oprot->writeFieldBegin("maxProcessors", ::apache::thrift::protocol::T_I32, 5);
+    xfer += oprot->writeI32(this->maxProcessors);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.maxJobsInQueue) {
+    xfer += oprot->writeFieldBegin("maxJobsInQueue", ::apache::thrift::protocol::T_I32, 6);
+    xfer += oprot->writeI32(this->maxJobsInQueue);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.maxMemory) {
+    xfer += oprot->writeFieldBegin("maxMemory", ::apache::thrift::protocol::T_I32, 7);
+    xfer += oprot->writeI32(this->maxMemory);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(BatchQueue &a, BatchQueue &b) {
+  using ::std::swap;
+  swap(a.queueName, b.queueName);
+  swap(a.queueDescription, b.queueDescription);
+  swap(a.maxRunTime, b.maxRunTime);
+  swap(a.maxNodes, b.maxNodes);
+  swap(a.maxProcessors, b.maxProcessors);
+  swap(a.maxJobsInQueue, b.maxJobsInQueue);
+  swap(a.maxMemory, b.maxMemory);
+  swap(a.__isset, b.__isset);
+}
+
+BatchQueue::BatchQueue(const BatchQueue& other12) {
+  queueName = other12.queueName;
+  queueDescription = other12.queueDescription;
+  maxRunTime = other12.maxRunTime;
+  maxNodes = other12.maxNodes;
+  maxProcessors = other12.maxProcessors;
+  maxJobsInQueue = other12.maxJobsInQueue;
+  maxMemory = other12.maxMemory;
+  __isset = other12.__isset;
+}
+BatchQueue& BatchQueue::operator=(const BatchQueue& other13) {
+  queueName = other13.queueName;
+  queueDescription = other13.queueDescription;
+  maxRunTime = other13.maxRunTime;
+  maxNodes = other13.maxNodes;
+  maxProcessors = other13.maxProcessors;
+  maxJobsInQueue = other13.maxJobsInQueue;
+  maxMemory = other13.maxMemory;
+  __isset = other13.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const BatchQueue& obj) {
+  using apache::thrift::to_string;
+  out << "BatchQueue(";
+  out << "queueName=" << to_string(obj.queueName);
+  out << ", " << "queueDescription="; (obj.__isset.queueDescription ? (out << to_string(obj.queueDescription)) : (out << "<null>"));
+  out << ", " << "maxRunTime="; (obj.__isset.maxRunTime ? (out << to_string(obj.maxRunTime)) : (out << "<null>"));
+  out << ", " << "maxNodes="; (obj.__isset.maxNodes ? (out << to_string(obj.maxNodes)) : (out << "<null>"));
+  out << ", " << "maxProcessors="; (obj.__isset.maxProcessors ? (out << to_string(obj.maxProcessors)) : (out << "<null>"));
+  out << ", " << "maxJobsInQueue="; (obj.__isset.maxJobsInQueue ? (out << to_string(obj.maxJobsInQueue)) : (out << "<null>"));
+  out << ", " << "maxMemory="; (obj.__isset.maxMemory ? (out << to_string(obj.maxMemory)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+SCPDataMovement::~SCPDataMovement() throw() {
+}
+
+
+void SCPDataMovement::__set_dataMovementInterfaceId(const std::string& val) {
+  this->dataMovementInterfaceId = val;
+}
+
+void SCPDataMovement::__set_securityProtocol(const SecurityProtocol::type val) {
+  this->securityProtocol = val;
+}
+
+void SCPDataMovement::__set_alternativeSCPHostName(const std::string& val) {
+  this->alternativeSCPHostName = val;
+__isset.alternativeSCPHostName = true;
+}
+
+void SCPDataMovement::__set_sshPort(const int32_t val) {
+  this->sshPort = val;
+__isset.sshPort = true;
+}
+
+const char* SCPDataMovement::ascii_fingerprint = "63CAE6EE336A7DBD91CCCD6E22628F4A";
+const uint8_t SCPDataMovement::binary_fingerprint[16] = {0x63,0xCA,0xE6,0xEE,0x33,0x6A,0x7D,0xBD,0x91,0xCC,0xCD,0x6E,0x22,0x62,0x8F,0x4A};
+
+uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_dataMovementInterfaceId = false;
+  bool isset_securityProtocol = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->dataMovementInterfaceId);
+          isset_dataMovementInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast14;
+          xfer += iprot->readI32(ecast14);
+          this->securityProtocol = (SecurityProtocol::type)ecast14;
+          isset_securityProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->alternativeSCPHostName);
+          this->__isset.alternativeSCPHostName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->sshPort);
+          this->__isset.sshPort = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_dataMovementInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_securityProtocol)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t SCPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("SCPDataMovement");
+
+  xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->dataMovementInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->securityProtocol);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.alternativeSCPHostName) {
+    xfer += oprot->writeFieldBegin("alternativeSCPHostName", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->alternativeSCPHostName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.sshPort) {
+    xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 4);
+    xfer += oprot->writeI32(this->sshPort);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(SCPDataMovement &a, SCPDataMovement &b) {
+  using ::std::swap;
+  swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
+  swap(a.securityProtocol, b.securityProtocol);
+  swap(a.alternativeSCPHostName, b.alternativeSCPHostName);
+  swap(a.sshPort, b.sshPort);
+  swap(a.__isset, b.__isset);
+}
+
+SCPDataMovement::SCPDataMovement(const SCPDataMovement& other15) {
+  dataMovementInterfaceId = other15.dataMovementInterfaceId;
+  securityProtocol = other15.securityProtocol;
+  alternativeSCPHostName = other15.alternativeSCPHostName;
+  sshPort = other15.sshPort;
+  __isset = other15.__isset;
+}
+SCPDataMovement& SCPDataMovement::operator=(const SCPDataMovement& other16) {
+  dataMovementInterfaceId = other16.dataMovementInterfaceId;
+  securityProtocol = other16.securityProtocol;
+  alternativeSCPHostName = other16.alternativeSCPHostName;
+  sshPort = other16.sshPort;
+  __isset = other16.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const SCPDataMovement& obj) {
+  using apache::thrift::to_string;
+  out << "SCPDataMovement(";
+  out << "dataMovementInterfaceId=" << to_string(obj.dataMovementInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
+  out << ", " << "alternativeSCPHostName="; (obj.__isset.alternativeSCPHostName ? (out << to_string(obj.alternativeSCPHostName)) : (out << "<null>"));
+  out << ", " << "sshPort="; (obj.__isset.sshPort ? (out << to_string(obj.sshPort)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+GridFTPDataMovement::~GridFTPDataMovement() throw() {
+}
+
+
+void GridFTPDataMovement::__set_dataMovementInterfaceId(const std::string& val) {
+  this->dataMovementInterfaceId = val;
+}
+
+void GridFTPDataMovement::__set_securityProtocol(const SecurityProtocol::type val) {
+  this->securityProtocol = val;
+}
+
+void GridFTPDataMovement::__set_gridFTPEndPoints(const std::vector<std::string> & val) {
+  this->gridFTPEndPoints = val;
+}
+
+const char* GridFTPDataMovement::ascii_fingerprint = "790EE8B1D56A3B9B76C41DD063726E75";
+const uint8_t GridFTPDataMovement::binary_fingerprint[16] = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
+
+uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_dataMovementInterfaceId = false;
+  bool isset_securityProtocol = false;
+  bool isset_gridFTPEndPoints = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->dataMovementInterfaceId);
+          isset_dataMovementInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast17;
+          xfer += iprot->readI32(ecast17);
+          this->securityProtocol = (SecurityProtocol::type)ecast17;
+          isset_securityProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->gridFTPEndPoints.clear();
+            uint32_t _size18;
+            ::apache::thrift::protocol::TType _etype21;
+            xfer += iprot->readListBegin(_etype21, _size18);
+            this->gridFTPEndPoints.resize(_size18);
+            uint32_t _i22;
+            for (_i22 = 0; _i22 < _size18; ++_i22)
+            {
+              xfer += iprot->readString(this->gridFTPEndPoints[_i22]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_gridFTPEndPoints = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_dataMovementInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_securityProtocol)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gridFTPEndPoints)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t GridFTPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("GridFTPDataMovement");
+
+  xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->dataMovementInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->securityProtocol);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gridFTPEndPoints", ::apache::thrift::protocol::T_LIST, 3);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->gridFTPEndPoints.size()));
+    std::vector<std::string> ::const_iterator _iter23;
+    for (_iter23 = this->gridFTPEndPoints.begin(); _iter23 != this->gridFTPEndPoints.end(); ++_iter23)
+    {
+      xfer += oprot->writeString((*_iter23));
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(GridFTPDataMovement &a, GridFTPDataMovement &b) {
+  using ::std::swap;
+  swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
+  swap(a.securityProtocol, b.securityProtocol);
+  swap(a.gridFTPEndPoints, b.gridFTPEndPoints);
+}
+
+GridFTPDataMovement::GridFTPDataMovement(const GridFTPDataMovement& other24) {
+  dataMovementInterfaceId = other24.dataMovementInterfaceId;
+  securityProtocol = other24.securityProtocol;
+  gridFTPEndPoints = other24.gridFTPEndPoints;
+}
+GridFTPDataMovement& GridFTPDataMovement::operator=(const GridFTPDataMovement& other25) {
+  dataMovementInterfaceId = other25.dataMovementInterfaceId;
+  securityProtocol = other25.securityProtocol;
+  gridFTPEndPoints = other25.gridFTPEndPoints;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const GridFTPDataMovement& obj) {
+  using apache::thrift::to_string;
+  out << "GridFTPDataMovement(";
+  out << "dataMovementInterfaceId=" << to_string(obj.dataMovementInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
+  out << ", " << "gridFTPEndPoints=" << to_string(obj.gridFTPEndPoints);
+  out << ")";
+  return out;
+}
+
+
+UnicoreDataMovement::~UnicoreDataMovement() throw() {
+}
+
+
+void UnicoreDataMovement::__set_dataMovementInterfaceId(const std::string& val) {
+  this->dataMovementInterfaceId = val;
+}
+
+void UnicoreDataMovement::__set_securityProtocol(const SecurityProtocol::type val) {
+  this->securityProtocol = val;
+}
+
+void UnicoreDataMovement::__set_unicoreEndPointURL(const std::string& val) {
+  this->unicoreEndPointURL = val;
+}
+
+const char* UnicoreDataMovement::ascii_fingerprint = "D9F4CFE2F293A8B1052FD3031DD2C847";
+const uint8_t UnicoreDataMovement::binary_fingerprint[16] = {0xD9,0xF4,0xCF,0xE2,0xF2,0x93,0xA8,0xB1,0x05,0x2F,0xD3,0x03,0x1D,0xD2,0xC8,0x47};
+
+uint32_t UnicoreDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_dataMovementInterfaceId = false;
+  bool isset_securityProtocol = false;
+  bool isset_unicoreEndPointURL = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->dataMovementInterfaceId);
+          isset_dataMovementInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast26;
+          xfer += iprot->readI32(ecast26);
+          this->securityProtocol = (SecurityProtocol::type)ecast26;
+          isset_securityProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->unicoreEndPointURL);
+          isset_unicoreEndPointURL = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_dataMovementInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_securityProtocol)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_unicoreEndPointURL)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t UnicoreDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("UnicoreDataMovement");
+
+  xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->dataMovementInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->securityProtocol);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("unicoreEndPointURL", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->unicoreEndPointURL);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(UnicoreDataMovement &a, UnicoreDataMovement &b) {
+  using ::std::swap;
+  swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
+  swap(a.securityProtocol, b.securityProtocol);
+  swap(a.unicoreEndPointURL, b.unicoreEndPointURL);
+}
+
+UnicoreDataMovement::UnicoreDataMovement(const UnicoreDataMovement& other27) {
+  dataMovementInterfaceId = other27.dataMovementInterfaceId;
+  securityProtocol = other27.securityProtocol;
+  unicoreEndPointURL = other27.unicoreEndPointURL;
+}
+UnicoreDataMovement& UnicoreDataMovement::operator=(const UnicoreDataMovement& other28) {
+  dataMovementInterfaceId = other28.dataMovementInterfaceId;
+  securityProtocol = other28.securityProtocol;
+  unicoreEndPointURL = other28.unicoreEndPointURL;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const UnicoreDataMovement& obj) {
+  using apache::thrift::to_string;
+  out << "UnicoreDataMovement(";
+  out << "dataMovementInterfaceId=" << to_string(obj.dataMovementInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
+  out << ", " << "unicoreEndPointURL=" << to_string(obj.unicoreEndPointURL);
+  out << ")";
+  return out;
+}
+
+
+LOCALSubmission::~LOCALSubmission() throw() {
+}
+
+
+void LOCALSubmission::__set_jobSubmissionInterfaceId(const std::string& val) {
+  this->jobSubmissionInterfaceId = val;
+}
+
+void LOCALSubmission::__set_resourceJobManager(const ResourceJobManager& val) {
+  this->resourceJobManager = val;
+}
+
+const char* LOCALSubmission::ascii_fingerprint = "A5A35C842CBE1CA9D6A13C5974C6FB8F";
+const uint8_t LOCALSubmission::binary_fingerprint[16] = {0xA5,0xA3,0x5C,0x84,0x2C,0xBE,0x1C,0xA9,0xD6,0xA1,0x3C,0x59,0x74,0xC6,0xFB,0x8F};
+
+uint32_t LOCALSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_jobSubmissionInterfaceId = false;
+  bool isset_resourceJobManager = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobSubmissionInterfaceId);
+          isset_jobSubmissionInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->resourceJobManager.read(iprot);
+          isset_resourceJobManager = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_jobSubmissionInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_resourceJobManager)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t LOCALSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("LOCALSubmission");
+
+  xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->resourceJobManager.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(LOCALSubmission &a, LOCALSubmission &b) {
+  using ::std::swap;
+  swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+  swap(a.resourceJobManager, b.resourceJobManager);
+}
+
+LOCALSubmission::LOCALSubmission(const LOCALSubmission& other29) {
+  jobSubmissionInterfaceId = other29.jobSubmissionInterfaceId;
+  resourceJobManager = other29.resourceJobManager;
+}
+LOCALSubmission& LOCALSubmission::operator=(const LOCALSubmission& other30) {
+  jobSubmissionInterfaceId = other30.jobSubmissionInterfaceId;
+  resourceJobManager = other30.resourceJobManager;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const LOCALSubmission& obj) {
+  using apache::thrift::to_string;
+  out << "LOCALSubmission(";
+  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
+  out << ", " << "resourceJobManager=" << to_string(obj.resourceJobManager);
+  out << ")";
+  return out;
+}
+
+
+LOCALDataMovement::~LOCALDataMovement() throw() {
+}
+
+
+void LOCALDataMovement::__set_dataMovementInterfaceId(const std::string& val) {
+  this->dataMovementInterfaceId = val;
+}
+
+const char* LOCALDataMovement::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t LOCALDataMovement::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t LOCALDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_dataMovementInterfaceId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->dataMovementInterfaceId);
+          isset_dataMovementInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_dataMovementInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t LOCALDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("LOCALDataMovement");
+
+  xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->dataMovementInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(LOCALDataMovement &a, LOCALDataMovement &b) {
+  using ::std::swap;
+  swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
+}
+
+LOCALDataMovement::LOCALDataMovement(const LOCALDataMovement& other31) {
+  dataMovementInterfaceId = other31.dataMovementInterfaceId;
+}
+LOCALDataMovement& LOCALDataMovement::operator=(const LOCALDataMovement& other32) {
+  dataMovementInterfaceId = other32.dataMovementInterfaceId;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const LOCALDataMovement& obj) {
+  using apache::thrift::to_string;
+  out << "LOCALDataMovement(";
+  out << "dataMovementInterfaceId=" << to_string(obj.dataMovementInterfaceId);
+  out << ")";
+  return out;
+}
+
+
+SSHJobSubmission::~SSHJobSubmission() throw() {
+}
+
+
+void SSHJobSubmission::__set_jobSubmissionInterfaceId(const std::string& val) {
+  this->jobSubmissionInterfaceId = val;
+}
+
+void SSHJobSubmission::__set_securityProtocol(const SecurityProtocol::type val) {
+  this->securityProtocol = val;
+}
+
+void SSHJobSubmission::__set_resourceJobManager(const ResourceJobManager& val) {
+  this->resourceJobManager = val;
+}
+
+void SSHJobSubmission::__set_alternativeSSHHostName(const std::string& val) {
+  this->alternativeSSHHostName = val;
+__isset.alternativeSSHHostName = true;
+}
+
+void SSHJobSubmission::__set_sshPort(const int32_t val) {
+  this->sshPort = val;
+__isset.sshPort = true;
+}
+
+void SSHJobSubmission::__set_monitorMode(const MonitorMode::type val) {
+  this->monitorMode = val;
+__isset.monitorMode = true;
+}
+
+const char* SSHJobSubmission::ascii_fingerprint = "A62183DAA7AFF027173705420A9D99D0";
+const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0xA6,0x21,0x83,0xDA,0xA7,0xAF,0xF0,0x27,0x17,0x37,0x05,0x42,0x0A,0x9D,0x99,0xD0};
+
+uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_jobSubmissionInterfaceId = false;
+  bool isset_securityProtocol = false;
+  bool isset_resourceJobManager = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobSubmissionInterfaceId);
+          isset_jobSubmissionInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast33;
+          xfer += iprot->readI32(ecast33);
+          this->securityProtocol = (SecurityProtocol::type)ecast33;
+          isset_securityProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->resourceJobManager.read(iprot);
+          isset_resourceJobManager = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->alternativeSSHHostName);
+          this->__isset.alternativeSSHHostName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->sshPort);
+          this->__isset.sshPort = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast34;
+          xfer += iprot->readI32(ecast34);
+          this->monitorMode = (MonitorMode::type)ecast34;
+          this->__isset.monitorMode = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_jobSubmissionInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_securityProtocol)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_resourceJobManager)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t SSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("SSHJobSubmission");
+
+  xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->securityProtocol);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_STRUCT, 3);
+  xfer += this->resourceJobManager.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.alternativeSSHHostName) {
+    xfer += oprot->writeFieldBegin("alternativeSSHHostName", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->alternativeSSHHostName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.sshPort) {
+    xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 5);
+    xfer += oprot->writeI32(this->sshPort);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.monitorMode) {
+    xfer += oprot->writeFieldBegin("monitorMode", ::apache::thrift::protocol::T_I32, 6);
+    xfer += oprot->writeI32((int32_t)this->monitorMode);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(SSHJobSubmission &a, SSHJobSubmission &b) {
+  using ::std::swap;
+  swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+  swap(a.securityProtocol, b.securityProtocol);
+  swap(a.resourceJobManager, b.resourceJobManager);
+  swap(a.alternativeSSHHostName, b.alternativeSSHHostName);
+  swap(a.sshPort, b.sshPort);
+  swap(a.monitorMode, b.monitorMode);
+  swap(a.__isset, b.__isset);
+}
+
+SSHJobSubmission::SSHJobSubmission(const SSHJobSubmission& other35) {
+  jobSubmissionInterfaceId = other35.jobSubmissionInterfaceId;
+  securityProtocol = other35.securityProtocol;
+  resourceJobManager = other35.resourceJobManager;
+  alternativeSSHHostName = other35.alternativeSSHHostName;
+  sshPort = other35.sshPort;
+  monitorMode = other35.monitorMode;
+  __isset = other35.__isset;
+}
+SSHJobSubmission& SSHJobSubmission::operator=(const SSHJobSubmission& other36) {
+  jobSubmissionInterfaceId = other36.jobSubmissionInterfaceId;
+  securityProtocol = other36.securityProtocol;
+  resourceJobManager = other36.resourceJobManager;
+  alternativeSSHHostName = other36.alternativeSSHHostName;
+  sshPort = other36.sshPort;
+  monitorMode = other36.monitorMode;
+  __isset = other36.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const SSHJobSubmission& obj) {
+  using apache::thrift::to_string;
+  out << "SSHJobSubmission(";
+  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
+  out << ", " << "resourceJobManager=" << to_string(obj.resourceJobManager);
+  out << ", " << "alternativeSSHHostName="; (obj.__isset.alternativeSSHHostName ? (out << to_string(obj.alternativeSSHHostName)) : (out << "<null>"));
+  out << ", " << "sshPort="; (obj.__isset.sshPort ? (out << to_string(obj.sshPort)) : (out << "<null>"));
+  out << ", " << "monitorMode="; (obj.__isset.monitorMode ? (out << to_string(obj.monitorMode)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+GlobusJobSubmission::~GlobusJobSubmission() throw() {
+}
+
+
+void GlobusJobSubmission::__set_jobSubmissionInterfaceId(const std::string& val) {
+  this->jobSubmissionInterfaceId = val;
+}
+
+void GlobusJobSubmission::__set_securityProtocol(const SecurityProtocol::type val) {
+  this->securityProtocol = val;
+}
+
+void GlobusJobSubmission::__set_globusGateKeeperEndPoint(const std::vector<std::string> & val) {
+  this->globusGateKeeperEndPoint = val;
+__isset.globusGateKeeperEndPoint = true;
+}
+
+const char* GlobusJobSubmission::ascii_fingerprint = "AF422FFD77BB68BA57079B8B33BC8CF7";
+const uint8_t GlobusJobSubmission::binary_fingerprint[16] = {0xAF,0x42,0x2F,0xFD,0x77,0xBB,0x68,0xBA,0x57,0x07,0x9B,0x8B,0x33,0xBC,0x8C,0xF7};
+
+uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_jobSubmissionInterfaceId = false;
+  bool isset_securityProtocol = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobSubmissionInterfaceId);
+          isset_jobSubmissionInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast37;
+          xfer += iprot->readI32(ecast37);
+          this->securityProtocol = (SecurityProtocol::type)ecast37;
+          isset_securityProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->globusGateKeeperEndPoint.clear();
+            uint32_t _size38;
+            ::apache::thrift::protocol::TType _etype41;
+            xfer += iprot->readListBegin(_etype41, _size38);
+            this->globusGateKeeperEndPoint.resize(_size38);
+            uint32_t _i42;
+            for (_i42 = 0; _i42 < _size38; ++_i42)
+            {
+              xfer += iprot->readString(this->globusGateKeeperEndPoint[_i42]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.globusGateKeeperEndPoint = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_jobSubmissionInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_securityProtocol)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t GlobusJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("GlobusJobSubmission");
+
+  xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->securityProtocol);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.globusGateKeeperEndPoint) {
+    xfer += oprot->writeFieldBegin("globusGateKeeperEndPoint", ::apache::thrift::protocol::T_LIST, 3);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->globusGateKeeperEndPoint.size()));
+      std::vector<std::string> ::const_iterator _iter43;
+      for (_iter43 = this->globusGateKeeperEndPoint.begin(); _iter43 != this->globusGateKeeperEndPoint.end(); ++_iter43)
+      {
+        xfer += oprot->writeString((*_iter43));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(GlobusJobSubmission &a, GlobusJobSubmission &b) {
+  using ::std::swap;
+  swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+  swap(a.securityProtocol, b.securityProtocol);
+  swap(a.globusGateKeeperEndPoint, b.globusGateKeeperEndPoint);
+  swap(a.__isset, b.__isset);
+}
+
+GlobusJobSubmission::GlobusJobSubmission(const GlobusJobSubmission& other44) {
+  jobSubmissionInterfaceId = other44.jobSubmissionInterfaceId;
+  securityProtocol = other44.securityProtocol;
+  globusGateKeeperEndPoint = other44.globusGateKeeperEndPoint;
+  __isset = other44.__isset;
+}
+GlobusJobSubmission& GlobusJobSubmission::operator=(const GlobusJobSubmission& other45) {
+  jobSubmissionInterfaceId = other45.jobSubmissionInterfaceId;
+  securityProtocol = other45.securityProtocol;
+  globusGateKeeperEndPoint = other45.globusGateKeeperEndPoint;
+  __isset = other45.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const GlobusJobSubmission& obj) {
+  using apache::thrift::to_string;
+  out << "GlobusJobSubmission(";
+  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
+  out << ", " << "globusGateKeeperEndPoint="; (obj.__isset.globusGateKeeperEndPoint ? (out << to_string(obj.globusGateKeeperEndPoint)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+UnicoreJobSubmission::~UnicoreJobSubmission() throw() {
+}
+
+
+void UnicoreJobSubmission::__set_jobSubmissionInterfaceId(const std::string& val) {
+  this->jobSubmissionInterfaceId = val;
+}
+
+void UnicoreJobSubmission::__set_securityProtocol(const SecurityProtocol::type val) {
+  this->securityProtocol = val;
+}
+
+void UnicoreJobSubmission::__set_unicoreEndPointURL(const std::string& val) {
+  this->unicoreEndPointURL = val;
+}
+
+const char* UnicoreJobSubmission::ascii_fingerprint = "D9F4CFE2F293A8B1052FD3031DD2C847";
+const uint8_t UnicoreJobSubmission::binary_fingerprint[16] = {0xD9,0xF4,0xCF,0xE2,0xF2,0x93,0xA8,0xB1,0x05,0x2F,0xD3,0x03,0x1D,0xD2,0xC8,0x47};
+
+uint32_t UnicoreJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_jobSubmissionInterfaceId = false;
+  bool isset_securityProtocol = false;
+  bool isset_unicoreEndPointURL = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobSubmissionInterfaceId);
+          isset_jobSubmissionInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast46;
+          xfer += iprot->readI32(ecast46);
+          this->securityProtocol = (SecurityProtocol::type)ecast46;
+          isset_securityProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->unicoreEndPointURL);
+          isset_unicoreEndPointURL = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_jobSubmissionInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_securityProtocol)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_unicoreEndPointURL)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t UnicoreJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("UnicoreJobSubmission");
+
+  xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->securityProtocol);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("unicoreEndPointURL", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->unicoreEndPointURL);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(UnicoreJobSubmission &a, UnicoreJobSubmission &b) {
+  using ::std::swap;
+  swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+  swap(a.securityProtocol, b.securityProtocol);
+  swap(a.unicoreEndPointURL, b.unicoreEndPointURL);
+}
+
+UnicoreJobSubmission::UnicoreJobSubmission(const UnicoreJobSubmission& other47) {
+  jobSubmissionInterfaceId = other47.jobSubmissionInterfaceId;
+  securityProtocol = other47.securityProtocol;
+  unicoreEndPointURL = other47.unicoreEndPointURL;
+}
+UnicoreJobSubmission& UnicoreJobSubmission::operator=(const UnicoreJobSubmission& other48) {
+  jobSubmissionInterfaceId = other48.jobSubmissionInterfaceId;
+  securityProtocol = other48.securityProtocol;
+  unicoreEndPointURL = other48.unicoreEndPointURL;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const UnicoreJobSubmission& obj) {
+  using apache::thrift::to_string;
+  out << "UnicoreJobSubmission(";
+  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
+  out << ", " << "unicoreEndPointURL=" << to_string(obj.unicoreEndPointURL);
+  out << ")";
+  return out;
+}
+
+
+CloudJobSubmission::~CloudJobSubmission() throw() {
+}
+
+
+void CloudJobSubmission::__set_jobSubmissionInterfaceId(const std::string& val) {
+  this->jobSubmissionInterfaceId = val;
+}
+
+void CloudJobSubmission::__set_securityProtocol(const SecurityProtocol::type val) {
+  this->securityProtocol = val;
+}
+
+void CloudJobSubmission::__set_nodeId(const std::string& val) {
+  this->nodeId = val;
+}
+
+void CloudJobSubmission::__set_executableType(const std::string& val) {
+  this->executableType = val;
+}
+
+void CloudJobSubmission::__set_providerName(const ProviderName::type val) {
+  this->providerName = val;
+}
+
+void CloudJobSubmission::__set_userAccountName(const std::string& val) {
+  this->userAccountName = val;
+}
+
+const char* CloudJobSubmission::ascii_fingerprint = "F98AE2E6E51F2426504F2566EB71B5CC";
+const uint8_t CloudJobSubmission::binary_fingerprint[16] = {0xF9,0x8A,0xE2,0xE6,0xE5,0x1F,0x24,0x26,0x50,0x4F,0x25,0x66,0xEB,0x71,0xB5,0xCC};
+
+uint32_t CloudJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_jobSubmissionInterfaceId = false;
+  bool isset_securityProtocol = false;
+  bool isset_nodeId = false;
+  bool isset_executableType = false;
+  bool isset_providerName = false;
+  bool isset_userAccountName = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobSubmissionInterfaceId);
+          isset_jobSubmissionInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast49;
+          xfer += iprot->readI32(ecast49);
+          this->securityProtocol = (SecurityProtocol::type)ecast49;
+          isset_securityProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->nodeId);
+          isset_nodeId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->executableType);
+          isset_executableType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast50;
+          xfer += iprot->readI32(ecast50);
+          this->providerName = (ProviderName::type)ecast50;
+          isset_providerName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userAccountName);
+          isset_userAccountName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_jobSubmissionInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_securityProtocol)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_nodeId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_executableType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_providerName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userAccountName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t CloudJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("CloudJobSubmission");
+
+  xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->securityProtocol);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("nodeId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->nodeId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("executableType", ::apache::thrift::protocol::T_STRING, 4);
+  xfer += oprot->writeString(this->executableType);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("providerName", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeI32((int32_t)this->providerName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userAccountName", ::apache::thrift::protocol::T_STRING, 6);
+  xfer += oprot->writeString(this->userAccountName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(CloudJobSubmission &a, CloudJobSubmission &b) {
+  using ::std::swap;
+  swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+  swap(a.securityProtocol, b.securityProtocol);
+  swap(a.nodeId, b.nodeId);
+  swap(a.executableType, b.executableType);
+  swap(a.providerName, b.providerName);
+  swap(a.userAccountName, b.userAccountName);
+}
+
+CloudJobSubmission::CloudJobSubmission(const CloudJobSubmission& other51) {
+  jobSubmissionInterfaceId = other51.jobSubmissionInterfaceId;
+  securityProtocol = other51.securityProtocol;
+  nodeId = other51.nodeId;
+  executableType = other51.executableType;
+  providerName = other51.providerName;
+  userAccountName = other51.userAccountName;
+}
+CloudJobSubmission& CloudJobSubmission::operator=(const CloudJobSubmission& other52) {
+  jobSubmissionInterfaceId = other52.jobSubmissionInterfaceId;
+  securityProtocol = other52.securityProtocol;
+  nodeId = other52.nodeId;
+  executableType = other52.executableType;
+  providerName = other52.providerName;
+  userAccountName = other52.userAccountName;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const CloudJobSubmission& obj) {
+  using apache::thrift::to_string;
+  out << "CloudJobSubmission(";
+  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
+  out << ", " << "securityProtocol=" << to_string(obj.securityProtocol);
+  out << ", " << "nodeId=" << to_string(obj.nodeId);
+  out << ", " << "executableType=" << to_string(obj.executableType);
+  out << ", " << "providerName=" << to_string(obj.providerName);
+  out << ", " << "userAccountName=" << to_string(obj.userAccountName);
+  out << ")";
+  return out;
+}
+
+
+JobSubmissionInterface::~JobSubmissionInterface() throw() {
+}
+
+
+void JobSubmissionInterface::__set_jobSubmissionInterfaceId(const std::string& val) {
+  this->jobSubmissionInterfaceId = val;
+}
+
+void JobSubmissionInterface::__set_jobSubmissionProtocol(const JobSubmissionProtocol::type val) {
+  this->jobSubmissionProtocol = val;
+}
+
+void JobSubmissionInterface::__set_priorityOrder(const int32_t val) {
+  this->priorityOrder = val;
+}
+
+const char* JobSubmissionInterface::ascii_fingerprint = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
+const uint8_t JobSubmissionInterface::binary_fingerprint[16] = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
+
+uint32_t JobSubmissionInterface::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_jobSubmissionInterfaceId = false;
+  bool isset_jobSubmissionProtocol = false;
+  bool isset_priorityOrder = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobSubmissionInterfaceId);
+          isset_jobSubmissionInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast53;
+          xfer += iprot->readI32(ecast53);
+          this->jobSubmissionProtocol = (JobSubmissionProtocol::type)ecast53;
+          isset_jobSubmissionProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->priorityOrder);
+          isset_priorityOrder = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_jobSubmissionInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_jobSubmissionProtocol)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_priorityOrder)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t JobSubmissionInterface::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("JobSubmissionInterface");
+
+  xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("jobSubmissionProtocol", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->jobSubmissionProtocol);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("priorityOrder", ::apache::thrift::protocol::T_I32, 3);
+  xfer += oprot->writeI32(this->priorityOrder);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(JobSubmissionInterface &a, JobSubmissionInterface &b) {
+  using ::std::swap;
+  swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+  swap(a.jobSubmissionProtocol, b.jobSubmissionProtocol);
+  swap(a.priorityOrder, b.priorityOrder);
+}
+
+JobSubmissionInterface::JobSubmissionInterface(const JobSubmissionInterface& other54) {
+  jobSubmissionInterfaceId = other54.jobSubmissionInterfaceId;
+  jobSubmissionProtocol = other54.jobSubmissionProtocol;
+  priorityOrder = other54.priorityOrder;
+}
+JobSubmissionInterface& JobSubmissionInterface::operator=(const JobSubmissionInterface& other55) {
+  jobSubmissionInterfaceId = other55.jobSubmissionInterfaceId;
+  jobSubmissionProtocol = other55.jobSubmissionProtocol;
+  priorityOrder = other55.priorityOrder;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const JobSubmissionInterface& obj) {
+  using apache::thrift::to_string;
+  out << "JobSubmissionInterface(";
+  out << "jobSubmissionInterfaceId=" << to_string(obj.jobSubmissionInterfaceId);
+  out << ", " << "jobSubmissionProtocol=" << to_string(obj.jobSubmissionProtocol);
+  out << ", " << "priorityOrder=" << to_string(obj.priorityOrder);
+  out << ")";
+  return out;
+}
+
+
+DataMovementInterface::~DataMovementInterface() throw() {
+}
+
+
+void DataMovementInterface::__set_dataMovementInterfaceId(const std::string& val) {
+  this->dataMovementInterfaceId = val;
+}
+
+void DataMovementInterface::__set_dataMovementProtocol(const DataMovementProtocol::type val) {
+  this->dataMovementProtocol = val;
+}
+
+void DataMovementInterface::__set_priorityOrder(const int32_t val) {
+  this->priorityOrder = val;
+}
+
+const char* DataMovementInterface::ascii_fingerprint = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
+const uint8_t DataMovementInterface::binary_fingerprint[16] = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
+
+uint32_t DataMovementInterface::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_dataMovementInterfaceId = false;
+  bool isset_dataMovementProtocol = false;
+  bool isset_priorityOrder = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->dataMovementInterfaceId);
+          isset_dataMovementInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast56;
+          xfer += iprot->readI32(ecast56);
+          this->dataMovementProtocol = (DataMovementProtocol::type)ecast56;
+          isset_dataMovementProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->priorityOrder);
+          isset_priorityOrder = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_dataMovementInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_dataMovementProtocol)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_priorityOrder)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t DataMovementInterface::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("DataMovementInterface");
+
+  xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->dataMovementInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("dataMovementProtocol", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->dataMovementProtocol);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("priorityOrder", ::apache::thrift::protocol::T_I32, 3);
+  xfer += oprot->writeI32(this->priorityOrder);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(DataMovementInterface &a, DataMovementInterface &b) {
+  using ::std::swap;
+  swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
+  swap(a.dataMovementProtocol, b.dataMovementProtocol);
+  swap(a.priorityOrder, b.priorityOrder);
+}
+
+DataMovementInterface::DataMovementInterface(const DataMovementInterface& other57) {
+  dataMovementInterfaceId = other57.dataMovementInterfaceId;
+  dataMovementProtocol = other57.dataMovementProtocol;
+  priorityOrder = other57.priorityOrder;
+}
+DataMovementInterface& DataMovementInterface::operator=(const DataMovementInterface& other58) {
+  dataMovementInterfaceId = other58.dataMovementInterfaceId;
+  dataMovementProtocol = other58.dataMovementProtocol;
+  priorityOrder = other58.priorityOrder;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const DataMovementInterface& obj) {
+  using apache::thrift::to_string;
+  out << "DataMovementInterface(";
+  out << "dataMovementInterfaceId=" << to_string(obj.dataMovementInterfaceId);
+  out << ", " << "dataMovementProtocol=" << to_string(obj.dataMovementProtocol);
+  out << ", " << "priorityOrder=" << to_string(obj.priorityOrder);
+  out << ")";
+  return out;
+}
+
+
+ComputeResourceDescription::~ComputeResourceDescription() throw() {
+}
+
+
+void ComputeResourceDescription::__set_computeResourceId(const std::string& val) {
+  this->computeResourceId = val;
+}
+
+void ComputeResourceDescription::__set_hostName(const std::string& val) {
+  this->hostName = val;
+}
+
+void ComputeResourceDescription::__set_hostAliases(const std::vector<std::string> & val) {
+  this->hostAliases = val;
+__isset.hostAliases = true;
+}
+
+void ComputeResourceDescription::__set_ipAddresses(const std::vector<std::string> & val) {
+  this->ipAddresses = val;
+__isset.ipAddresses = true;
+}
+
+void ComputeResourceDescription::__set_resourceDescription(const std::string& val) {
+  this->resourceDescription = val;
+__isset.resourceDescription = true;
+}
+
+void ComputeResourceDescription::__set_batchQueues(const std::vector<BatchQueue> & val) {
+  this->batchQueues = val;
+__isset.batchQueues = true;
+}
+
+void ComputeResourceDescription::__set_fileSystems(const std::map<FileSystems::type, std::string> & val) {
+  this->fileSystems = val;
+__isset.fileSystems = true;
+}
+
+void ComputeResourceDescription::__set_jobSubmissionInterfaces(const std::vector<JobSubmissionInterface> & val) {
+  this->jobSubmissionInterfaces = val;
+__isset.jobSubmissionInterfaces = true;
+}
+
+void ComputeResourceDescription::__set_dataMovementInterfaces(const std::vector<DataMovementInterface> & val) {
+  this->dataMovementInterfaces = val;
+__isset.dataMovementInterfaces = true;
+}
+
+void ComputeResourceDescription::__set_maxMemoryPerNode(const int32_t val) {
+  this->maxMemoryPerNode = val;
+__isset.maxMemoryPerNode = true;
+}
+
+const char* ComputeResourceDescription::ascii_fingerprint = "3CD4212965217787DCD6081F1744069F";
+const uint8_t ComputeResourceDescription::binary_fingerprint[16] = {0x3C,0xD4,0x21,0x29,0x65,0x21,0x77,0x87,0xDC,0xD6,0x08,0x1F,0x17,0x44,0x06,0x9F};
+
+uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_computeResourceId = false;
+  bool isset_hostName = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->computeResourceId);
+          isset_computeResourceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->hostName);
+          isset_hostName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->hostAliases.clear();
+            uint32_t _size59;
+            ::apache::thrift::protocol::TType _etype62;
+            xfer += iprot->readListBegin(_etype62, _size59);
+            this->hostAliases.resize(_size59);
+            uint32_t _i63;
+            for (_i63 = 0; _i63 < _size59; ++_i63)
+            {
+              xfer += iprot->readString(this->hostAliases[_i63]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.hostAliases = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->ipAddresses.clear();
+            uint32_t _size64;
+            ::apache::thrift::protocol::TType _etype67;
+            xfer += iprot->readListBegin(_etype67, _size64);
+            this->ipAddresses.resize(_size64);
+            uint32_t _i68;
+            for (_i68 = 0; _i68 < _size64; ++_i68)
+            {
+              xfer += iprot->readString(this->ipAddresses[_i68]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.ipAddresses = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->resourceDescription);
+          this->__isset.resourceDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->batchQueues.clear();
+            uint32_t _size69;
+            ::apache::thrift::protocol::TType _etype72;
+            xfer += iprot->readListBegin(_etype72, _size69);
+            this->batchQueues.resize(_size69);
+            uint32_t _i73;
+            for (_i73 = 0; _i73 < _size69; ++_i73)
+            {
+              xfer += this->batchQueues[_i73].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.batchQueues = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
+          {
+            this->fileSystems.clear();
+            uint32_t _size74;
+            ::apache::thrift::protocol::TType _ktype75;
+            ::apache::thrift::protocol::TType _vtype76;
+            xfer += iprot->readMapBegin(_ktype75, _vtype76, _size74);
+            uint32_t _i78;
+            for (_i78 = 0; _i78 < _size74; ++_i78)
+            {
+              FileSystems::type _key79;
+              int32_t ecast81;
+              xfer += iprot->readI32(ecast81);
+              _key79 = (FileSystems::type)ecast81;
+              std::string& _val80 = this->fileSystems[_key79];
+              xfer += iprot->readString(_val80);
+            }
+            xfer += iprot->readMapEnd();
+          }
+          this->__isset.fileSystems = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->jobSubmissionInterfaces.clear();
+            uint32_t _size82;
+            ::apache::thrift::protocol::TType _etype85;
+            xfer += iprot->readListBegin(_etype85, _size82);
+            this->jobSubmissionInterfaces.resize(_size82);
+            uint32_t _i86;
+            for (_i86 = 0; _i86 < _size82; ++_i86)
+            {
+              xfer += this->jobSubmissionInterfaces[_i86].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.jobSubmissionInterfaces = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->dataMovementInterfaces.clear();
+            uint32_t _size87;
+            ::apache::thrift::protocol::TType _etype90;
+            xfer += iprot->readListBegin(_etype90, _size87);
+            this->dataMovementInterfaces.resize(_size87);
+            uint32_t _i91;
+            for (_i91 = 0; _i91 < _size87; ++_i91)
+            {
+              xfer += this->dataMovementInterfaces[_i91].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.dataMovementInterfaces = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->maxMemoryPerNode);
+          this->__isset.maxMemoryPerNode = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_computeResourceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_hostName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ComputeResourceDescription");
+
+  xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->computeResourceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("hostName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->hostName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.hostAliases) {
+    xfer += oprot->writeFieldBegin("hostAliases", ::apache::thrift::protocol::T_LIST, 3);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->hostAliases.size()));
+      std::vector<std::string> ::const_iterator _iter92;
+      for (_iter92 = this->hostAliases.begin(); _iter92 != this->hostAliases.end(); ++_iter92)
+      {
+        xfer += oprot->writeString((*_iter92));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.ipAddresses) {
+    xfer += oprot->writeFieldBegin("ipAddresses", ::apache::thrift::protocol::T_LIST, 4);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->ipAddresses.size()));
+      std::vector<std::string> ::const_iterator _iter93;
+      for (_iter93 = this->ipAddresses.begin(); _iter93 != this->ipAddresses.end(); ++_iter93)
+      {
+        xfer += oprot->writeString((*_iter93));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.resourceDescription) {
+    xfer += oprot->writeFieldBegin("resourceDescription", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->resourceDescription);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.batchQueues) {
+    xfer += oprot->writeFieldBegin("batchQueues", ::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->batchQueues.size()

<TRUNCATED>

[19/44] airavata git commit: changed createProject method and added internal private method for isGatewayExist, to avoid chained API calls.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
index 4b05797..6b507fe 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
index 4fd546a..f142d1b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
index 3c24921..75c0a6a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
  * experimentDescription:
  *    The verbose description of the experiment. This is an optional parameter.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel, ExperimentModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
index ae7a533..fc35df7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ExperimentStatistics implements org.apache.thrift.TBase<ExperimentStatistics, ExperimentStatistics._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatistics> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatistics");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
index bc119de..8d5fd04 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ExperimentSummaryModel implements org.apache.thrift.TBase<ExperimentSummaryModel, ExperimentSummaryModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentSummaryModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentSummaryModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
index eb686ef..fae0631 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserConfigurationDataModel, UserConfigurationDataModel._Fields>, java.io.Serializable, Cloneable, Comparable<UserConfigurationDataModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserConfigurationDataModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
index 70137e5..94cd264 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class JobModel implements org.apache.thrift.TBase<JobModel, JobModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
index 4370650..90d443a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ExperimentStatusChangeEvent implements org.apache.thrift.TBase<ExperimentStatusChangeEvent, ExperimentStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
index ce196b8..24ef187 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class JobIdentifier implements org.apache.thrift.TBase<JobIdentifier, JobIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<JobIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
index 41d7ad8..69d171f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class JobStatusChangeEvent implements org.apache.thrift.TBase<JobStatusChangeEvent, JobStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
index daab20b..9463f38 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class JobStatusChangeRequestEvent implements org.apache.thrift.TBase<JobStatusChangeRequestEvent, JobStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
index 3127a3c..d4226d0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class Message implements org.apache.thrift.TBase<Message, Message._Fields>, java.io.Serializable, Cloneable, Comparable<Message> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Message");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
index 1b02b7a..87e01bb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ProcessIdentifier implements org.apache.thrift.TBase<ProcessIdentifier, ProcessIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
index 88f2fd4..91f70ac 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ProcessStatusChangeEvent implements org.apache.thrift.TBase<ProcessStatusChangeEvent, ProcessStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
index 345248c..ed2e439 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ProcessStatusChangeRequestEvent implements org.apache.thrift.TBase<ProcessStatusChangeRequestEvent, ProcessStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
index ca3afe2..92618f6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ProcessSubmitEvent implements org.apache.thrift.TBase<ProcessSubmitEvent, ProcessSubmitEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessSubmitEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessSubmitEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
index c841522..60b83a2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ProcessTerminateEvent implements org.apache.thrift.TBase<ProcessTerminateEvent, ProcessTerminateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessTerminateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessTerminateEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
index c2292e3..14ae6dc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class TaskIdentifier implements org.apache.thrift.TBase<TaskIdentifier, TaskIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<TaskIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
index 82bd61e..60aa18a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class TaskOutputChangeEvent implements org.apache.thrift.TBase<TaskOutputChangeEvent, TaskOutputChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskOutputChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskOutputChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
index 6099845..564800b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class TaskStatusChangeEvent implements org.apache.thrift.TBase<TaskStatusChangeEvent, TaskStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
index a8d5260..6bb7bac 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class TaskStatusChangeRequestEvent implements org.apache.thrift.TBase<TaskStatusChangeRequestEvent, TaskStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
index e910535..8e6bcb4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, ProcessModel._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
index 21b7d3d..3f783a5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ComputationalResourceSchedulingModel implements org.apache.thrift.TBase<ComputationalResourceSchedulingModel, ComputationalResourceSchedulingModel._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceSchedulingModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputationalResourceSchedulingModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
index d5c98c6..566d946 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class AuthzToken implements org.apache.thrift.TBase<AuthzToken, AuthzToken._Fields>, java.io.Serializable, Cloneable, Comparable<AuthzToken> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthzToken");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
index 1365d11..ff4d614 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *   User friendly reason on how the state is inferred.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ExperimentStatus implements org.apache.thrift.TBase<ExperimentStatus, ExperimentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
index 943c732..c4ed147 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class JobStatus implements org.apache.thrift.TBase<JobStatus, JobStatus._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
index bc17859..270a6fb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class ProcessStatus implements org.apache.thrift.TBase<ProcessStatus, ProcessStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
index 769a5cc..54e1ff6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class TaskStatus implements org.apache.thrift.TBase<TaskStatus, TaskStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
index f4fa752..9ea7165 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  *   A friendly description of the task, usally used to communicate information to users.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class DataStagingTaskModel implements org.apache.thrift.TBase<DataStagingTaskModel, DataStagingTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataStagingTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataStagingTaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
index 03056bc..647ef3f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * subTaskModel:
  *   A generic byte object for the Task developer to store internal serialized data into registry catalogs.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class TaskModel implements org.apache.thrift.TBase<TaskModel, TaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<TaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
index 99a1e16..033860e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class Gateway implements org.apache.thrift.TBase<Gateway, Gateway._Fields>, java.io.Serializable, Cloneable, Comparable<Gateway> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Gateway");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
index 38af953..c77c036 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class Group implements org.apache.thrift.TBase<Group, Group._Fields>, java.io.Serializable, Cloneable, Comparable<Group> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Group");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
index a837402..4e3b96e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class Project implements org.apache.thrift.TBase<Project, Project._Fields>, java.io.Serializable, Cloneable, Comparable<Project> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Project");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
index 1a02195..915764a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-api/airavata_api.thrift b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
index 6a666de..28d0f2b 100644
--- a/thrift-interface-descriptions/airavata-api/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
@@ -95,20 +95,23 @@ service Airavata {
                    3: airavata_errors.AiravataSystemException ase,
                    4: airavata_errors.AuthorizationException ae)
 
-  bool deleteGateway(1: required string gatewayId)
+  bool deleteGateway(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
              throws (1: airavata_errors.InvalidRequestException ire,
                      2: airavata_errors.AiravataClientException ace,
-                     3: airavata_errors.AiravataSystemException ase)
+                     3: airavata_errors.AiravataSystemException ase,
+                     4: airavata_errors.AuthorizationException ae)
 
-  list<workspace_model.Gateway> getAllGateways()
+  list<workspace_model.Gateway> getAllGateways(1: required security_model.AuthzToken authzToken)
              throws (1: airavata_errors.InvalidRequestException ire,
                      2: airavata_errors.AiravataClientException ace,
-                     3: airavata_errors.AiravataSystemException ase)
+                     3: airavata_errors.AiravataSystemException ase,
+                     4: airavata_errors.AuthorizationException ae)
 
-  bool isGatewayExist(1: required string gatewayId)
+  bool isGatewayExist(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
            throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase)
+                   3: airavata_errors.AiravataSystemException ase,
+                   4: airavata_errors.AuthorizationException ae)
 
 
   /**
@@ -158,11 +161,13 @@ service Airavata {
    *    The Project Object described in the workspace_model
    *
   */
-  string createProject (1: required string gatewayId,
-                        2: required workspace_model.Project project)
+  string createProject (1: required security_model.AuthzToken authzToken,
+                        2: required string gatewayId,
+                        3: required workspace_model.Project project)
           throws (1: airavata_errors.InvalidRequestException ire,
                   2: airavata_errors.AiravataClientException ace,
-                  3: airavata_errors.AiravataSystemException ase)
+                  3: airavata_errors.AiravataSystemException ase,
+                  4: airavata_errors.AuthorizationException ae)
 
   /**
    * Update a Project


[17/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 9570b81..c7a9bbc 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -63,11 +63,11 @@ public class Airavata {
      */
     public String getAPIVersion(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public String addGateway(org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public void updateGateway(String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public org.apache.airavata.model.workspace.Gateway getGateway(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     public boolean deleteGateway(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
@@ -1836,11 +1836,11 @@ public class Airavata {
 
     public void getAPIVersion(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void addGateway(org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void updateGateway(String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getGateway(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void deleteGateway(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -2145,20 +2145,21 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAPIVersion failed: unknown result");
     }
 
-    public String addGateway(org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public String addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_addGateway(gateway);
+      send_addGateway(authzToken, gateway);
       return recv_addGateway();
     }
 
-    public void send_addGateway(org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.thrift.TException
+    public void send_addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.thrift.TException
     {
       addGateway_args args = new addGateway_args();
+      args.setAuthzToken(authzToken);
       args.setGateway(gateway);
       sendBase("addGateway", args);
     }
 
-    public String recv_addGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public String recv_addGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       addGateway_result result = new addGateway_result();
       receiveBase(result, "addGateway");
@@ -2174,24 +2175,28 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
+      if (result.ae != null) {
+        throw result.ae;
+      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGateway failed: unknown result");
     }
 
-    public void updateGateway(String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_updateGateway(gatewayId, updatedGateway);
+      send_updateGateway(authzToken, gatewayId, updatedGateway);
       recv_updateGateway();
     }
 
-    public void send_updateGateway(String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.thrift.TException
+    public void send_updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.thrift.TException
     {
       updateGateway_args args = new updateGateway_args();
+      args.setAuthzToken(authzToken);
       args.setGatewayId(gatewayId);
       args.setUpdatedGateway(updatedGateway);
       sendBase("updateGateway", args);
     }
 
-    public void recv_updateGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public void recv_updateGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       updateGateway_result result = new updateGateway_result();
       receiveBase(result, "updateGateway");
@@ -2204,23 +2209,27 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
+      if (result.ae != null) {
+        throw result.ae;
+      }
       return;
     }
 
-    public org.apache.airavata.model.workspace.Gateway getGateway(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_getGateway(gatewayId);
+      send_getGateway(authzToken, gatewayId);
       return recv_getGateway();
     }
 
-    public void send_getGateway(String gatewayId) throws org.apache.thrift.TException
+    public void send_getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.thrift.TException
     {
       getGateway_args args = new getGateway_args();
+      args.setAuthzToken(authzToken);
       args.setGatewayId(gatewayId);
       sendBase("getGateway", args);
     }
 
-    public org.apache.airavata.model.workspace.Gateway recv_getGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.Gateway recv_getGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       getGateway_result result = new getGateway_result();
       receiveBase(result, "getGateway");
@@ -2236,6 +2245,9 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
+      if (result.ae != null) {
+        throw result.ae;
+      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGateway failed: unknown result");
     }
 
@@ -6344,29 +6356,32 @@ public class Airavata {
       }
     }
 
-    public void addGateway(org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      addGateway_call method_call = new addGateway_call(gateway, resultHandler, this, ___protocolFactory, ___transport);
+      addGateway_call method_call = new addGateway_call(authzToken, gateway, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class addGateway_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
       private org.apache.airavata.model.workspace.Gateway gateway;
-      public addGateway_call(org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public addGateway_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
         this.gateway = gateway;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGateway_args args = new addGateway_args();
+        args.setAuthzToken(authzToken);
         args.setGateway(gateway);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6376,18 +6391,20 @@ public class Airavata {
       }
     }
 
-    public void updateGateway(String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      updateGateway_call method_call = new updateGateway_call(gatewayId, updatedGateway, resultHandler, this, ___protocolFactory, ___transport);
+      updateGateway_call method_call = new updateGateway_call(authzToken, gatewayId, updatedGateway, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class updateGateway_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
       private String gatewayId;
       private org.apache.airavata.model.workspace.Gateway updatedGateway;
-      public updateGateway_call(String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public updateGateway_call(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
         this.gatewayId = gatewayId;
         this.updatedGateway = updatedGateway;
       }
@@ -6395,13 +6412,14 @@ public class Airavata {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGateway_args args = new updateGateway_args();
+        args.setAuthzToken(authzToken);
         args.setGatewayId(gatewayId);
         args.setUpdatedGateway(updatedGateway);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6411,29 +6429,32 @@ public class Airavata {
       }
     }
 
-    public void getGateway(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getGateway_call method_call = new getGateway_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
+      getGateway_call method_call = new getGateway_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getGateway_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
       private String gatewayId;
-      public getGateway_call(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getGateway_call(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
         this.gatewayId = gatewayId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGateway_args args = new getGateway_args();
+        args.setAuthzToken(authzToken);
         args.setGatewayId(gatewayId);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public org.apache.airavata.model.workspace.Gateway getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public org.apache.airavata.model.workspace.Gateway getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -10907,13 +10928,15 @@ public class Airavata {
       public addGateway_result getResult(I iface, addGateway_args args) throws org.apache.thrift.TException {
         addGateway_result result = new addGateway_result();
         try {
-          result.success = iface.addGateway(args.gateway);
+          result.success = iface.addGateway(args.authzToken, args.gateway);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
         }
         return result;
       }
@@ -10935,13 +10958,15 @@ public class Airavata {
       public updateGateway_result getResult(I iface, updateGateway_args args) throws org.apache.thrift.TException {
         updateGateway_result result = new updateGateway_result();
         try {
-          iface.updateGateway(args.gatewayId, args.updatedGateway);
+          iface.updateGateway(args.authzToken, args.gatewayId, args.updatedGateway);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
         }
         return result;
       }
@@ -10963,13 +10988,15 @@ public class Airavata {
       public getGateway_result getResult(I iface, getGateway_args args) throws org.apache.thrift.TException {
         getGateway_result result = new getGateway_result();
         try {
-          result.success = iface.getGateway(args.gatewayId);
+          result.success = iface.getGateway(args.authzToken, args.gatewayId);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
         }
         return result;
       }
@@ -14727,6 +14754,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -14748,7 +14780,7 @@ public class Airavata {
       }
 
       public void start(I iface, addGateway_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.addGateway(args.gateway,resultHandler);
+        iface.addGateway(args.authzToken, args.gateway,resultHandler);
       }
     }
 
@@ -14793,6 +14825,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -14814,7 +14851,7 @@ public class Airavata {
       }
 
       public void start(I iface, updateGateway_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.updateGateway(args.gatewayId, args.updatedGateway,resultHandler);
+        iface.updateGateway(args.authzToken, args.gatewayId, args.updatedGateway,resultHandler);
       }
     }
 
@@ -14860,6 +14897,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -14881,7 +14923,7 @@ public class Airavata {
       }
 
       public void start(I iface, getGateway_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> resultHandler) throws TException {
-        iface.getGateway(args.gatewayId,resultHandler);
+        iface.getGateway(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
@@ -24354,7 +24396,8 @@ public class Airavata {
   public static class addGateway_args implements org.apache.thrift.TBase<addGateway_args, addGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGateway_args");
 
-    private static final org.apache.thrift.protocol.TField GATEWAY_FIELD_DESC = new org.apache.thrift.protocol.TField("gateway", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField GATEWAY_FIELD_DESC = new org.apache.thrift.protocol.TField("gateway", org.apache.thrift.protocol.TType.STRUCT, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -24362,11 +24405,13 @@ public class Airavata {
       schemes.put(TupleScheme.class, new addGateway_argsTupleSchemeFactory());
     }
 
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public org.apache.airavata.model.workspace.Gateway gateway; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      GATEWAY((short)1, "gateway");
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      GATEWAY((short)2, "gateway");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -24381,7 +24426,9 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // GATEWAY
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // GATEWAY
             return GATEWAY;
           default:
             return null;
@@ -24426,6 +24473,8 @@ public class Airavata {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
       tmpMap.put(_Fields.GATEWAY, new org.apache.thrift.meta_data.FieldMetaData("gateway", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.workspace.Gateway.class)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -24436,9 +24485,11 @@ public class Airavata {
     }
 
     public addGateway_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
       org.apache.airavata.model.workspace.Gateway gateway)
     {
       this();
+      this.authzToken = authzToken;
       this.gateway = gateway;
     }
 
@@ -24446,6 +24497,9 @@ public class Airavata {
      * Performs a deep copy on <i>other</i>.
      */
     public addGateway_args(addGateway_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
       if (other.isSetGateway()) {
         this.gateway = new org.apache.airavata.model.workspace.Gateway(other.gateway);
       }
@@ -24457,9 +24511,34 @@ public class Airavata {
 
     @Override
     public void clear() {
+      this.authzToken = null;
       this.gateway = null;
     }
 
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public addGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
     public org.apache.airavata.model.workspace.Gateway getGateway() {
       return this.gateway;
     }
@@ -24486,6 +24565,14 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
       case GATEWAY:
         if (value == null) {
           unsetGateway();
@@ -24499,6 +24586,9 @@ public class Airavata {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
       case GATEWAY:
         return getGateway();
 
@@ -24513,6 +24603,8 @@ public class Airavata {
       }
 
       switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
       case GATEWAY:
         return isSetGateway();
       }
@@ -24532,6 +24624,15 @@ public class Airavata {
       if (that == null)
         return false;
 
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
       boolean this_present_gateway = true && this.isSetGateway();
       boolean that_present_gateway = true && that.isSetGateway();
       if (this_present_gateway || that_present_gateway) {
@@ -24548,6 +24649,11 @@ public class Airavata {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
+      boolean present_authzToken = true && (isSetAuthzToken());
+      list.add(present_authzToken);
+      if (present_authzToken)
+        list.add(authzToken);
+
       boolean present_gateway = true && (isSetGateway());
       list.add(present_gateway);
       if (present_gateway)
@@ -24564,6 +24670,16 @@ public class Airavata {
 
       int lastComparison = 0;
 
+      lastComparison = Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       lastComparison = Boolean.valueOf(isSetGateway()).compareTo(other.isSetGateway());
       if (lastComparison != 0) {
         return lastComparison;
@@ -24594,6 +24710,14 @@ public class Airavata {
       StringBuilder sb = new StringBuilder("addGateway_args(");
       boolean first = true;
 
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
       sb.append("gateway:");
       if (this.gateway == null) {
         sb.append("null");
@@ -24607,10 +24731,16 @@ public class Airavata {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
       if (gateway == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gateway' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
       if (gateway != null) {
         gateway.validate();
       }
@@ -24650,7 +24780,16 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
-            case 1: // GATEWAY
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GATEWAY
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.gateway = new org.apache.airavata.model.workspace.Gateway();
                 struct.gateway.read(iprot);
@@ -24674,6 +24813,11 @@ public class Airavata {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
         if (struct.gateway != null) {
           oprot.writeFieldBegin(GATEWAY_FIELD_DESC);
           struct.gateway.write(oprot);
@@ -24696,12 +24840,16 @@ public class Airavata {
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, addGateway_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
         struct.gateway.write(oprot);
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, addGateway_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
         struct.gateway = new org.apache.airavata.model.workspace.Gateway();
         struct.gateway.read(iprot);
         struct.setGatewayIsSet(true);
@@ -24717,6 +24865,7 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -24728,13 +24877,15 @@ public class Airavata {
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase");
+      ASE((short)3, "ase"),
+      AE((short)4, "ae");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -24757,6 +24908,8 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
+          case 4: // AE
+            return AE;
           default:
             return null;
         }
@@ -24808,6 +24961,8 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addGateway_result.class, metaDataMap);
     }
@@ -24819,13 +24974,15 @@ public class Airavata {
       String success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase)
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
       this.success = success;
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
+      this.ae = ae;
     }
 
     /**
@@ -24844,6 +25001,9 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
     }
 
     public addGateway_result deepCopy() {
@@ -24856,6 +25016,7 @@ public class Airavata {
       this.ire = null;
       this.ace = null;
       this.ase = null;
+      this.ae = null;
     }
 
     public String getSuccess() {
@@ -24954,6 +25115,30 @@ public class Airavata {
       }
     }
 
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public addGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -24988,6 +25173,14 @@ public class Airavata {
         }
         break;
 
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
       }
     }
 
@@ -25005,6 +25198,9 @@ public class Airavata {
       case ASE:
         return getAse();
 
+      case AE:
+        return getAe();
+
       }
       throw new IllegalStateException();
     }
@@ -25024,6 +25220,8 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
+      case AE:
+        return isSetAe();
       }
       throw new IllegalStateException();
     }
@@ -25077,6 +25275,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
       return true;
     }
 
@@ -25104,6 +25311,11 @@ public class Airavata {
       if (present_ase)
         list.add(ase);
 
+      boolean present_ae = true && (isSetAe());
+      list.add(present_ae);
+      if (present_ae)
+        list.add(ae);
+
       return list.hashCode();
     }
 
@@ -25155,6 +25367,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -25206,6 +25428,14 @@ public class Airavata {
         sb.append(this.ase);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -25284,6 +25514,15 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 4: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -25319,6 +25558,11 @@ public class Airavata {
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -25349,7 +25593,10 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        oprot.writeBitSet(optionals, 4);
+        if (struct.isSetAe()) {
+          optionals.set(4);
+        }
+        oprot.writeBitSet(optionals, 5);
         if (struct.isSetSuccess()) {
           oprot.writeString(struct.success);
         }
@@ -25362,12 +25609,15 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, addGateway_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(4);
+        BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           struct.success = iprot.readString();
           struct.setSuccessIsSet(true);
@@ -25387,6 +25637,11 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
+        if (incoming.get(4)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
       }
     }
 
@@ -25395,8 +25650,9 @@ public class Airavata {
   public static class updateGateway_args implements org.apache.thrift.TBase<updateGateway_args, updateGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGateway_args");
 
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField UPDATED_GATEWAY_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedGateway", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField UPDATED_GATEWAY_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedGateway", org.apache.thrift.protocol.TType.STRUCT, (short)3);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -25404,13 +25660,15 @@ public class Airavata {
       schemes.put(TupleScheme.class, new updateGateway_argsTupleSchemeFactory());
     }
 
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public String gatewayId; // required
     public org.apache.airavata.model.workspace.Gateway updatedGateway; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      GATEWAY_ID((short)1, "gatewayId"),
-      UPDATED_GATEWAY((short)2, "updatedGateway");
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      GATEWAY_ID((short)2, "gatewayId"),
+      UPDATED_GATEWAY((short)3, "updatedGateway");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -25425,9 +25683,11 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // GATEWAY_ID
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // GATEWAY_ID
             return GATEWAY_ID;
-          case 2: // UPDATED_GATEWAY
+          case 3: // UPDATED_GATEWAY
             return UPDATED_GATEWAY;
           default:
             return null;
@@ -25472,6 +25732,8 @@ public class Airavata {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
       tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.UPDATED_GATEWAY, new org.apache.thrift.meta_data.FieldMetaData("updatedGateway", org.apache.thrift.TFieldRequirementType.REQUIRED, 
@@ -25484,10 +25746,12 @@ public class Airavata {
     }
 
     public updateGateway_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
       String gatewayId,
       org.apache.airavata.model.workspace.Gateway updatedGateway)
     {
       this();
+      this.authzToken = authzToken;
       this.gatewayId = gatewayId;
       this.updatedGateway = updatedGateway;
     }
@@ -25496,6 +25760,9 @@ public class Airavata {
      * Performs a deep copy on <i>other</i>.
      */
     public updateGateway_args(updateGateway_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
       if (other.isSetGatewayId()) {
         this.gatewayId = other.gatewayId;
       }
@@ -25510,10 +25777,35 @@ public class Airavata {
 
     @Override
     public void clear() {
+      this.authzToken = null;
       this.gatewayId = null;
       this.updatedGateway = null;
     }
 
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public updateGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
     public String getGatewayId() {
       return this.gatewayId;
     }
@@ -25564,6 +25856,14 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
       case GATEWAY_ID:
         if (value == null) {
           unsetGatewayId();
@@ -25585,6 +25885,9 @@ public class Airavata {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
       case GATEWAY_ID:
         return getGatewayId();
 
@@ -25602,6 +25905,8 @@ public class Airavata {
       }
 
       switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
       case GATEWAY_ID:
         return isSetGatewayId();
       case UPDATED_GATEWAY:
@@ -25623,6 +25928,15 @@ public class Airavata {
       if (that == null)
         return false;
 
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
       boolean this_present_gatewayId = true && this.isSetGatewayId();
       boolean that_present_gatewayId = true && that.isSetGatewayId();
       if (this_present_gatewayId || that_present_gatewayId) {
@@ -25648,6 +25962,11 @@ public class Airavata {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
+      boolean present_authzToken = true && (isSetAuthzToken());
+      list.add(present_authzToken);
+      if (present_authzToken)
+        list.add(authzToken);
+
       boolean present_gatewayId = true && (isSetGatewayId());
       list.add(present_gatewayId);
       if (present_gatewayId)
@@ -25669,6 +25988,16 @@ public class Airavata {
 
       int lastComparison = 0;
 
+      lastComparison = Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
@@ -25709,6 +26038,14 @@ public class Airavata {
       StringBuilder sb = new StringBuilder("updateGateway_args(");
       boolean first = true;
 
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
       sb.append("gatewayId:");
       if (this.gatewayId == null) {
         sb.append("null");
@@ -25730,6 +26067,9 @@ public class Airavata {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
       if (gatewayId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
       }
@@ -25737,6 +26077,9 @@ public class Airavata {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'updatedGateway' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
       if (updatedGateway != null) {
         updatedGateway.validate();
       }
@@ -25776,7 +26119,16 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
-            case 1: // GATEWAY_ID
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GATEWAY_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.gatewayId = iprot.readString();
                 struct.setGatewayIdIsSet(true);
@@ -25784,7 +26136,7 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // UPDATED_GATEWAY
+            case 3: // UPDATED_GATEWAY
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
                 struct.updatedGateway = new org.apache.airavata.model.workspace.Gateway();
                 struct.updatedGateway.read(iprot);
@@ -25808,6 +26160,11 @@ public class Airavata {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
         if (struct.gatewayId != null) {
           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
           oprot.writeString(struct.gatewayId);
@@ -25835,6 +26192,7 @@ public class Airavata {
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, updateGateway_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
         oprot.writeString(struct.gatewayId);
         struct.updatedGateway.write(oprot);
       }
@@ -25842,6 +26200,9 @@ public class Airavata {
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, updateGateway_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
         struct.updatedGateway = new org.apache.airavata.model.workspace.Gateway();
@@ -25858,6 +26219,7 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -25868,12 +26230,14 @@ public class Airavata {
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase");
+      ASE((short)3, "ase"),
+      AE((short)4, "ae");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -25894,6 +26258,8 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
+          case 4: // AE
+            return AE;
           default:
             return null;
         }
@@ -25943,6 +26309,8 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateGateway_result.class, metaDataMap);
     }
@@ -25953,12 +26321,14 @@ public class Airavata {
     public updateGateway_result(
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase)
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
+      this.ae = ae;
     }
 
     /**
@@ -25974,6 +26344,9 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
     }
 
     public updateGateway_result deepCopy() {
@@ -25985,6 +26358,7 @@ public class Airavata {
       this.ire = null;
       this.ace = null;
       this.ase = null;
+      this.ae = null;
     }
 
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
@@ -26059,6 +26433,30 @@ public class Airavata {
       }
     }
 
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public updateGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case IRE:
@@ -26085,6 +26483,14 @@ public class Airavata {
         }
         break;
 
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
       }
     }
 
@@ -26099,6 +26505,9 @@ public class Airavata {
       case ASE:
         return getAse();
 
+      case AE:
+        return getAe();
+
       }
       throw new IllegalStateException();
     }
@@ -26116,6 +26525,8 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
+      case AE:
+        return isSetAe();
       }
       throw new IllegalStateException();
     }
@@ -26160,6 +26571,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
       return true;
     }
 
@@ -26182,6 +26602,11 @@ public class Airavata {
       if (present_ase)
         list.add(ase);
 
+      boolean present_ae = true && (isSetAe());
+      list.add(present_ae);
+      if (present_ae)
+        list.add(ae);
+
       return list.hashCode();
     }
 
@@ -26223,6 +26648,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -26266,6 +26701,14 @@ public class Airavata {
         sb.append(this.ase);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -26336,6 +26779,15 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 4: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -26366,6 +26818,11 @@ public class Airavata {
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -26393,7 +26850,10 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(2);
         }
-        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetAe()) {
+          optionals.set(3);
+        }
+        oprot.writeBitSet(optionals, 4);
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
         }
@@ -26403,12 +26863,15 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, updateGateway_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(3);
+        BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
           struct.ire.read(iprot);
@@ -26424,6 +26887,11 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
+        if (incoming.get(3)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
       }
     }
 
@@ -26432,7 +26900,8 @@ public class Airavata {
   public static class getGateway_args implements org.apache.thrift.TBase<getGateway_args, getGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGateway_args");
 
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -26440,11 +26909,13 @@ public class Airavata {
       schemes.put(TupleScheme.class, new getGateway_argsTupleSchemeFactory());
     }
 
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public String gatewayId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      GATEWAY_ID((short)1, "gatewayId");
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      GATEWAY_ID((short)2, "gatewayId");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -26459,7 +26930,9 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // GATEWAY_ID
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // GATEWAY_ID
             return GATEWAY_ID;
           default:
             return null;
@@ -26504,6 +26977,8 @@ public class Airavata {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
       tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -26514,9 +26989,11 @@ public class Airavata {
     }
 
     public getGateway_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
       String gatewayId)
     {
       this();
+      this.authzToken = authzToken;
       this.gatewayId = gatewayId;
     }
 
@@ -26524,6 +27001,9 @@ public class Airavata {
      * Performs a deep copy on <i>other</i>.
      */
     public getGateway_args(getGateway_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
       if (other.isSetGatewayId()) {
         this.gatewayId = other.gatewayId;
       }
@@ -26535,9 +27015,34 @@ public class Airavata {
 
     @Override
     public void clear() {
+      this.authzToken = null;
       this.gatewayId = null;
     }
 
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public getGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
     public String getGatewayId() {
       return this.gatewayId;
     }
@@ -26564,6 +27069,14 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
       case GATEWAY_ID:
         if (value == null) {
           unsetGatewayId();
@@ -26577,6 +27090,9 @@ public class Airavata {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
       case GATEWAY_ID:
         return getGatewayId();
 
@@ -26591,6 +27107,8 @@ public class Airavata {
       }
 
       switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
       case GATEWAY_ID:
         return isSetGatewayId();
       }
@@ -26610,6 +27128,15 @@ public class Airavata {
       if (that == null)
         return false;
 
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
       boolean this_present_gatewayId = true && this.isSetGatewayId();
       boolean that_present_gatewayId = true && that.isSetGatewayId();
       if (this_present_gatewayId || that_present_gatewayId) {
@@ -26626,6 +27153,11 @@ public class Airavata {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
+      boolean present_authzToken = true && (isSetAuthzToken());
+      list.add(present_authzToken);
+      if (present_authzToken)
+        list.add(authzToken);
+
       boolean present_gatewayId = true && (isSetGatewayId());
       list.add(present_gatewayId);
       if (present_gatewayId)
@@ -26642,6 +27174,16 @@ public class Airavata {
 
       int lastComparison = 0;
 
+      lastComparison = Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
@@ -26672,6 +27214,14 @@ public class Airavata {
       StringBuilder sb = new StringBuilder("getGateway_args(");
       boolean first = true;
 
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
       sb.append("gatewayId:");
       if (this.gatewayId == null) {
         sb.append("null");
@@ -26685,10 +27235,16 @@ public class Airavata {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
       if (gatewayId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -26725,7 +27281,16 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
-            case 1: // GATEWAY_ID
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GATEWAY_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.gatewayId = iprot.readString();
                 struct.setGatewayIdIsSet(true);
@@ -26748,6 +27313,11 @@ public class Airavata {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
         if (struct.gatewayId != null) {
           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
           oprot.writeString(struct.gatewayId);
@@ -26770,12 +27340,16 @@ public class Airavata {
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, getGateway_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
         oprot.writeString(struct.gatewayId);
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, getGateway_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
       }
@@ -26790,6 +27364,7 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -26801,13 +27376,15 @@ public class Airavata {
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase");
+      ASE((short)3, "ase"),
+      AE((short)4, "ae");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -26830,6 +27407,8 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
+          case 4: // AE
+            return AE;
           default:
             return null;
         }
@@ -26881,6 +27460,8 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGateway_result.class, metaDataMap);
     }
@@ -26892,13 +27473,15 @@ public class Airavata {
       org.apache.airavata.model.workspace.Gateway success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase)
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
       this.success = success;
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
+      this.ae = ae;
     }
 
     /**
@@ -26917,6 +27500,9 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
     }
 
     public getGateway_result deepCopy() {
@@ -26929,6 +27515,7 @@ public class Airavata {
       this.ire = null;
       this.ace = null;
       this.ase = null;
+      this.ae = null;
     }
 
     public org.apache.airavata.model.workspace.Gateway getSuccess() {
@@ -27027,6 +27614,30 @@ public class Airavata {
       }
     }
 
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public getGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -27061,6 +27672,14 @@ public class Airavata {
         }
         break;
 
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
       }
     }
 
@@ -27078,6 +27697,9 @@ public class Airavata {
       case ASE:
         return getAse();
 
+      case AE:
+        return getAe();
+
       }
       throw new IllegalStateException();
     }
@@ -27097,6 +27719,8 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
+      case AE:
+        return isSetAe();
       }
       throw new IllegalStateException();
     }
@@ -27150,6 +27774,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
       return true;
     }
 
@@ -27177,6 +27810,11 @@ public class Airavata {
       if (present_ase)
         list.add(ase);
 
+      boolean present_ae = true && (isSetAe());
+      list.add(present_ae);
+      if (present_ae)
+        list.add(ae);
+
       return list.hashCode();
     }
 
@@ -27228,6 +27866,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -27279,6 +27927,14 @@ public class Airavata {
         sb.append(this.ase);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -27361,6 +28017,15 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 4: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -27396,6 +28061,11 @@ public class Airavata {
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -27426,7 +28096,10 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        oprot.writeBitSet(optionals, 4);
+        if (struct.isSetAe()) {
+          optionals.set(4);
+        }
+        oprot.writeBitSet(optionals, 5);
         if (struct.isSetSuccess()) {
           struct.success.write(oprot);
         }
@@ -27439,12 +28112,15 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, getGateway_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(4);
+        BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           struct.success = new org.apache.airavata.model.workspace.Gateway();
           struct.success.read(iprot);
@@ -27465,6 +28141,11 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
+        if (incoming.get(4)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
       }
     }
 


[09/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_types.cpp
new file mode 100644
index 0000000..efe4c1a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_types.cpp
@@ -0,0 +1,420 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "gateway_resource_profile_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
+
+
+ComputeResourcePreference::~ComputeResourcePreference() throw() {
+}
+
+
+void ComputeResourcePreference::__set_computeResourceId(const std::string& val) {
+  this->computeResourceId = val;
+}
+
+void ComputeResourcePreference::__set_overridebyAiravata(const bool val) {
+  this->overridebyAiravata = val;
+}
+
+void ComputeResourcePreference::__set_loginUserName(const std::string& val) {
+  this->loginUserName = val;
+__isset.loginUserName = true;
+}
+
+void ComputeResourcePreference::__set_preferredJobSubmissionProtocol(const  ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type val) {
+  this->preferredJobSubmissionProtocol = val;
+__isset.preferredJobSubmissionProtocol = true;
+}
+
+void ComputeResourcePreference::__set_preferredDataMovementProtocol(const  ::apache::airavata::model::appcatalog::computeresource::DataMovementProtocol::type val) {
+  this->preferredDataMovementProtocol = val;
+__isset.preferredDataMovementProtocol = true;
+}
+
+void ComputeResourcePreference::__set_preferredBatchQueue(const std::string& val) {
+  this->preferredBatchQueue = val;
+__isset.preferredBatchQueue = true;
+}
+
+void ComputeResourcePreference::__set_scratchLocation(const std::string& val) {
+  this->scratchLocation = val;
+__isset.scratchLocation = true;
+}
+
+void ComputeResourcePreference::__set_allocationProjectNumber(const std::string& val) {
+  this->allocationProjectNumber = val;
+__isset.allocationProjectNumber = true;
+}
+
+const char* ComputeResourcePreference::ascii_fingerprint = "D89E0E13D04B60B99B78496AC9B85D52";
+const uint8_t ComputeResourcePreference::binary_fingerprint[16] = {0xD8,0x9E,0x0E,0x13,0xD0,0x4B,0x60,0xB9,0x9B,0x78,0x49,0x6A,0xC9,0xB8,0x5D,0x52};
+
+uint32_t ComputeResourcePreference::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_computeResourceId = false;
+  bool isset_overridebyAiravata = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->computeResourceId);
+          isset_computeResourceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->overridebyAiravata);
+          isset_overridebyAiravata = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->loginUserName);
+          this->__isset.loginUserName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->preferredJobSubmissionProtocol = ( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)ecast0;
+          this->__isset.preferredJobSubmissionProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast1;
+          xfer += iprot->readI32(ecast1);
+          this->preferredDataMovementProtocol = ( ::apache::airavata::model::appcatalog::computeresource::DataMovementProtocol::type)ecast1;
+          this->__isset.preferredDataMovementProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->preferredBatchQueue);
+          this->__isset.preferredBatchQueue = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->scratchLocation);
+          this->__isset.scratchLocation = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->allocationProjectNumber);
+          this->__isset.allocationProjectNumber = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_computeResourceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_overridebyAiravata)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ComputeResourcePreference::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ComputeResourcePreference");
+
+  xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->computeResourceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("overridebyAiravata", ::apache::thrift::protocol::T_BOOL, 2);
+  xfer += oprot->writeBool(this->overridebyAiravata);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.loginUserName) {
+    xfer += oprot->writeFieldBegin("loginUserName", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->loginUserName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.preferredJobSubmissionProtocol) {
+    xfer += oprot->writeFieldBegin("preferredJobSubmissionProtocol", ::apache::thrift::protocol::T_I32, 4);
+    xfer += oprot->writeI32((int32_t)this->preferredJobSubmissionProtocol);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.preferredDataMovementProtocol) {
+    xfer += oprot->writeFieldBegin("preferredDataMovementProtocol", ::apache::thrift::protocol::T_I32, 5);
+    xfer += oprot->writeI32((int32_t)this->preferredDataMovementProtocol);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.preferredBatchQueue) {
+    xfer += oprot->writeFieldBegin("preferredBatchQueue", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->preferredBatchQueue);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.scratchLocation) {
+    xfer += oprot->writeFieldBegin("scratchLocation", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->scratchLocation);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.allocationProjectNumber) {
+    xfer += oprot->writeFieldBegin("allocationProjectNumber", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->allocationProjectNumber);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ComputeResourcePreference &a, ComputeResourcePreference &b) {
+  using ::std::swap;
+  swap(a.computeResourceId, b.computeResourceId);
+  swap(a.overridebyAiravata, b.overridebyAiravata);
+  swap(a.loginUserName, b.loginUserName);
+  swap(a.preferredJobSubmissionProtocol, b.preferredJobSubmissionProtocol);
+  swap(a.preferredDataMovementProtocol, b.preferredDataMovementProtocol);
+  swap(a.preferredBatchQueue, b.preferredBatchQueue);
+  swap(a.scratchLocation, b.scratchLocation);
+  swap(a.allocationProjectNumber, b.allocationProjectNumber);
+  swap(a.__isset, b.__isset);
+}
+
+ComputeResourcePreference::ComputeResourcePreference(const ComputeResourcePreference& other2) {
+  computeResourceId = other2.computeResourceId;
+  overridebyAiravata = other2.overridebyAiravata;
+  loginUserName = other2.loginUserName;
+  preferredJobSubmissionProtocol = other2.preferredJobSubmissionProtocol;
+  preferredDataMovementProtocol = other2.preferredDataMovementProtocol;
+  preferredBatchQueue = other2.preferredBatchQueue;
+  scratchLocation = other2.scratchLocation;
+  allocationProjectNumber = other2.allocationProjectNumber;
+  __isset = other2.__isset;
+}
+ComputeResourcePreference& ComputeResourcePreference::operator=(const ComputeResourcePreference& other3) {
+  computeResourceId = other3.computeResourceId;
+  overridebyAiravata = other3.overridebyAiravata;
+  loginUserName = other3.loginUserName;
+  preferredJobSubmissionProtocol = other3.preferredJobSubmissionProtocol;
+  preferredDataMovementProtocol = other3.preferredDataMovementProtocol;
+  preferredBatchQueue = other3.preferredBatchQueue;
+  scratchLocation = other3.scratchLocation;
+  allocationProjectNumber = other3.allocationProjectNumber;
+  __isset = other3.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ComputeResourcePreference& obj) {
+  using apache::thrift::to_string;
+  out << "ComputeResourcePreference(";
+  out << "computeResourceId=" << to_string(obj.computeResourceId);
+  out << ", " << "overridebyAiravata=" << to_string(obj.overridebyAiravata);
+  out << ", " << "loginUserName="; (obj.__isset.loginUserName ? (out << to_string(obj.loginUserName)) : (out << "<null>"));
+  out << ", " << "preferredJobSubmissionProtocol="; (obj.__isset.preferredJobSubmissionProtocol ? (out << to_string(obj.preferredJobSubmissionProtocol)) : (out << "<null>"));
+  out << ", " << "preferredDataMovementProtocol="; (obj.__isset.preferredDataMovementProtocol ? (out << to_string(obj.preferredDataMovementProtocol)) : (out << "<null>"));
+  out << ", " << "preferredBatchQueue="; (obj.__isset.preferredBatchQueue ? (out << to_string(obj.preferredBatchQueue)) : (out << "<null>"));
+  out << ", " << "scratchLocation="; (obj.__isset.scratchLocation ? (out << to_string(obj.scratchLocation)) : (out << "<null>"));
+  out << ", " << "allocationProjectNumber="; (obj.__isset.allocationProjectNumber ? (out << to_string(obj.allocationProjectNumber)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+GatewayResourceProfile::~GatewayResourceProfile() throw() {
+}
+
+
+void GatewayResourceProfile::__set_gatewayID(const std::string& val) {
+  this->gatewayID = val;
+}
+
+void GatewayResourceProfile::__set_computeResourcePreferences(const std::vector<ComputeResourcePreference> & val) {
+  this->computeResourcePreferences = val;
+__isset.computeResourcePreferences = true;
+}
+
+const char* GatewayResourceProfile::ascii_fingerprint = "106DE1CD0F7026F6471DE8DAF360BE03";
+const uint8_t GatewayResourceProfile::binary_fingerprint[16] = {0x10,0x6D,0xE1,0xCD,0x0F,0x70,0x26,0xF6,0x47,0x1D,0xE8,0xDA,0xF3,0x60,0xBE,0x03};
+
+uint32_t GatewayResourceProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_gatewayID = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayID);
+          isset_gatewayID = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->computeResourcePreferences.clear();
+            uint32_t _size4;
+            ::apache::thrift::protocol::TType _etype7;
+            xfer += iprot->readListBegin(_etype7, _size4);
+            this->computeResourcePreferences.resize(_size4);
+            uint32_t _i8;
+            for (_i8 = 0; _i8 < _size4; ++_i8)
+            {
+              xfer += this->computeResourcePreferences[_i8].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.computeResourcePreferences = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_gatewayID)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t GatewayResourceProfile::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("GatewayResourceProfile");
+
+  xfer += oprot->writeFieldBegin("gatewayID", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayID);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.computeResourcePreferences) {
+    xfer += oprot->writeFieldBegin("computeResourcePreferences", ::apache::thrift::protocol::T_LIST, 2);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->computeResourcePreferences.size()));
+      std::vector<ComputeResourcePreference> ::const_iterator _iter9;
+      for (_iter9 = this->computeResourcePreferences.begin(); _iter9 != this->computeResourcePreferences.end(); ++_iter9)
+      {
+        xfer += (*_iter9).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(GatewayResourceProfile &a, GatewayResourceProfile &b) {
+  using ::std::swap;
+  swap(a.gatewayID, b.gatewayID);
+  swap(a.computeResourcePreferences, b.computeResourcePreferences);
+  swap(a.__isset, b.__isset);
+}
+
+GatewayResourceProfile::GatewayResourceProfile(const GatewayResourceProfile& other10) {
+  gatewayID = other10.gatewayID;
+  computeResourcePreferences = other10.computeResourcePreferences;
+  __isset = other10.__isset;
+}
+GatewayResourceProfile& GatewayResourceProfile::operator=(const GatewayResourceProfile& other11) {
+  gatewayID = other11.gatewayID;
+  computeResourcePreferences = other11.computeResourcePreferences;
+  __isset = other11.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const GatewayResourceProfile& obj) {
+  using apache::thrift::to_string;
+  out << "GatewayResourceProfile(";
+  out << "gatewayID=" << to_string(obj.gatewayID);
+  out << ", " << "computeResourcePreferences="; (obj.__isset.computeResourcePreferences ? (out << to_string(obj.computeResourcePreferences)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_types.h
new file mode 100644
index 0000000..978ca60
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gateway_resource_profile_model_types.h
@@ -0,0 +1,191 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef gateway_resource_profile_model_TYPES_H
+#define gateway_resource_profile_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "compute_resource_model_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
+
+class ComputeResourcePreference;
+
+class GatewayResourceProfile;
+
+typedef struct _ComputeResourcePreference__isset {
+  _ComputeResourcePreference__isset() : loginUserName(false), preferredJobSubmissionProtocol(false), preferredDataMovementProtocol(false), preferredBatchQueue(false), scratchLocation(false), allocationProjectNumber(false) {}
+  bool loginUserName :1;
+  bool preferredJobSubmissionProtocol :1;
+  bool preferredDataMovementProtocol :1;
+  bool preferredBatchQueue :1;
+  bool scratchLocation :1;
+  bool allocationProjectNumber :1;
+} _ComputeResourcePreference__isset;
+
+class ComputeResourcePreference {
+ public:
+
+  static const char* ascii_fingerprint; // = "D89E0E13D04B60B99B78496AC9B85D52";
+  static const uint8_t binary_fingerprint[16]; // = {0xD8,0x9E,0x0E,0x13,0xD0,0x4B,0x60,0xB9,0x9B,0x78,0x49,0x6A,0xC9,0xB8,0x5D,0x52};
+
+  ComputeResourcePreference(const ComputeResourcePreference&);
+  ComputeResourcePreference& operator=(const ComputeResourcePreference&);
+  ComputeResourcePreference() : computeResourceId(), overridebyAiravata(true), loginUserName(), preferredJobSubmissionProtocol(( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)0), preferredDataMovementProtocol(( ::apache::airavata::model::appcatalog::computeresource::DataMovementProtocol::type)0), preferredBatchQueue(), scratchLocation(), allocationProjectNumber() {
+  }
+
+  virtual ~ComputeResourcePreference() throw();
+  std::string computeResourceId;
+  bool overridebyAiravata;
+  std::string loginUserName;
+   ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type preferredJobSubmissionProtocol;
+   ::apache::airavata::model::appcatalog::computeresource::DataMovementProtocol::type preferredDataMovementProtocol;
+  std::string preferredBatchQueue;
+  std::string scratchLocation;
+  std::string allocationProjectNumber;
+
+  _ComputeResourcePreference__isset __isset;
+
+  void __set_computeResourceId(const std::string& val);
+
+  void __set_overridebyAiravata(const bool val);
+
+  void __set_loginUserName(const std::string& val);
+
+  void __set_preferredJobSubmissionProtocol(const  ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type val);
+
+  void __set_preferredDataMovementProtocol(const  ::apache::airavata::model::appcatalog::computeresource::DataMovementProtocol::type val);
+
+  void __set_preferredBatchQueue(const std::string& val);
+
+  void __set_scratchLocation(const std::string& val);
+
+  void __set_allocationProjectNumber(const std::string& val);
+
+  bool operator == (const ComputeResourcePreference & rhs) const
+  {
+    if (!(computeResourceId == rhs.computeResourceId))
+      return false;
+    if (!(overridebyAiravata == rhs.overridebyAiravata))
+      return false;
+    if (__isset.loginUserName != rhs.__isset.loginUserName)
+      return false;
+    else if (__isset.loginUserName && !(loginUserName == rhs.loginUserName))
+      return false;
+    if (__isset.preferredJobSubmissionProtocol != rhs.__isset.preferredJobSubmissionProtocol)
+      return false;
+    else if (__isset.preferredJobSubmissionProtocol && !(preferredJobSubmissionProtocol == rhs.preferredJobSubmissionProtocol))
+      return false;
+    if (__isset.preferredDataMovementProtocol != rhs.__isset.preferredDataMovementProtocol)
+      return false;
+    else if (__isset.preferredDataMovementProtocol && !(preferredDataMovementProtocol == rhs.preferredDataMovementProtocol))
+      return false;
+    if (__isset.preferredBatchQueue != rhs.__isset.preferredBatchQueue)
+      return false;
+    else if (__isset.preferredBatchQueue && !(preferredBatchQueue == rhs.preferredBatchQueue))
+      return false;
+    if (__isset.scratchLocation != rhs.__isset.scratchLocation)
+      return false;
+    else if (__isset.scratchLocation && !(scratchLocation == rhs.scratchLocation))
+      return false;
+    if (__isset.allocationProjectNumber != rhs.__isset.allocationProjectNumber)
+      return false;
+    else if (__isset.allocationProjectNumber && !(allocationProjectNumber == rhs.allocationProjectNumber))
+      return false;
+    return true;
+  }
+  bool operator != (const ComputeResourcePreference &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ComputeResourcePreference & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ComputeResourcePreference& obj);
+};
+
+void swap(ComputeResourcePreference &a, ComputeResourcePreference &b);
+
+typedef struct _GatewayResourceProfile__isset {
+  _GatewayResourceProfile__isset() : computeResourcePreferences(false) {}
+  bool computeResourcePreferences :1;
+} _GatewayResourceProfile__isset;
+
+class GatewayResourceProfile {
+ public:
+
+  static const char* ascii_fingerprint; // = "106DE1CD0F7026F6471DE8DAF360BE03";
+  static const uint8_t binary_fingerprint[16]; // = {0x10,0x6D,0xE1,0xCD,0x0F,0x70,0x26,0xF6,0x47,0x1D,0xE8,0xDA,0xF3,0x60,0xBE,0x03};
+
+  GatewayResourceProfile(const GatewayResourceProfile&);
+  GatewayResourceProfile& operator=(const GatewayResourceProfile&);
+  GatewayResourceProfile() : gatewayID() {
+  }
+
+  virtual ~GatewayResourceProfile() throw();
+  std::string gatewayID;
+  std::vector<ComputeResourcePreference>  computeResourcePreferences;
+
+  _GatewayResourceProfile__isset __isset;
+
+  void __set_gatewayID(const std::string& val);
+
+  void __set_computeResourcePreferences(const std::vector<ComputeResourcePreference> & val);
+
+  bool operator == (const GatewayResourceProfile & rhs) const
+  {
+    if (!(gatewayID == rhs.gatewayID))
+      return false;
+    if (__isset.computeResourcePreferences != rhs.__isset.computeResourcePreferences)
+      return false;
+    else if (__isset.computeResourcePreferences && !(computeResourcePreferences == rhs.computeResourcePreferences))
+      return false;
+    return true;
+  }
+  bool operator != (const GatewayResourceProfile &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const GatewayResourceProfile & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const GatewayResourceProfile& obj);
+};
+
+void swap(GatewayResourceProfile &a, GatewayResourceProfile &b);
+
+}}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_constants.cpp
new file mode 100644
index 0000000..1bf85fd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "job_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace job {
+
+const job_modelConstants g_job_model_constants;
+
+job_modelConstants::job_modelConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_constants.h
new file mode 100644
index 0000000..68cc49e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef job_model_CONSTANTS_H
+#define job_model_CONSTANTS_H
+
+#include "job_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace job {
+
+class job_modelConstants {
+ public:
+  job_modelConstants();
+
+};
+
+extern const job_modelConstants g_job_model_constants;
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
new file mode 100644
index 0000000..7f6486c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.cpp
@@ -0,0 +1,282 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "job_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace job {
+
+
+JobModel::~JobModel() throw() {
+}
+
+
+void JobModel::__set_jobId(const std::string& val) {
+  this->jobId = val;
+}
+
+void JobModel::__set_taskId(const std::string& val) {
+  this->taskId = val;
+}
+
+void JobModel::__set_jobDescription(const std::string& val) {
+  this->jobDescription = val;
+}
+
+void JobModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void JobModel::__set_jobStatus(const  ::apache::airavata::model::status::JobStatus& val) {
+  this->jobStatus = val;
+__isset.jobStatus = true;
+}
+
+void JobModel::__set_computeResourceConsumed(const std::string& val) {
+  this->computeResourceConsumed = val;
+__isset.computeResourceConsumed = true;
+}
+
+void JobModel::__set_jobName(const std::string& val) {
+  this->jobName = val;
+__isset.jobName = true;
+}
+
+void JobModel::__set_workingDir(const std::string& val) {
+  this->workingDir = val;
+__isset.workingDir = true;
+}
+
+const char* JobModel::ascii_fingerprint = "41CA915161D6C0FFEE6B97FACBDE9259";
+const uint8_t JobModel::binary_fingerprint[16] = {0x41,0xCA,0x91,0x51,0x61,0xD6,0xC0,0xFF,0xEE,0x6B,0x97,0xFA,0xCB,0xDE,0x92,0x59};
+
+uint32_t JobModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_jobId = false;
+  bool isset_taskId = false;
+  bool isset_jobDescription = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobId);
+          isset_jobId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->taskId);
+          isset_taskId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobDescription);
+          isset_jobDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->jobStatus.read(iprot);
+          this->__isset.jobStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->computeResourceConsumed);
+          this->__isset.computeResourceConsumed = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->jobName);
+          this->__isset.jobName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->workingDir);
+          this->__isset.workingDir = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_jobId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_taskId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_jobDescription)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t JobModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("JobModel");
+
+  xfer += oprot->writeFieldBegin("jobId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->jobId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("taskId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->taskId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("jobDescription", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->jobDescription);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 4);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.jobStatus) {
+    xfer += oprot->writeFieldBegin("jobStatus", ::apache::thrift::protocol::T_STRUCT, 5);
+    xfer += this->jobStatus.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.computeResourceConsumed) {
+    xfer += oprot->writeFieldBegin("computeResourceConsumed", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->computeResourceConsumed);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.jobName) {
+    xfer += oprot->writeFieldBegin("jobName", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->jobName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.workingDir) {
+    xfer += oprot->writeFieldBegin("workingDir", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->workingDir);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(JobModel &a, JobModel &b) {
+  using ::std::swap;
+  swap(a.jobId, b.jobId);
+  swap(a.taskId, b.taskId);
+  swap(a.jobDescription, b.jobDescription);
+  swap(a.creationTime, b.creationTime);
+  swap(a.jobStatus, b.jobStatus);
+  swap(a.computeResourceConsumed, b.computeResourceConsumed);
+  swap(a.jobName, b.jobName);
+  swap(a.workingDir, b.workingDir);
+  swap(a.__isset, b.__isset);
+}
+
+JobModel::JobModel(const JobModel& other0) {
+  jobId = other0.jobId;
+  taskId = other0.taskId;
+  jobDescription = other0.jobDescription;
+  creationTime = other0.creationTime;
+  jobStatus = other0.jobStatus;
+  computeResourceConsumed = other0.computeResourceConsumed;
+  jobName = other0.jobName;
+  workingDir = other0.workingDir;
+  __isset = other0.__isset;
+}
+JobModel& JobModel::operator=(const JobModel& other1) {
+  jobId = other1.jobId;
+  taskId = other1.taskId;
+  jobDescription = other1.jobDescription;
+  creationTime = other1.creationTime;
+  jobStatus = other1.jobStatus;
+  computeResourceConsumed = other1.computeResourceConsumed;
+  jobName = other1.jobName;
+  workingDir = other1.workingDir;
+  __isset = other1.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const JobModel& obj) {
+  using apache::thrift::to_string;
+  out << "JobModel(";
+  out << "jobId=" << to_string(obj.jobId);
+  out << ", " << "taskId=" << to_string(obj.taskId);
+  out << ", " << "jobDescription=" << to_string(obj.jobDescription);
+  out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
+  out << ", " << "jobStatus="; (obj.__isset.jobStatus ? (out << to_string(obj.jobStatus)) : (out << "<null>"));
+  out << ", " << "computeResourceConsumed="; (obj.__isset.computeResourceConsumed ? (out << to_string(obj.computeResourceConsumed)) : (out << "<null>"));
+  out << ", " << "jobName="; (obj.__isset.jobName ? (out << to_string(obj.jobName)) : (out << "<null>"));
+  out << ", " << "workingDir="; (obj.__isset.workingDir ? (out << to_string(obj.workingDir)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
new file mode 100644
index 0000000..2b4b00f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/job_model_types.h
@@ -0,0 +1,136 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef job_model_TYPES_H
+#define job_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "status_models_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace job {
+
+class JobModel;
+
+typedef struct _JobModel__isset {
+  _JobModel__isset() : creationTime(false), jobStatus(false), computeResourceConsumed(false), jobName(false), workingDir(false) {}
+  bool creationTime :1;
+  bool jobStatus :1;
+  bool computeResourceConsumed :1;
+  bool jobName :1;
+  bool workingDir :1;
+} _JobModel__isset;
+
+class JobModel {
+ public:
+
+  static const char* ascii_fingerprint; // = "41CA915161D6C0FFEE6B97FACBDE9259";
+  static const uint8_t binary_fingerprint[16]; // = {0x41,0xCA,0x91,0x51,0x61,0xD6,0xC0,0xFF,0xEE,0x6B,0x97,0xFA,0xCB,0xDE,0x92,0x59};
+
+  JobModel(const JobModel&);
+  JobModel& operator=(const JobModel&);
+  JobModel() : jobId(), taskId(), jobDescription(), creationTime(0), computeResourceConsumed(), jobName(), workingDir() {
+  }
+
+  virtual ~JobModel() throw();
+  std::string jobId;
+  std::string taskId;
+  std::string jobDescription;
+  int64_t creationTime;
+   ::apache::airavata::model::status::JobStatus jobStatus;
+  std::string computeResourceConsumed;
+  std::string jobName;
+  std::string workingDir;
+
+  _JobModel__isset __isset;
+
+  void __set_jobId(const std::string& val);
+
+  void __set_taskId(const std::string& val);
+
+  void __set_jobDescription(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_jobStatus(const  ::apache::airavata::model::status::JobStatus& val);
+
+  void __set_computeResourceConsumed(const std::string& val);
+
+  void __set_jobName(const std::string& val);
+
+  void __set_workingDir(const std::string& val);
+
+  bool operator == (const JobModel & rhs) const
+  {
+    if (!(jobId == rhs.jobId))
+      return false;
+    if (!(taskId == rhs.taskId))
+      return false;
+    if (!(jobDescription == rhs.jobDescription))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (__isset.jobStatus != rhs.__isset.jobStatus)
+      return false;
+    else if (__isset.jobStatus && !(jobStatus == rhs.jobStatus))
+      return false;
+    if (__isset.computeResourceConsumed != rhs.__isset.computeResourceConsumed)
+      return false;
+    else if (__isset.computeResourceConsumed && !(computeResourceConsumed == rhs.computeResourceConsumed))
+      return false;
+    if (__isset.jobName != rhs.__isset.jobName)
+      return false;
+    else if (__isset.jobName && !(jobName == rhs.jobName))
+      return false;
+    if (__isset.workingDir != rhs.__isset.workingDir)
+      return false;
+    else if (__isset.workingDir && !(workingDir == rhs.workingDir))
+      return false;
+    return true;
+  }
+  bool operator != (const JobModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const JobModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const JobModel& obj);
+};
+
+void swap(JobModel &a, JobModel &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_constants.cpp
new file mode 100644
index 0000000..c943064
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "messaging_events_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace messaging { namespace event {
+
+const messaging_eventsConstants g_messaging_events_constants;
+
+messaging_eventsConstants::messaging_eventsConstants() {
+}
+
+}}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_constants.h
new file mode 100644
index 0000000..58802f8
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef messaging_events_CONSTANTS_H
+#define messaging_events_CONSTANTS_H
+
+#include "messaging_events_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace messaging { namespace event {
+
+class messaging_eventsConstants {
+ public:
+  messaging_eventsConstants();
+
+};
+
+extern const messaging_eventsConstants g_messaging_events_constants;
+
+}}}}} // namespace
+
+#endif


[24/44] airavata git commit: adding security validation on API method calls through interception using the Guice AOP framework.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SCPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SCPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SCPDataMovement.java
index f10b68f..6d6294d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SCPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SCPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class SCPDataMovement implements org.apache.thrift.TBase<SCPDataMovement, SCPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<SCPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SCPDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
index 7ee5438..0dbb0f6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class SSHJobSubmission implements org.apache.thrift.TBase<SSHJobSubmission, SSHJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<SSHJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreDataMovement.java
index 148ee79..b97fac7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreDataMovement.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * unicoreEndPointURL:
  *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class UnicoreDataMovement implements org.apache.thrift.TBase<UnicoreDataMovement, UnicoreDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
index b135a17..e6c7896 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
@@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory;
  * authenticationMode
  *  The authenticationMode defines the way certificate is fetched.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class UnicoreJobSubmission implements org.apache.thrift.TBase<UnicoreJobSubmission, UnicoreJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
index 6189921..2a190cb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
@@ -81,7 +81,7 @@ import org.slf4j.LoggerFactory;
  *    account to be used has to be added to the allocation.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ComputeResourcePreference implements org.apache.thrift.TBase<ComputeResourcePreference, ComputeResourcePreference._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourcePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourcePreference");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
index 69b22b2..aafac60 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
@@ -62,7 +62,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class GatewayResourceProfile implements org.apache.thrift.TBase<GatewayResourceProfile, GatewayResourceProfile._Fields>, java.io.Serializable, Cloneable, Comparable<GatewayResourceProfile> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GatewayResourceProfile");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
index 798b04f..d1a74ae 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObjectType, InputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<InputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InputDataObjectType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
index 9cfc956..4cccc04 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataObjectType, OutputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<OutputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputDataObjectType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
index 51a0d56..f55d50f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ErrorModel implements org.apache.thrift.TBase<ErrorModel, ErrorModel._Fields>, java.io.Serializable, Cloneable, Comparable<ErrorModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ErrorModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
index c328ff5..5c2eb5e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
index 81d2561..4b9186f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * during the experiment launch operation
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
index 1adfbe1..8c79f0a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
  * parameter:  If the error applied to a particular input parameter, this will
  *   indicate which parameter.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class AiravataClientException extends TException implements org.apache.thrift.TBase<AiravataClientException, AiravataClientException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataClientException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataClientException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
index bdb4b24..5a82ad2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  * message:  This may contain additional information about the error
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class AiravataSystemException extends TException implements org.apache.thrift.TBase<AiravataSystemException, AiravataSystemException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataSystemException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataSystemException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
index 3492c49..e8e84ed 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the cause of the authorization failure.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class AuthenticationException extends TException implements org.apache.thrift.TBase<AuthenticationException, AuthenticationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthenticationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthenticationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
index 187e202..1535890 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the authorization failure message
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class AuthorizationException extends TException implements org.apache.thrift.TBase<AuthorizationException, AuthorizationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthorizationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthorizationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
index 27171d9..8989853 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * 
  * key:  The value passed from the client in the identifier, which was not found.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ExperimentNotFoundException extends TException implements org.apache.thrift.TBase<ExperimentNotFoundException, ExperimentNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentNotFoundException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
index 30d94e9..7c1ff44 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the associated error message.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class InvalidRequestException extends TException implements org.apache.thrift.TBase<InvalidRequestException, InvalidRequestException._Fields>, java.io.Serializable, Cloneable, Comparable<InvalidRequestException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidRequestException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
index 4ceb17c..6a5ccdb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class LaunchValidationException extends TException implements org.apache.thrift.TBase<LaunchValidationException, LaunchValidationException._Fields>, java.io.Serializable, Cloneable, Comparable<LaunchValidationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LaunchValidationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
index 2cdbe27..113d168 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 2:  optional  string key
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ProjectNotFoundException extends TException implements org.apache.thrift.TBase<ProjectNotFoundException, ProjectNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ProjectNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProjectNotFoundException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
index 4d478d4..01df5f5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
 /**
  * This exception is thrown when RPC timeout gets exceeded.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class TimedOutException extends TException implements org.apache.thrift.TBase<TimedOutException, TimedOutException._Fields>, java.io.Serializable, Cloneable, Comparable<TimedOutException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TimedOutException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
index 6b507fe..171c03a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
index f142d1b..e9791b4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
index 75c0a6a..19af86a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
  * experimentDescription:
  *    The verbose description of the experiment. This is an optional parameter.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel, ExperimentModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
index fc35df7..d2ff885 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ExperimentStatistics implements org.apache.thrift.TBase<ExperimentStatistics, ExperimentStatistics._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatistics> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatistics");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
index 8d5fd04..8188fd2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ExperimentSummaryModel implements org.apache.thrift.TBase<ExperimentSummaryModel, ExperimentSummaryModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentSummaryModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentSummaryModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
index fae0631..8f96387 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserConfigurationDataModel, UserConfigurationDataModel._Fields>, java.io.Serializable, Cloneable, Comparable<UserConfigurationDataModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserConfigurationDataModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
index 94cd264..4dadb12 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class JobModel implements org.apache.thrift.TBase<JobModel, JobModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
index 90d443a..bc99448 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ExperimentStatusChangeEvent implements org.apache.thrift.TBase<ExperimentStatusChangeEvent, ExperimentStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
index 24ef187..3dca2b6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class JobIdentifier implements org.apache.thrift.TBase<JobIdentifier, JobIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<JobIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
index 69d171f..3ebbd0b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class JobStatusChangeEvent implements org.apache.thrift.TBase<JobStatusChangeEvent, JobStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
index 9463f38..eb2f471 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class JobStatusChangeRequestEvent implements org.apache.thrift.TBase<JobStatusChangeRequestEvent, JobStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
index d4226d0..8abd77e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class Message implements org.apache.thrift.TBase<Message, Message._Fields>, java.io.Serializable, Cloneable, Comparable<Message> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Message");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
index 87e01bb..31d9cc6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ProcessIdentifier implements org.apache.thrift.TBase<ProcessIdentifier, ProcessIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
index 91f70ac..593b58c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ProcessStatusChangeEvent implements org.apache.thrift.TBase<ProcessStatusChangeEvent, ProcessStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
index ed2e439..a6852f2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ProcessStatusChangeRequestEvent implements org.apache.thrift.TBase<ProcessStatusChangeRequestEvent, ProcessStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
index 92618f6..56e0351 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ProcessSubmitEvent implements org.apache.thrift.TBase<ProcessSubmitEvent, ProcessSubmitEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessSubmitEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessSubmitEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
index 60b83a2..2ab53aa 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ProcessTerminateEvent implements org.apache.thrift.TBase<ProcessTerminateEvent, ProcessTerminateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessTerminateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessTerminateEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
index 14ae6dc..c316dde 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class TaskIdentifier implements org.apache.thrift.TBase<TaskIdentifier, TaskIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<TaskIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
index 60aa18a..d26e686 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class TaskOutputChangeEvent implements org.apache.thrift.TBase<TaskOutputChangeEvent, TaskOutputChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskOutputChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskOutputChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
index 564800b..5c7989d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class TaskStatusChangeEvent implements org.apache.thrift.TBase<TaskStatusChangeEvent, TaskStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
index 6bb7bac..76c81b4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class TaskStatusChangeRequestEvent implements org.apache.thrift.TBase<TaskStatusChangeRequestEvent, TaskStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
index 8e6bcb4..a164742 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, ProcessModel._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
index 3f783a5..fa57a79 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ComputationalResourceSchedulingModel implements org.apache.thrift.TBase<ComputationalResourceSchedulingModel, ComputationalResourceSchedulingModel._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceSchedulingModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputationalResourceSchedulingModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
index 566d946..8fad6e6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class AuthzToken implements org.apache.thrift.TBase<AuthzToken, AuthzToken._Fields>, java.io.Serializable, Cloneable, Comparable<AuthzToken> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthzToken");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
index ff4d614..831b482 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *   User friendly reason on how the state is inferred.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ExperimentStatus implements org.apache.thrift.TBase<ExperimentStatus, ExperimentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
index c4ed147..da87498 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class JobStatus implements org.apache.thrift.TBase<JobStatus, JobStatus._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
index 270a6fb..8e0b962 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ProcessStatus implements org.apache.thrift.TBase<ProcessStatus, ProcessStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
index 54e1ff6..cb66263 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class TaskStatus implements org.apache.thrift.TBase<TaskStatus, TaskStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
index 9ea7165..4786b7d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  *   A friendly description of the task, usally used to communicate information to users.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class DataStagingTaskModel implements org.apache.thrift.TBase<DataStagingTaskModel, DataStagingTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataStagingTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataStagingTaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
index 647ef3f..be72557 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * subTaskModel:
  *   A generic byte object for the Task developer to store internal serialized data into registry catalogs.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class TaskModel implements org.apache.thrift.TBase<TaskModel, TaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<TaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
index 033860e..c42b06a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class Gateway implements org.apache.thrift.TBase<Gateway, Gateway._Fields>, java.io.Serializable, Cloneable, Comparable<Gateway> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Gateway");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
index c77c036..9a2d109 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class Group implements org.apache.thrift.TBase<Group, Group._Fields>, java.io.Serializable, Cloneable, Comparable<Group> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Group");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
index 4e3b96e..9dbfcc0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class Project implements org.apache.thrift.TBase<Project, Project._Fields>, java.io.Serializable, Cloneable, Comparable<Project> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Project");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
index 915764a..2445d85 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/thrift-interface-descriptions/airavata-api/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-api/airavata_api.thrift b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
index 28d0f2b..8b551d0 100644
--- a/thrift-interface-descriptions/airavata-api/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
@@ -80,38 +80,32 @@ service Airavata {
   string addGateway(1: required security_model.AuthzToken authzToken, 2: required workspace_model.Gateway gateway)
          throws (1: airavata_errors.InvalidRequestException ire,
                  2: airavata_errors.AiravataClientException ace,
-                 3: airavata_errors.AiravataSystemException ase,
-                 4: airavata_errors.AuthorizationException ae)
+                 3: airavata_errors.AiravataSystemException ase)
 
   void updateGateway(1: required security_model.AuthzToken authzToken, 2: required string gatewayId, 3: required workspace_model.Gateway updatedGateway)
          throws (1: airavata_errors.InvalidRequestException ire,
                  2: airavata_errors.AiravataClientException ace,
-                 3: airavata_errors.AiravataSystemException ase,
-                 4: airavata_errors.AuthorizationException ae)
+                 3: airavata_errors.AiravataSystemException ase)
 
   workspace_model.Gateway getGateway(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
            throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase,
-                   4: airavata_errors.AuthorizationException ae)
+                   3: airavata_errors.AiravataSystemException ase)
 
   bool deleteGateway(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
              throws (1: airavata_errors.InvalidRequestException ire,
                      2: airavata_errors.AiravataClientException ace,
-                     3: airavata_errors.AiravataSystemException ase,
-                     4: airavata_errors.AuthorizationException ae)
+                     3: airavata_errors.AiravataSystemException ase)
 
   list<workspace_model.Gateway> getAllGateways(1: required security_model.AuthzToken authzToken)
              throws (1: airavata_errors.InvalidRequestException ire,
                      2: airavata_errors.AiravataClientException ace,
-                     3: airavata_errors.AiravataSystemException ase,
-                     4: airavata_errors.AuthorizationException ae)
+                     3: airavata_errors.AiravataSystemException ase)
 
   bool isGatewayExist(1: required security_model.AuthzToken authzToken, 2: required string gatewayId)
            throws (1: airavata_errors.InvalidRequestException ire,
                    2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase,
-                   4: airavata_errors.AuthorizationException ae)
+                   3: airavata_errors.AiravataSystemException ase)
 
 
   /**
@@ -166,15 +160,15 @@ service Airavata {
                         3: required workspace_model.Project project)
           throws (1: airavata_errors.InvalidRequestException ire,
                   2: airavata_errors.AiravataClientException ace,
-                  3: airavata_errors.AiravataSystemException ase,
-                  4: airavata_errors.AuthorizationException ae)
+                  3: airavata_errors.AiravataSystemException ase)
 
   /**
    * Update a Project
    *
   */
-  void updateProject (1: required string projectId,
-                      2: required workspace_model.Project updatedProject)
+  void updateProject (1: required security_model.AuthzToken authzToken,
+                      2: required string projectId,
+                      3: required workspace_model.Project updatedProject)
       throws (1: airavata_errors.InvalidRequestException ire,
               2: airavata_errors.AiravataClientException ace,
               3: airavata_errors.AiravataSystemException ase,
@@ -184,13 +178,13 @@ service Airavata {
    * Get a Project by ID
    *
   */
-  workspace_model.Project getProject (1: required string projectId)
+  workspace_model.Project getProject (1: required security_model.AuthzToken authzToken, 2: required string projectId)
         throws (1: airavata_errors.InvalidRequestException ire,
                 2: airavata_errors.AiravataClientException ace,
                 3: airavata_errors.AiravataSystemException ase,
                 4: airavata_errors.ProjectNotFoundException pnfe)
 
-  bool deleteProject (1: required string projectId)
+  bool deleteProject (1: required security_model.AuthzToken authzToken, 2: required string projectId)
           throws (1: airavata_errors.InvalidRequestException ire,
                   2: airavata_errors.AiravataClientException ace,
                   3: airavata_errors.AiravataSystemException ase,


[15/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
new file mode 100644
index 0000000..88946ff
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
@@ -0,0 +1,52 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavata_data_models_TYPES_H
+#define airavata_data_models_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavata_commons_types.h"
+#include "workspace_model_types.h"
+#include "airavata_errors_types.h"
+#include "messaging_events_types.h"
+#include "security_model_types.h"
+#include "experiment_model_types.h"
+#include "job_model_types.h"
+#include "task_model_types.h"
+#include "process_model_types.h"
+#include "scheduling_model_types.h"
+#include "status_models_types.h"
+
+
+namespace apache { namespace airavata { namespace model {
+
+}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.cpp
new file mode 100644
index 0000000..078ca39
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavata_errors_constants.h"
+
+namespace apache { namespace airavata { namespace api { namespace error {
+
+const airavata_errorsConstants g_airavata_errors_constants;
+
+airavata_errorsConstants::airavata_errorsConstants() {
+}
+
+}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.h
new file mode 100644
index 0000000..9f80fcb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavata_errors_CONSTANTS_H
+#define airavata_errors_CONSTANTS_H
+
+#include "airavata_errors_types.h"
+
+namespace apache { namespace airavata { namespace api { namespace error {
+
+class airavata_errorsConstants {
+ public:
+  airavata_errorsConstants();
+
+};
+
+extern const airavata_errorsConstants g_airavata_errors_constants;
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
new file mode 100644
index 0000000..de38fb2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
@@ -0,0 +1,1169 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavata_errors_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace api { namespace error {
+
+int _kAiravataErrorTypeValues[] = {
+  AiravataErrorType::UNKNOWN,
+  AiravataErrorType::PERMISSION_DENIED,
+  AiravataErrorType::INTERNAL_ERROR,
+  AiravataErrorType::AUTHENTICATION_FAILURE,
+  AiravataErrorType::INVALID_AUTHORIZATION,
+  AiravataErrorType::AUTHORIZATION_EXPIRED,
+  AiravataErrorType::UNKNOWN_GATEWAY_ID,
+  AiravataErrorType::UNSUPPORTED_OPERATION
+};
+const char* _kAiravataErrorTypeNames[] = {
+  "UNKNOWN",
+  "PERMISSION_DENIED",
+  "INTERNAL_ERROR",
+  "AUTHENTICATION_FAILURE",
+  "INVALID_AUTHORIZATION",
+  "AUTHORIZATION_EXPIRED",
+  "UNKNOWN_GATEWAY_ID",
+  "UNSUPPORTED_OPERATION"
+};
+const std::map<int, const char*> _AiravataErrorType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kAiravataErrorTypeValues, _kAiravataErrorTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+ExperimentNotFoundException::~ExperimentNotFoundException() throw() {
+}
+
+
+void ExperimentNotFoundException::__set_message(const std::string& val) {
+  this->message = val;
+}
+
+const char* ExperimentNotFoundException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t ExperimentNotFoundException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t ExperimentNotFoundException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_message = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->message);
+          isset_message = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_message)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentNotFoundException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ExperimentNotFoundException");
+
+  xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->message);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
+ExperimentNotFoundException::ExperimentNotFoundException(const ExperimentNotFoundException& other0) : TException() {
+  message = other0.message;
+}
+ExperimentNotFoundException& ExperimentNotFoundException::operator=(const ExperimentNotFoundException& other1) {
+  message = other1.message;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ExperimentNotFoundException& obj) {
+  using apache::thrift::to_string;
+  out << "ExperimentNotFoundException(";
+  out << "message=" << to_string(obj.message);
+  out << ")";
+  return out;
+}
+
+
+ProjectNotFoundException::~ProjectNotFoundException() throw() {
+}
+
+
+void ProjectNotFoundException::__set_message(const std::string& val) {
+  this->message = val;
+}
+
+const char* ProjectNotFoundException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t ProjectNotFoundException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t ProjectNotFoundException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_message = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->message);
+          isset_message = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_message)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ProjectNotFoundException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ProjectNotFoundException");
+
+  xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->message);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ProjectNotFoundException &a, ProjectNotFoundException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
+ProjectNotFoundException::ProjectNotFoundException(const ProjectNotFoundException& other2) : TException() {
+  message = other2.message;
+}
+ProjectNotFoundException& ProjectNotFoundException::operator=(const ProjectNotFoundException& other3) {
+  message = other3.message;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ProjectNotFoundException& obj) {
+  using apache::thrift::to_string;
+  out << "ProjectNotFoundException(";
+  out << "message=" << to_string(obj.message);
+  out << ")";
+  return out;
+}
+
+
+InvalidRequestException::~InvalidRequestException() throw() {
+}
+
+
+void InvalidRequestException::__set_message(const std::string& val) {
+  this->message = val;
+}
+
+const char* InvalidRequestException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t InvalidRequestException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t InvalidRequestException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_message = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->message);
+          isset_message = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_message)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t InvalidRequestException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("InvalidRequestException");
+
+  xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->message);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(InvalidRequestException &a, InvalidRequestException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
+InvalidRequestException::InvalidRequestException(const InvalidRequestException& other4) : TException() {
+  message = other4.message;
+}
+InvalidRequestException& InvalidRequestException::operator=(const InvalidRequestException& other5) {
+  message = other5.message;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const InvalidRequestException& obj) {
+  using apache::thrift::to_string;
+  out << "InvalidRequestException(";
+  out << "message=" << to_string(obj.message);
+  out << ")";
+  return out;
+}
+
+
+TimedOutException::~TimedOutException() throw() {
+}
+
+
+const char* TimedOutException::ascii_fingerprint = "99914B932BD37A50B983C5E7C90AE93B";
+const uint8_t TimedOutException::binary_fingerprint[16] = {0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
+
+uint32_t TimedOutException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    xfer += iprot->skip(ftype);
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t TimedOutException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("TimedOutException");
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(TimedOutException &a, TimedOutException &b) {
+  using ::std::swap;
+  (void) a;
+  (void) b;
+}
+
+TimedOutException::TimedOutException(const TimedOutException& other6) : TException() {
+  (void) other6;
+}
+TimedOutException& TimedOutException::operator=(const TimedOutException& other7) {
+  (void) other7;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const TimedOutException& obj) {
+  using apache::thrift::to_string;
+  (void) obj;
+  out << "TimedOutException(";
+  out << ")";
+  return out;
+}
+
+
+AuthenticationException::~AuthenticationException() throw() {
+}
+
+
+void AuthenticationException::__set_message(const std::string& val) {
+  this->message = val;
+}
+
+const char* AuthenticationException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t AuthenticationException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t AuthenticationException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_message = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->message);
+          isset_message = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_message)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t AuthenticationException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("AuthenticationException");
+
+  xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->message);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(AuthenticationException &a, AuthenticationException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
+AuthenticationException::AuthenticationException(const AuthenticationException& other8) : TException() {
+  message = other8.message;
+}
+AuthenticationException& AuthenticationException::operator=(const AuthenticationException& other9) {
+  message = other9.message;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const AuthenticationException& obj) {
+  using apache::thrift::to_string;
+  out << "AuthenticationException(";
+  out << "message=" << to_string(obj.message);
+  out << ")";
+  return out;
+}
+
+
+AuthorizationException::~AuthorizationException() throw() {
+}
+
+
+void AuthorizationException::__set_message(const std::string& val) {
+  this->message = val;
+}
+
+const char* AuthorizationException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t AuthorizationException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t AuthorizationException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_message = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->message);
+          isset_message = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_message)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t AuthorizationException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("AuthorizationException");
+
+  xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->message);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(AuthorizationException &a, AuthorizationException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
+AuthorizationException::AuthorizationException(const AuthorizationException& other10) : TException() {
+  message = other10.message;
+}
+AuthorizationException& AuthorizationException::operator=(const AuthorizationException& other11) {
+  message = other11.message;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const AuthorizationException& obj) {
+  using apache::thrift::to_string;
+  out << "AuthorizationException(";
+  out << "message=" << to_string(obj.message);
+  out << ")";
+  return out;
+}
+
+
+AiravataClientException::~AiravataClientException() throw() {
+}
+
+
+void AiravataClientException::__set_airavataErrorType(const AiravataErrorType::type val) {
+  this->airavataErrorType = val;
+}
+
+void AiravataClientException::__set_parameter(const std::string& val) {
+  this->parameter = val;
+__isset.parameter = true;
+}
+
+const char* AiravataClientException::ascii_fingerprint = "24652790C81ECE22B629CB60A19F1E93";
+const uint8_t AiravataClientException::binary_fingerprint[16] = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
+
+uint32_t AiravataClientException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_airavataErrorType = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast12;
+          xfer += iprot->readI32(ecast12);
+          this->airavataErrorType = (AiravataErrorType::type)ecast12;
+          isset_airavataErrorType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->parameter);
+          this->__isset.parameter = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_airavataErrorType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t AiravataClientException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("AiravataClientException");
+
+  xfer += oprot->writeFieldBegin("airavataErrorType", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->airavataErrorType);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.parameter) {
+    xfer += oprot->writeFieldBegin("parameter", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->parameter);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(AiravataClientException &a, AiravataClientException &b) {
+  using ::std::swap;
+  swap(a.airavataErrorType, b.airavataErrorType);
+  swap(a.parameter, b.parameter);
+  swap(a.__isset, b.__isset);
+}
+
+AiravataClientException::AiravataClientException(const AiravataClientException& other13) : TException() {
+  airavataErrorType = other13.airavataErrorType;
+  parameter = other13.parameter;
+  __isset = other13.__isset;
+}
+AiravataClientException& AiravataClientException::operator=(const AiravataClientException& other14) {
+  airavataErrorType = other14.airavataErrorType;
+  parameter = other14.parameter;
+  __isset = other14.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const AiravataClientException& obj) {
+  using apache::thrift::to_string;
+  out << "AiravataClientException(";
+  out << "airavataErrorType=" << to_string(obj.airavataErrorType);
+  out << ", " << "parameter="; (obj.__isset.parameter ? (out << to_string(obj.parameter)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ValidatorResult::~ValidatorResult() throw() {
+}
+
+
+void ValidatorResult::__set_result(const bool val) {
+  this->result = val;
+}
+
+void ValidatorResult::__set_errorDetails(const std::string& val) {
+  this->errorDetails = val;
+__isset.errorDetails = true;
+}
+
+const char* ValidatorResult::ascii_fingerprint = "EB04A806CFFC9025AEE48CFFDC378A86";
+const uint8_t ValidatorResult::binary_fingerprint[16] = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
+
+uint32_t ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_result = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->result);
+          isset_result = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->errorDetails);
+          this->__isset.errorDetails = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_result)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ValidatorResult");
+
+  xfer += oprot->writeFieldBegin("result", ::apache::thrift::protocol::T_BOOL, 1);
+  xfer += oprot->writeBool(this->result);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.errorDetails) {
+    xfer += oprot->writeFieldBegin("errorDetails", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->errorDetails);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ValidatorResult &a, ValidatorResult &b) {
+  using ::std::swap;
+  swap(a.result, b.result);
+  swap(a.errorDetails, b.errorDetails);
+  swap(a.__isset, b.__isset);
+}
+
+ValidatorResult::ValidatorResult(const ValidatorResult& other15) {
+  result = other15.result;
+  errorDetails = other15.errorDetails;
+  __isset = other15.__isset;
+}
+ValidatorResult& ValidatorResult::operator=(const ValidatorResult& other16) {
+  result = other16.result;
+  errorDetails = other16.errorDetails;
+  __isset = other16.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ValidatorResult& obj) {
+  using apache::thrift::to_string;
+  out << "ValidatorResult(";
+  out << "result=" << to_string(obj.result);
+  out << ", " << "errorDetails="; (obj.__isset.errorDetails ? (out << to_string(obj.errorDetails)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ValidationResults::~ValidationResults() throw() {
+}
+
+
+void ValidationResults::__set_validationState(const bool val) {
+  this->validationState = val;
+}
+
+void ValidationResults::__set_validationResultList(const std::vector<ValidatorResult> & val) {
+  this->validationResultList = val;
+}
+
+const char* ValidationResults::ascii_fingerprint = "E73BC8630EE405DA5FB801ED852143D2";
+const uint8_t ValidationResults::binary_fingerprint[16] = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
+
+uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_validationState = false;
+  bool isset_validationResultList = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->validationState);
+          isset_validationState = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->validationResultList.clear();
+            uint32_t _size17;
+            ::apache::thrift::protocol::TType _etype20;
+            xfer += iprot->readListBegin(_etype20, _size17);
+            this->validationResultList.resize(_size17);
+            uint32_t _i21;
+            for (_i21 = 0; _i21 < _size17; ++_i21)
+            {
+              xfer += this->validationResultList[_i21].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_validationResultList = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_validationState)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_validationResultList)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ValidationResults::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ValidationResults");
+
+  xfer += oprot->writeFieldBegin("validationState", ::apache::thrift::protocol::T_BOOL, 1);
+  xfer += oprot->writeBool(this->validationState);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("validationResultList", ::apache::thrift::protocol::T_LIST, 2);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->validationResultList.size()));
+    std::vector<ValidatorResult> ::const_iterator _iter22;
+    for (_iter22 = this->validationResultList.begin(); _iter22 != this->validationResultList.end(); ++_iter22)
+    {
+      xfer += (*_iter22).write(oprot);
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ValidationResults &a, ValidationResults &b) {
+  using ::std::swap;
+  swap(a.validationState, b.validationState);
+  swap(a.validationResultList, b.validationResultList);
+}
+
+ValidationResults::ValidationResults(const ValidationResults& other23) {
+  validationState = other23.validationState;
+  validationResultList = other23.validationResultList;
+}
+ValidationResults& ValidationResults::operator=(const ValidationResults& other24) {
+  validationState = other24.validationState;
+  validationResultList = other24.validationResultList;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ValidationResults& obj) {
+  using apache::thrift::to_string;
+  out << "ValidationResults(";
+  out << "validationState=" << to_string(obj.validationState);
+  out << ", " << "validationResultList=" << to_string(obj.validationResultList);
+  out << ")";
+  return out;
+}
+
+
+LaunchValidationException::~LaunchValidationException() throw() {
+}
+
+
+void LaunchValidationException::__set_validationResult(const ValidationResults& val) {
+  this->validationResult = val;
+}
+
+void LaunchValidationException::__set_errorMessage(const std::string& val) {
+  this->errorMessage = val;
+__isset.errorMessage = true;
+}
+
+const char* LaunchValidationException::ascii_fingerprint = "99E9D28CC9613B8567277FD2B86021FA";
+const uint8_t LaunchValidationException::binary_fingerprint[16] = {0x99,0xE9,0xD2,0x8C,0xC9,0x61,0x3B,0x85,0x67,0x27,0x7F,0xD2,0xB8,0x60,0x21,0xFA};
+
+uint32_t LaunchValidationException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_validationResult = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->validationResult.read(iprot);
+          isset_validationResult = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->errorMessage);
+          this->__isset.errorMessage = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_validationResult)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t LaunchValidationException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("LaunchValidationException");
+
+  xfer += oprot->writeFieldBegin("validationResult", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->validationResult.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.errorMessage) {
+    xfer += oprot->writeFieldBegin("errorMessage", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->errorMessage);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(LaunchValidationException &a, LaunchValidationException &b) {
+  using ::std::swap;
+  swap(a.validationResult, b.validationResult);
+  swap(a.errorMessage, b.errorMessage);
+  swap(a.__isset, b.__isset);
+}
+
+LaunchValidationException::LaunchValidationException(const LaunchValidationException& other25) : TException() {
+  validationResult = other25.validationResult;
+  errorMessage = other25.errorMessage;
+  __isset = other25.__isset;
+}
+LaunchValidationException& LaunchValidationException::operator=(const LaunchValidationException& other26) {
+  validationResult = other26.validationResult;
+  errorMessage = other26.errorMessage;
+  __isset = other26.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const LaunchValidationException& obj) {
+  using apache::thrift::to_string;
+  out << "LaunchValidationException(";
+  out << "validationResult=" << to_string(obj.validationResult);
+  out << ", " << "errorMessage="; (obj.__isset.errorMessage ? (out << to_string(obj.errorMessage)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+AiravataSystemException::~AiravataSystemException() throw() {
+}
+
+
+void AiravataSystemException::__set_airavataErrorType(const AiravataErrorType::type val) {
+  this->airavataErrorType = val;
+}
+
+void AiravataSystemException::__set_message(const std::string& val) {
+  this->message = val;
+__isset.message = true;
+}
+
+const char* AiravataSystemException::ascii_fingerprint = "24652790C81ECE22B629CB60A19F1E93";
+const uint8_t AiravataSystemException::binary_fingerprint[16] = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
+
+uint32_t AiravataSystemException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_airavataErrorType = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast27;
+          xfer += iprot->readI32(ecast27);
+          this->airavataErrorType = (AiravataErrorType::type)ecast27;
+          isset_airavataErrorType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->message);
+          this->__isset.message = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_airavataErrorType)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t AiravataSystemException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("AiravataSystemException");
+
+  xfer += oprot->writeFieldBegin("airavataErrorType", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->airavataErrorType);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.message) {
+    xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->message);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(AiravataSystemException &a, AiravataSystemException &b) {
+  using ::std::swap;
+  swap(a.airavataErrorType, b.airavataErrorType);
+  swap(a.message, b.message);
+  swap(a.__isset, b.__isset);
+}
+
+AiravataSystemException::AiravataSystemException(const AiravataSystemException& other28) : TException() {
+  airavataErrorType = other28.airavataErrorType;
+  message = other28.message;
+  __isset = other28.__isset;
+}
+AiravataSystemException& AiravataSystemException::operator=(const AiravataSystemException& other29) {
+  airavataErrorType = other29.airavataErrorType;
+  message = other29.message;
+  __isset = other29.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const AiravataSystemException& obj) {
+  using apache::thrift::to_string;
+  out << "AiravataSystemException(";
+  out << "airavataErrorType=" << to_string(obj.airavataErrorType);
+  out << ", " << "message="; (obj.__isset.message ? (out << to_string(obj.message)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
new file mode 100644
index 0000000..6ae818d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
@@ -0,0 +1,538 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavata_errors_TYPES_H
+#define airavata_errors_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "experiment_model_types.h"
+
+
+namespace apache { namespace airavata { namespace api { namespace error {
+
+struct AiravataErrorType {
+  enum type {
+    UNKNOWN = 0,
+    PERMISSION_DENIED = 1,
+    INTERNAL_ERROR = 2,
+    AUTHENTICATION_FAILURE = 3,
+    INVALID_AUTHORIZATION = 4,
+    AUTHORIZATION_EXPIRED = 5,
+    UNKNOWN_GATEWAY_ID = 6,
+    UNSUPPORTED_OPERATION = 7
+  };
+};
+
+extern const std::map<int, const char*> _AiravataErrorType_VALUES_TO_NAMES;
+
+class ExperimentNotFoundException;
+
+class ProjectNotFoundException;
+
+class InvalidRequestException;
+
+class TimedOutException;
+
+class AuthenticationException;
+
+class AuthorizationException;
+
+class AiravataClientException;
+
+class ValidatorResult;
+
+class ValidationResults;
+
+class LaunchValidationException;
+
+class AiravataSystemException;
+
+
+class ExperimentNotFoundException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+  ExperimentNotFoundException(const ExperimentNotFoundException&);
+  ExperimentNotFoundException& operator=(const ExperimentNotFoundException&);
+  ExperimentNotFoundException() : message() {
+  }
+
+  virtual ~ExperimentNotFoundException() throw();
+  std::string message;
+
+  void __set_message(const std::string& val);
+
+  bool operator == (const ExperimentNotFoundException & rhs) const
+  {
+    if (!(message == rhs.message))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentNotFoundException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentNotFoundException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ExperimentNotFoundException& obj);
+};
+
+void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b);
+
+
+class ProjectNotFoundException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+  ProjectNotFoundException(const ProjectNotFoundException&);
+  ProjectNotFoundException& operator=(const ProjectNotFoundException&);
+  ProjectNotFoundException() : message() {
+  }
+
+  virtual ~ProjectNotFoundException() throw();
+  std::string message;
+
+  void __set_message(const std::string& val);
+
+  bool operator == (const ProjectNotFoundException & rhs) const
+  {
+    if (!(message == rhs.message))
+      return false;
+    return true;
+  }
+  bool operator != (const ProjectNotFoundException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ProjectNotFoundException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ProjectNotFoundException& obj);
+};
+
+void swap(ProjectNotFoundException &a, ProjectNotFoundException &b);
+
+
+class InvalidRequestException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+  InvalidRequestException(const InvalidRequestException&);
+  InvalidRequestException& operator=(const InvalidRequestException&);
+  InvalidRequestException() : message() {
+  }
+
+  virtual ~InvalidRequestException() throw();
+  std::string message;
+
+  void __set_message(const std::string& val);
+
+  bool operator == (const InvalidRequestException & rhs) const
+  {
+    if (!(message == rhs.message))
+      return false;
+    return true;
+  }
+  bool operator != (const InvalidRequestException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const InvalidRequestException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const InvalidRequestException& obj);
+};
+
+void swap(InvalidRequestException &a, InvalidRequestException &b);
+
+
+class TimedOutException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "99914B932BD37A50B983C5E7C90AE93B";
+  static const uint8_t binary_fingerprint[16]; // = {0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
+
+  TimedOutException(const TimedOutException&);
+  TimedOutException& operator=(const TimedOutException&);
+  TimedOutException() {
+  }
+
+  virtual ~TimedOutException() throw();
+
+  bool operator == (const TimedOutException & /* rhs */) const
+  {
+    return true;
+  }
+  bool operator != (const TimedOutException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TimedOutException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const TimedOutException& obj);
+};
+
+void swap(TimedOutException &a, TimedOutException &b);
+
+
+class AuthenticationException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+  AuthenticationException(const AuthenticationException&);
+  AuthenticationException& operator=(const AuthenticationException&);
+  AuthenticationException() : message() {
+  }
+
+  virtual ~AuthenticationException() throw();
+  std::string message;
+
+  void __set_message(const std::string& val);
+
+  bool operator == (const AuthenticationException & rhs) const
+  {
+    if (!(message == rhs.message))
+      return false;
+    return true;
+  }
+  bool operator != (const AuthenticationException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const AuthenticationException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const AuthenticationException& obj);
+};
+
+void swap(AuthenticationException &a, AuthenticationException &b);
+
+
+class AuthorizationException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+  AuthorizationException(const AuthorizationException&);
+  AuthorizationException& operator=(const AuthorizationException&);
+  AuthorizationException() : message() {
+  }
+
+  virtual ~AuthorizationException() throw();
+  std::string message;
+
+  void __set_message(const std::string& val);
+
+  bool operator == (const AuthorizationException & rhs) const
+  {
+    if (!(message == rhs.message))
+      return false;
+    return true;
+  }
+  bool operator != (const AuthorizationException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const AuthorizationException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const AuthorizationException& obj);
+};
+
+void swap(AuthorizationException &a, AuthorizationException &b);
+
+typedef struct _AiravataClientException__isset {
+  _AiravataClientException__isset() : parameter(false) {}
+  bool parameter :1;
+} _AiravataClientException__isset;
+
+class AiravataClientException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "24652790C81ECE22B629CB60A19F1E93";
+  static const uint8_t binary_fingerprint[16]; // = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
+
+  AiravataClientException(const AiravataClientException&);
+  AiravataClientException& operator=(const AiravataClientException&);
+  AiravataClientException() : airavataErrorType((AiravataErrorType::type)0), parameter() {
+  }
+
+  virtual ~AiravataClientException() throw();
+  AiravataErrorType::type airavataErrorType;
+  std::string parameter;
+
+  _AiravataClientException__isset __isset;
+
+  void __set_airavataErrorType(const AiravataErrorType::type val);
+
+  void __set_parameter(const std::string& val);
+
+  bool operator == (const AiravataClientException & rhs) const
+  {
+    if (!(airavataErrorType == rhs.airavataErrorType))
+      return false;
+    if (__isset.parameter != rhs.__isset.parameter)
+      return false;
+    else if (__isset.parameter && !(parameter == rhs.parameter))
+      return false;
+    return true;
+  }
+  bool operator != (const AiravataClientException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const AiravataClientException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const AiravataClientException& obj);
+};
+
+void swap(AiravataClientException &a, AiravataClientException &b);
+
+typedef struct _ValidatorResult__isset {
+  _ValidatorResult__isset() : errorDetails(false) {}
+  bool errorDetails :1;
+} _ValidatorResult__isset;
+
+class ValidatorResult {
+ public:
+
+  static const char* ascii_fingerprint; // = "EB04A806CFFC9025AEE48CFFDC378A86";
+  static const uint8_t binary_fingerprint[16]; // = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
+
+  ValidatorResult(const ValidatorResult&);
+  ValidatorResult& operator=(const ValidatorResult&);
+  ValidatorResult() : result(0), errorDetails() {
+  }
+
+  virtual ~ValidatorResult() throw();
+  bool result;
+  std::string errorDetails;
+
+  _ValidatorResult__isset __isset;
+
+  void __set_result(const bool val);
+
+  void __set_errorDetails(const std::string& val);
+
+  bool operator == (const ValidatorResult & rhs) const
+  {
+    if (!(result == rhs.result))
+      return false;
+    if (__isset.errorDetails != rhs.__isset.errorDetails)
+      return false;
+    else if (__isset.errorDetails && !(errorDetails == rhs.errorDetails))
+      return false;
+    return true;
+  }
+  bool operator != (const ValidatorResult &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ValidatorResult & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ValidatorResult& obj);
+};
+
+void swap(ValidatorResult &a, ValidatorResult &b);
+
+
+class ValidationResults {
+ public:
+
+  static const char* ascii_fingerprint; // = "E73BC8630EE405DA5FB801ED852143D2";
+  static const uint8_t binary_fingerprint[16]; // = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
+
+  ValidationResults(const ValidationResults&);
+  ValidationResults& operator=(const ValidationResults&);
+  ValidationResults() : validationState(0) {
+  }
+
+  virtual ~ValidationResults() throw();
+  bool validationState;
+  std::vector<ValidatorResult>  validationResultList;
+
+  void __set_validationState(const bool val);
+
+  void __set_validationResultList(const std::vector<ValidatorResult> & val);
+
+  bool operator == (const ValidationResults & rhs) const
+  {
+    if (!(validationState == rhs.validationState))
+      return false;
+    if (!(validationResultList == rhs.validationResultList))
+      return false;
+    return true;
+  }
+  bool operator != (const ValidationResults &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ValidationResults & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ValidationResults& obj);
+};
+
+void swap(ValidationResults &a, ValidationResults &b);
+
+typedef struct _LaunchValidationException__isset {
+  _LaunchValidationException__isset() : errorMessage(false) {}
+  bool errorMessage :1;
+} _LaunchValidationException__isset;
+
+class LaunchValidationException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "99E9D28CC9613B8567277FD2B86021FA";
+  static const uint8_t binary_fingerprint[16]; // = {0x99,0xE9,0xD2,0x8C,0xC9,0x61,0x3B,0x85,0x67,0x27,0x7F,0xD2,0xB8,0x60,0x21,0xFA};
+
+  LaunchValidationException(const LaunchValidationException&);
+  LaunchValidationException& operator=(const LaunchValidationException&);
+  LaunchValidationException() : errorMessage() {
+  }
+
+  virtual ~LaunchValidationException() throw();
+  ValidationResults validationResult;
+  std::string errorMessage;
+
+  _LaunchValidationException__isset __isset;
+
+  void __set_validationResult(const ValidationResults& val);
+
+  void __set_errorMessage(const std::string& val);
+
+  bool operator == (const LaunchValidationException & rhs) const
+  {
+    if (!(validationResult == rhs.validationResult))
+      return false;
+    if (__isset.errorMessage != rhs.__isset.errorMessage)
+      return false;
+    else if (__isset.errorMessage && !(errorMessage == rhs.errorMessage))
+      return false;
+    return true;
+  }
+  bool operator != (const LaunchValidationException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const LaunchValidationException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const LaunchValidationException& obj);
+};
+
+void swap(LaunchValidationException &a, LaunchValidationException &b);
+
+typedef struct _AiravataSystemException__isset {
+  _AiravataSystemException__isset() : message(false) {}
+  bool message :1;
+} _AiravataSystemException__isset;
+
+class AiravataSystemException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "24652790C81ECE22B629CB60A19F1E93";
+  static const uint8_t binary_fingerprint[16]; // = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
+
+  AiravataSystemException(const AiravataSystemException&);
+  AiravataSystemException& operator=(const AiravataSystemException&);
+  AiravataSystemException() : airavataErrorType((AiravataErrorType::type)0), message() {
+  }
+
+  virtual ~AiravataSystemException() throw();
+  AiravataErrorType::type airavataErrorType;
+  std::string message;
+
+  _AiravataSystemException__isset __isset;
+
+  void __set_airavataErrorType(const AiravataErrorType::type val);
+
+  void __set_message(const std::string& val);
+
+  bool operator == (const AiravataSystemException & rhs) const
+  {
+    if (!(airavataErrorType == rhs.airavataErrorType))
+      return false;
+    if (__isset.message != rhs.__isset.message)
+      return false;
+    else if (__isset.message && !(message == rhs.message))
+      return false;
+    return true;
+  }
+  bool operator != (const AiravataSystemException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const AiravataSystemException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const AiravataSystemException& obj);
+};
+
+void swap(AiravataSystemException &a, AiravataSystemException &b);
+
+}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.cpp
new file mode 100644
index 0000000..2229772
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "application_deployment_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
+
+const application_deployment_modelConstants g_application_deployment_model_constants;
+
+application_deployment_modelConstants::application_deployment_modelConstants() {
+}
+
+}}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.h
new file mode 100644
index 0000000..7c78282
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef application_deployment_model_CONSTANTS_H
+#define application_deployment_model_CONSTANTS_H
+
+#include "application_deployment_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
+
+class application_deployment_modelConstants {
+ public:
+  application_deployment_modelConstants();
+
+};
+
+extern const application_deployment_modelConstants g_application_deployment_model_constants;
+
+}}}}} // namespace
+
+#endif


[22/44] airavata git commit: changed createProject method and added internal private method for isGatewayExist, to avoid chained API calls.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/e0941f4b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index c7a9bbc..3ff600e 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
 public class Airavata {
 
   public interface Iface {
@@ -69,11 +69,11 @@ public class Airavata {
 
     public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean deleteGateway(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public List<org.apache.airavata.model.workspace.Gateway> getAllGateways() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.Gateway> getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean isGatewayExist(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Generate and Register SSH Key Pair with Airavata Credential Store.
@@ -111,10 +111,11 @@ public class Airavata {
      *    The Project Object described in the workspace_model
      * 
      * 
+     * @param authzToken
      * @param gatewayId
      * @param project
      */
-    public String createProject(String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update a Project
@@ -1842,11 +1843,11 @@ public class Airavata {
 
     public void getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteGateway(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getAllGateways(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void isGatewayExist(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void generateAndRegisterSSHKeys(String gatewayId, String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -1854,7 +1855,7 @@ public class Airavata {
 
     public void getAllUserSSHPubKeys(String userName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void createProject(String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -2251,20 +2252,21 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGateway failed: unknown result");
     }
 
-    public boolean deleteGateway(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public boolean deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_deleteGateway(gatewayId);
+      send_deleteGateway(authzToken, gatewayId);
       return recv_deleteGateway();
     }
 
-    public void send_deleteGateway(String gatewayId) throws org.apache.thrift.TException
+    public void send_deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.thrift.TException
     {
       deleteGateway_args args = new deleteGateway_args();
+      args.setAuthzToken(authzToken);
       args.setGatewayId(gatewayId);
       sendBase("deleteGateway", args);
     }
 
-    public boolean recv_deleteGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public boolean recv_deleteGateway() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       deleteGateway_result result = new deleteGateway_result();
       receiveBase(result, "deleteGateway");
@@ -2280,22 +2282,26 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
+      if (result.ae != null) {
+        throw result.ae;
+      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGateway failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.Gateway> getAllGateways() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.Gateway> getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_getAllGateways();
+      send_getAllGateways(authzToken);
       return recv_getAllGateways();
     }
 
-    public void send_getAllGateways() throws org.apache.thrift.TException
+    public void send_getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.thrift.TException
     {
       getAllGateways_args args = new getAllGateways_args();
+      args.setAuthzToken(authzToken);
       sendBase("getAllGateways", args);
     }
 
-    public List<org.apache.airavata.model.workspace.Gateway> recv_getAllGateways() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.Gateway> recv_getAllGateways() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       getAllGateways_result result = new getAllGateways_result();
       receiveBase(result, "getAllGateways");
@@ -2311,23 +2317,27 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
+      if (result.ae != null) {
+        throw result.ae;
+      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGateways failed: unknown result");
     }
 
-    public boolean isGatewayExist(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_isGatewayExist(gatewayId);
+      send_isGatewayExist(authzToken, gatewayId);
       return recv_isGatewayExist();
     }
 
-    public void send_isGatewayExist(String gatewayId) throws org.apache.thrift.TException
+    public void send_isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.thrift.TException
     {
       isGatewayExist_args args = new isGatewayExist_args();
+      args.setAuthzToken(authzToken);
       args.setGatewayId(gatewayId);
       sendBase("isGatewayExist", args);
     }
 
-    public boolean recv_isGatewayExist() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public boolean recv_isGatewayExist() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       isGatewayExist_result result = new isGatewayExist_result();
       receiveBase(result, "isGatewayExist");
@@ -2343,6 +2353,9 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
+      if (result.ae != null) {
+        throw result.ae;
+      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGatewayExist failed: unknown result");
     }
 
@@ -2443,21 +2456,22 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserSSHPubKeys failed: unknown result");
     }
 
-    public String createProject(String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public String createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_createProject(gatewayId, project);
+      send_createProject(authzToken, gatewayId, project);
       return recv_createProject();
     }
 
-    public void send_createProject(String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.thrift.TException
+    public void send_createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.thrift.TException
     {
       createProject_args args = new createProject_args();
+      args.setAuthzToken(authzToken);
       args.setGatewayId(gatewayId);
       args.setProject(project);
       sendBase("createProject", args);
     }
 
-    public String recv_createProject() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public String recv_createProject() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       createProject_result result = new createProject_result();
       receiveBase(result, "createProject");
@@ -2473,6 +2487,9 @@ public class Airavata {
       if (result.ase != null) {
         throw result.ase;
       }
+      if (result.ae != null) {
+        throw result.ae;
+      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createProject failed: unknown result");
     }
 
@@ -6464,29 +6481,32 @@ public class Airavata {
       }
     }
 
-    public void deleteGateway(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      deleteGateway_call method_call = new deleteGateway_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
+      deleteGateway_call method_call = new deleteGateway_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class deleteGateway_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
       private String gatewayId;
-      public deleteGateway_call(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public deleteGateway_call(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
         this.gatewayId = gatewayId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGateway_args args = new deleteGateway_args();
+        args.setAuthzToken(authzToken);
         args.setGatewayId(gatewayId);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6496,26 +6516,29 @@ public class Airavata {
       }
     }
 
-    public void getAllGateways(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getAllGateways_call method_call = new getAllGateways_call(resultHandler, this, ___protocolFactory, ___transport);
+      getAllGateways_call method_call = new getAllGateways_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getAllGateways_call extends org.apache.thrift.async.TAsyncMethodCall {
-      public getAllGateways_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
+      public getAllGateways_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGateways", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGateways_args args = new getAllGateways_args();
+        args.setAuthzToken(authzToken);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public List<org.apache.airavata.model.workspace.Gateway> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public List<org.apache.airavata.model.workspace.Gateway> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6525,29 +6548,32 @@ public class Airavata {
       }
     }
 
-    public void isGatewayExist(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      isGatewayExist_call method_call = new isGatewayExist_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
+      isGatewayExist_call method_call = new isGatewayExist_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class isGatewayExist_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
       private String gatewayId;
-      public isGatewayExist_call(String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public isGatewayExist_call(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
         this.gatewayId = gatewayId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGatewayExist", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isGatewayExist_args args = new isGatewayExist_args();
+        args.setAuthzToken(authzToken);
         args.setGatewayId(gatewayId);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -6656,18 +6682,20 @@ public class Airavata {
       }
     }
 
-    public void createProject(String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      createProject_call method_call = new createProject_call(gatewayId, project, resultHandler, this, ___protocolFactory, ___transport);
+      createProject_call method_call = new createProject_call(authzToken, gatewayId, project, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class createProject_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.airavata.model.security.AuthzToken authzToken;
       private String gatewayId;
       private org.apache.airavata.model.workspace.Project project;
-      public createProject_call(String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public createProject_call(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.authzToken = authzToken;
         this.gatewayId = gatewayId;
         this.project = project;
       }
@@ -6675,13 +6703,14 @@ public class Airavata {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createProject_args args = new createProject_args();
+        args.setAuthzToken(authzToken);
         args.setGatewayId(gatewayId);
         args.setProject(project);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -11018,7 +11047,7 @@ public class Airavata {
       public deleteGateway_result getResult(I iface, deleteGateway_args args) throws org.apache.thrift.TException {
         deleteGateway_result result = new deleteGateway_result();
         try {
-          result.success = iface.deleteGateway(args.gatewayId);
+          result.success = iface.deleteGateway(args.authzToken, args.gatewayId);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
@@ -11026,6 +11055,8 @@ public class Airavata {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
         }
         return result;
       }
@@ -11047,13 +11078,15 @@ public class Airavata {
       public getAllGateways_result getResult(I iface, getAllGateways_args args) throws org.apache.thrift.TException {
         getAllGateways_result result = new getAllGateways_result();
         try {
-          result.success = iface.getAllGateways();
+          result.success = iface.getAllGateways(args.authzToken);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
         }
         return result;
       }
@@ -11075,7 +11108,7 @@ public class Airavata {
       public isGatewayExist_result getResult(I iface, isGatewayExist_args args) throws org.apache.thrift.TException {
         isGatewayExist_result result = new isGatewayExist_result();
         try {
-          result.success = iface.isGatewayExist(args.gatewayId);
+          result.success = iface.isGatewayExist(args.authzToken, args.gatewayId);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
@@ -11083,6 +11116,8 @@ public class Airavata {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
         }
         return result;
       }
@@ -11188,13 +11223,15 @@ public class Airavata {
       public createProject_result getResult(I iface, createProject_args args) throws org.apache.thrift.TException {
         createProject_result result = new createProject_result();
         try {
-          result.success = iface.createProject(args.gatewayId, args.project);
+          result.success = iface.createProject(args.authzToken, args.gatewayId, args.project);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
+        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
+          result.ae = ae;
         }
         return result;
       }
@@ -14970,6 +15007,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -14991,7 +15033,7 @@ public class Airavata {
       }
 
       public void start(I iface, deleteGateway_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteGateway(args.gatewayId,resultHandler);
+        iface.deleteGateway(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
@@ -15037,6 +15079,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -15058,7 +15105,7 @@ public class Airavata {
       }
 
       public void start(I iface, getAllGateways_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.workspace.Gateway>> resultHandler) throws TException {
-        iface.getAllGateways(resultHandler);
+        iface.getAllGateways(args.authzToken,resultHandler);
       }
     }
 
@@ -15105,6 +15152,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -15126,7 +15178,7 @@ public class Airavata {
       }
 
       public void start(I iface, isGatewayExist_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.isGatewayExist(args.gatewayId,resultHandler);
+        iface.isGatewayExist(args.authzToken, args.gatewayId,resultHandler);
       }
     }
 
@@ -15373,6 +15425,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
+                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
+                        result.setAeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -15394,7 +15451,7 @@ public class Airavata {
       }
 
       public void start(I iface, createProject_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createProject(args.gatewayId, args.project,resultHandler);
+        iface.createProject(args.authzToken, args.gatewayId, args.project,resultHandler);
       }
     }
 
@@ -28154,7 +28211,8 @@ public class Airavata {
   public static class deleteGateway_args implements org.apache.thrift.TBase<deleteGateway_args, deleteGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGateway_args");
 
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -28162,11 +28220,13 @@ public class Airavata {
       schemes.put(TupleScheme.class, new deleteGateway_argsTupleSchemeFactory());
     }
 
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public String gatewayId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      GATEWAY_ID((short)1, "gatewayId");
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      GATEWAY_ID((short)2, "gatewayId");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -28181,7 +28241,9 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // GATEWAY_ID
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // GATEWAY_ID
             return GATEWAY_ID;
           default:
             return null;
@@ -28226,6 +28288,8 @@ public class Airavata {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
       tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -28236,9 +28300,11 @@ public class Airavata {
     }
 
     public deleteGateway_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
       String gatewayId)
     {
       this();
+      this.authzToken = authzToken;
       this.gatewayId = gatewayId;
     }
 
@@ -28246,6 +28312,9 @@ public class Airavata {
      * Performs a deep copy on <i>other</i>.
      */
     public deleteGateway_args(deleteGateway_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
       if (other.isSetGatewayId()) {
         this.gatewayId = other.gatewayId;
       }
@@ -28257,9 +28326,34 @@ public class Airavata {
 
     @Override
     public void clear() {
+      this.authzToken = null;
       this.gatewayId = null;
     }
 
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public deleteGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
     public String getGatewayId() {
       return this.gatewayId;
     }
@@ -28286,6 +28380,14 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
       case GATEWAY_ID:
         if (value == null) {
           unsetGatewayId();
@@ -28299,6 +28401,9 @@ public class Airavata {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
       case GATEWAY_ID:
         return getGatewayId();
 
@@ -28313,6 +28418,8 @@ public class Airavata {
       }
 
       switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
       case GATEWAY_ID:
         return isSetGatewayId();
       }
@@ -28332,6 +28439,15 @@ public class Airavata {
       if (that == null)
         return false;
 
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
       boolean this_present_gatewayId = true && this.isSetGatewayId();
       boolean that_present_gatewayId = true && that.isSetGatewayId();
       if (this_present_gatewayId || that_present_gatewayId) {
@@ -28348,6 +28464,11 @@ public class Airavata {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
+      boolean present_authzToken = true && (isSetAuthzToken());
+      list.add(present_authzToken);
+      if (present_authzToken)
+        list.add(authzToken);
+
       boolean present_gatewayId = true && (isSetGatewayId());
       list.add(present_gatewayId);
       if (present_gatewayId)
@@ -28364,6 +28485,16 @@ public class Airavata {
 
       int lastComparison = 0;
 
+      lastComparison = Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
@@ -28394,6 +28525,14 @@ public class Airavata {
       StringBuilder sb = new StringBuilder("deleteGateway_args(");
       boolean first = true;
 
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
       sb.append("gatewayId:");
       if (this.gatewayId == null) {
         sb.append("null");
@@ -28407,10 +28546,16 @@ public class Airavata {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
       if (gatewayId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -28447,7 +28592,16 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
-            case 1: // GATEWAY_ID
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GATEWAY_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.gatewayId = iprot.readString();
                 struct.setGatewayIdIsSet(true);
@@ -28470,6 +28624,11 @@ public class Airavata {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
         if (struct.gatewayId != null) {
           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
           oprot.writeString(struct.gatewayId);
@@ -28492,12 +28651,16 @@ public class Airavata {
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, deleteGateway_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
         oprot.writeString(struct.gatewayId);
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, deleteGateway_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
       }
@@ -28512,6 +28675,7 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -28523,13 +28687,15 @@ public class Airavata {
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase");
+      ASE((short)3, "ase"),
+      AE((short)4, "ae");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -28552,6 +28718,8 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
+          case 4: // AE
+            return AE;
           default:
             return null;
         }
@@ -28605,6 +28773,8 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteGateway_result.class, metaDataMap);
     }
@@ -28616,7 +28786,8 @@ public class Airavata {
       boolean success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase)
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
       this.success = success;
@@ -28624,6 +28795,7 @@ public class Airavata {
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
+      this.ae = ae;
     }
 
     /**
@@ -28641,6 +28813,9 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
     }
 
     public deleteGateway_result deepCopy() {
@@ -28654,6 +28829,7 @@ public class Airavata {
       this.ire = null;
       this.ace = null;
       this.ase = null;
+      this.ae = null;
     }
 
     public boolean isSuccess() {
@@ -28751,6 +28927,30 @@ public class Airavata {
       }
     }
 
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public deleteGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -28785,6 +28985,14 @@ public class Airavata {
         }
         break;
 
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
       }
     }
 
@@ -28802,6 +29010,9 @@ public class Airavata {
       case ASE:
         return getAse();
 
+      case AE:
+        return getAe();
+
       }
       throw new IllegalStateException();
     }
@@ -28821,6 +29032,8 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
+      case AE:
+        return isSetAe();
       }
       throw new IllegalStateException();
     }
@@ -28874,6 +29087,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
       return true;
     }
 
@@ -28901,6 +29123,11 @@ public class Airavata {
       if (present_ase)
         list.add(ase);
 
+      boolean present_ae = true && (isSetAe());
+      list.add(present_ae);
+      if (present_ae)
+        list.add(ae);
+
       return list.hashCode();
     }
 
@@ -28952,6 +29179,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -28999,6 +29236,14 @@ public class Airavata {
         sb.append(this.ase);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -29079,6 +29324,15 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 4: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -29114,6 +29368,11 @@ public class Airavata {
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -29144,7 +29403,10 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        oprot.writeBitSet(optionals, 4);
+        if (struct.isSetAe()) {
+          optionals.set(4);
+        }
+        oprot.writeBitSet(optionals, 5);
         if (struct.isSetSuccess()) {
           oprot.writeBool(struct.success);
         }
@@ -29157,12 +29419,15 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, deleteGateway_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(4);
+        BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           struct.success = iprot.readBool();
           struct.setSuccessIsSet(true);
@@ -29182,6 +29447,11 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
+        if (incoming.get(4)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
       }
     }
 
@@ -29190,6 +29460,7 @@ public class Airavata {
   public static class getAllGateways_args implements org.apache.thrift.TBase<getAllGateways_args, getAllGateways_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGateways_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGateways_args");
 
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -29197,10 +29468,11 @@ public class Airavata {
       schemes.put(TupleScheme.class, new getAllGateways_argsTupleSchemeFactory());
     }
 
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-;
+      AUTHZ_TOKEN((short)1, "authzToken");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -29215,6 +29487,8 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
           default:
             return null;
         }
@@ -29253,9 +29527,13 @@ public class Airavata {
         return _fieldName;
       }
     }
+
+    // isset id assignments
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllGateways_args.class, metaDataMap);
     }
@@ -29263,10 +29541,20 @@ public class Airavata {
     public getAllGateways_args() {
     }
 
+    public getAllGateways_args(
+      org.apache.airavata.model.security.AuthzToken authzToken)
+    {
+      this();
+      this.authzToken = authzToken;
+    }
+
     /**
      * Performs a deep copy on <i>other</i>.
      */
     public getAllGateways_args(getAllGateways_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
     }
 
     public getAllGateways_args deepCopy() {
@@ -29275,15 +29563,51 @@ public class Airavata {
 
     @Override
     public void clear() {
+      this.authzToken = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public getAllGateways_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
     }
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
       }
     }
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
       }
       throw new IllegalStateException();
     }
@@ -29295,6 +29619,8 @@ public class Airavata {
       }
 
       switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
       }
       throw new IllegalStateException();
     }
@@ -29312,6 +29638,15 @@ public class Airavata {
       if (that == null)
         return false;
 
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
       return true;
     }
 
@@ -29319,6 +29654,11 @@ public class Airavata {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
+      boolean present_authzToken = true && (isSetAuthzToken());
+      list.add(present_authzToken);
+      if (present_authzToken)
+        list.add(authzToken);
+
       return list.hashCode();
     }
 
@@ -29330,6 +29670,16 @@ public class Airavata {
 
       int lastComparison = 0;
 
+      lastComparison = Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -29350,13 +29700,26 @@ public class Airavata {
       StringBuilder sb = new StringBuilder("getAllGateways_args(");
       boolean first = true;
 
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
       // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -29393,6 +29756,15 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -29408,6 +29780,11 @@ public class Airavata {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -29425,11 +29802,15 @@ public class Airavata {
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, getAllGateways_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, getAllGateways_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
       }
     }
 
@@ -29442,6 +29823,7 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -29453,13 +29835,15 @@ public class Airavata {
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase");
+      ASE((short)3, "ase"),
+      AE((short)4, "ae");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -29482,6 +29866,8 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
+          case 4: // AE
+            return AE;
           default:
             return null;
         }
@@ -29534,6 +29920,8 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllGateways_result.class, metaDataMap);
     }
@@ -29545,13 +29933,15 @@ public class Airavata {
       List<org.apache.airavata.model.workspace.Gateway> success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase)
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
       this.success = success;
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
+      this.ae = ae;
     }
 
     /**
@@ -29574,6 +29964,9 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
     }
 
     public getAllGateways_result deepCopy() {
@@ -29586,6 +29979,7 @@ public class Airavata {
       this.ire = null;
       this.ace = null;
       this.ase = null;
+      this.ae = null;
     }
 
     public int getSuccessSize() {
@@ -29699,6 +30093,30 @@ public class Airavata {
       }
     }
 
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public getAllGateways_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -29733,6 +30151,14 @@ public class Airavata {
         }
         break;
 
+      case AE:
+        if (value == null) {
+          unsetAe();
+        } else {
+          setAe((org.apache.airavata.model.error.AuthorizationException)value);
+        }
+        break;
+
       }
     }
 
@@ -29750,6 +30176,9 @@ public class Airavata {
       case ASE:
         return getAse();
 
+      case AE:
+        return getAe();
+
       }
       throw new IllegalStateException();
     }
@@ -29769,6 +30198,8 @@ public class Airavata {
         return isSetAce();
       case ASE:
         return isSetAse();
+      case AE:
+        return isSetAe();
       }
       throw new IllegalStateException();
     }
@@ -29822,6 +30253,15 @@ public class Airavata {
           return false;
       }
 
+      boolean this_present_ae = true && this.isSetAe();
+      boolean that_present_ae = true && that.isSetAe();
+      if (this_present_ae || that_present_ae) {
+        if (!(this_present_ae && that_present_ae))
+          return false;
+        if (!this.ae.equals(that.ae))
+          return false;
+      }
+
       return true;
     }
 
@@ -29849,6 +30289,11 @@ public class Airavata {
       if (present_ase)
         list.add(ase);
 
+      boolean present_ae = true && (isSetAe());
+      list.add(present_ae);
+      if (present_ae)
+        list.add(ae);
+
       return list.hashCode();
     }
 
@@ -29900,6 +30345,16 @@ public class Airavata {
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, other.ae);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -29951,6 +30406,14 @@ public class Airavata {
         sb.append(this.ase);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("ae:");
+      if (this.ae == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ae);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -30040,6 +30503,15 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 4: // AE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+                struct.ae.read(iprot);
+                struct.setAeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -30082,6 +30554,11 @@ public class Airavata {
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.ae != null) {
+          oprot.writeFieldBegin(AE_FIELD_DESC);
+          struct.ae.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -30112,7 +30589,10 @@ public class Airavata {
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        oprot.writeBitSet(optionals, 4);
+        if (struct.isSetAe()) {
+          optionals.set(4);
+        }
+        oprot.writeBitSet(optionals, 5);
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
@@ -30131,12 +30611,15 @@ public class Airavata {
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
+        if (struct.isSetAe()) {
+          struct.ae.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, getAllGateways_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(4);
+        BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
             org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -30166,6 +30649,11 @@ public class Airavata {
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
+        if (incoming.get(4)) {
+          struct.ae = new org.apache.airavata.model.error.AuthorizationException();
+          struct.ae.read(iprot);
+          struct.setAeIsSet(true);
+        }
       }
     }
 
@@ -30174,7 +30662,8 @@ public class Airavata {
   public static class isGatewayExist_args implements org.apache.thrift.TBase<isGatewayExist_args, isGatewayExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayExist_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayExist_args");
 
-    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -30182,11 +30671,13 @@ public class Airavata {
       schemes.put(TupleScheme.class, new isGatewayExist_argsTupleSchemeFactory());
     }
 
+    public org.apache.airavata.model.security.AuthzToken authzToken; // required
     public String gatewayId; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      GATEWAY_ID((short)1, "gatewayId");
+      AUTHZ_TOKEN((short)1, "authzToken"),
+      GATEWAY_ID((short)2, "gatewayId");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -30201,7 +30692,9 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // GATEWAY_ID
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          case 2: // GATEWAY_ID
             return GATEWAY_ID;
           default:
             return null;
@@ -30246,6 +30739,8 @@ public class Airavata {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
       tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -30256,9 +30751,11 @@ public class Airavata {
     }
 
     public isGatewayExist_args(
+      org.apache.airavata.model.security.AuthzToken authzToken,
       String gatewayId)
     {
       this();
+      this.authzToken = authzToken;
       this.gatewayId = gatewayId;
     }
 
@@ -30266,6 +30763,9 @@ public class Airavata {
      * Performs a deep copy on <i>other</i>.
      */
     public isGatewayExist_args(isGatewayExist_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
+      }
       if (other.isSetGatewayId()) {
         this.gatewayId = other.gatewayId;
       }
@@ -30277,9 +30777,34 @@ public class Airavata {
 
     @Override
     public void clear() {
+      this.authzToken = null;
       this.gatewayId = null;
     }
 
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public isGatewayExist_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
+      }
+    }
+
     public String getGatewayId() {
       return this.gatewayId;
     }
@@ -30306,6 +30831,14 @@ public class Airavata {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
+
       case GATEWAY_ID:
         if (value == null) {
           unsetGatewayId();
@@ -30319,6 +30852,9 @@ public class Airavata {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
       case GATEWAY_ID:
         return getGatewayId();
 
@@ -30333,6 +30869,8 @@ public class Airavata {
       }
 
       switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
       case GATEWAY_ID:
         return isSetGatewayId();
       }
@@ -30352,6 +30890,15 @@ public class Airavata {
       if (that == null)
         return false;
 
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
+      }
+
       boolean this_present_gatewayId = true && this.isSetGatewayId();
       boolean that_present_gatewayId = true && that.isSetGatewayId();
       if (this_present_gatewayId || that_present_gatewayId) {
@@ -30368,6 +30915,11 @@ public class Airavata {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
+      boolean present_authzToken = true && (isSetAuthzToken());
+      list.add(present_authzToken);
+      if (present_authzToken)
+        list.add(authzToken);
+
       boolean present_gatewayId = true && (isSetGatewayId());
       list.add(present_gatewayId);
       if (present_gatewayId)
@@ -30384,6 +30936,16 @@ public class Airavata {
 
       int lastComparison = 0;
 
+      lastComparison = Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
@@ -30414,6 +30976,14 @@ public class Airavata {
       StringBuilder sb = new StringBuilder("isGatewayExist_args(");
       boolean first = true;
 
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
       sb.append("gatewayId:");
       if (this.gatewayId == null) {
         sb.append("null");
@@ -30427,10 +30997,16 @@ public class Airavata {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
+      }
       if (gatewayId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -30467,7 +31043,16 @@ public class Airavata {
             break;
           }
           switch (schemeField.id) {
-            case 1: // GATEWAY_ID
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GATEWAY_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.gatewayId = iprot.readString();
                 struct.setGatewayIdIsSet(true);
@@ -30490,6 +31075,11 @@ public class Airavata {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
         if (struct.gatewayId != null) {
           oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
           oprot.writeString(struct.gatewayId);
@@ -30512,12 +31102,16 @@ public class Airavata {
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, isGatewayExist_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
         oprot.writeString(struct.gatewayId);
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, isGatewayExist_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
       }
@@ -30532,6 +31126,7 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -30543,13 +31138,15 @@ public class Airavata {
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.AuthorizationException ae; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase");
+      ASE((short)3, "ase"),
+      AE((short)4, "ae");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -30572,6 +31169,8 @@ public class Airavata {
             return ACE;
           case 3: // ASE
             return ASE;
+          case 4: // AE
+            return AE;
           default:
             return null;
         }
@@ -30625,6 +31224,8 @@ public class Airavata {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.AE, new org.apache.thrift.meta_data.FieldMetaData("ae", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isGatewayExist_result.class, metaDataMap);
     }
@@ -30636,7 +31237,8 @@ public class Airavata {
       boolean success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase)
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.AuthorizationException ae)
     {
       this();
       this.success = success;
@@ -30644,6 +31246,7 @@ public class Airavata {
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
+      this.ae = ae;
     }
 
     /**
@@ -30661,6 +31264,9 @@ public class Airavata {
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
+      if (other.isSetAe()) {
+        this.ae = new org.apache.airavata.model.error.AuthorizationException(other.ae);
+      }
     }
 
     public isGatewayExist_result deepCopy() {
@@ -30674,6 +31280,7 @@ public class Airavata {
       this.ire = null;
       this.ace = null;
       this.ase = null;
+      this.ae = null;
     }
 
     public boolean isSuccess() {
@@ -30771,6 +31378,30 @@ public class Airavata {
       }
     }
 
+    public org.apache.airavata.model.error.AuthorizationException getAe() {
+      return this.ae;
+    }
+
+    public isGatewayExist_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+      this.ae = ae;
+      return this;
+    }
+
+    public void unsetAe() {
+      this.ae = null;
+    }
+
+    /** Returns true if field ae is set (has been assigned a value) and false otherwise */
+    public boolean isSetAe() {
+      return this.ae != null;
+    }
+
+    public void setAeIsSet(boolean value) {
+      if (!value) {
+        this.ae = null;
+      }
+    }
+
     public void setFieldValue(_Fields f

<TRUNCATED>

[33/44] airavata git commit: fixed all compilation errors in the java client samples after the API changes.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
index 7294bbb..13311c2 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
@@ -38,6 +38,7 @@ import org.apache.airavata.model.application.io.DataType;
 import org.apache.airavata.model.application.io.InputDataObjectType;
 import org.apache.airavata.model.application.io.OutputDataObjectType;
 import org.apache.airavata.model.error.AiravataClientException;
+import org.apache.airavata.model.security.AuthzToken;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -184,12 +185,12 @@ public class RegisterSampleApplications {
             hostAliases.add("alias1");
             hostAliases.add("alias2");
             computeResourceDescription.setHostAliases(hostAliases);
-            localhostId = airavataClient.registerComputeResource(computeResourceDescription);
+            localhostId = airavataClient.registerComputeResource(new AuthzToken(""), computeResourceDescription);
             ResourceJobManager resourceJobManager = RegisterSampleApplicationsUtils.
                     createResourceJobManager(ResourceJobManagerType.FORK, null, null, null);
             LOCALSubmission submission = new LOCALSubmission();
             submission.setResourceJobManager(resourceJobManager);
-            airavataClient.addLocalSubmissionDetails(localhostId, 1, submission);
+            airavataClient.addLocalSubmissionDetails(new AuthzToken(""), localhostId, 1, submission);
             System.out.println("LocalHost Resource Id is " + localhostId);
 
         } catch (TException e) {
@@ -270,7 +271,7 @@ public class RegisterSampleApplications {
 		ComputeResourceDescription computeResourceDescription = RegisterSampleApplicationsUtils
 				.createComputeResourceDescription(hostName, hostDesc, null, null);
 
-		fsdResourceId = airavataClient.registerComputeResource(computeResourceDescription);
+		fsdResourceId = airavataClient.registerComputeResource(new AuthzToken(""), computeResourceDescription);
 
 		if (fsdResourceId.isEmpty())
 			throw new AiravataClientException();
@@ -283,7 +284,7 @@ public class RegisterSampleApplications {
 //		ucrJobSubmission.setAuthenticationMode(AuthenticationMode.MYPROXY_ISSUED);
 		jobSubmission.setJobSubmissionProtocol(JobSubmissionProtocol.UNICORE);
 
-		airavataClient.addUNICOREJobSubmissionDetails(fsdResourceId, 0, ucrJobSubmission);
+		airavataClient.addUNICOREJobSubmissionDetails(new AuthzToken(""), fsdResourceId, 0, ucrJobSubmission);
 
 		return jobSubmission.getJobSubmissionInterfaceId();
 	}
@@ -293,47 +294,47 @@ public class RegisterSampleApplications {
             System.out.println("\n #### Registering Application Modules #### \n");
 
             //Register Echo
-            echoModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            echoModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             echoName, "1.0", echoDescription));
             System.out.println("Echo Module Id " + echoModuleId);
 
-            mpiModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            mpiModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             mpiName, "1.0", mpiDescription));
             System.out.println("MPI Module Id " + mpiModuleId);
 
 
             //Register Amber
-            amberModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            amberModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             amberName, "12.0", amberDescription));
             System.out.println("Amber Module Id " + amberModuleId);
 
             //Register AutoDock
-            autoDockModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            autoDockModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             autoDockName, "4.2", autoDockDescription));
             System.out.println("AutoDock Module Id " + autoDockModuleId);
 
             //Register ESPRESSO
-            espressoModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            espressoModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             espressoName, "5.0.3", espressoDescription));
             System.out.println("ESPRESSO Module Id " + espressoModuleId);
 
             //Register GROMACS
-            gromacsModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            gromacsModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             gromacsName, "4.6.5", gromacsDescription));
             System.out.println("GROMACS Module Id " + gromacsModuleId);
 
             //Register LAMMPS
-            lammpsModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            lammpsModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             lammpsName, "20Mar14", lammpsDescription));
 
-            lammpsModuleId1 = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            lammpsModuleId1 = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             lammpsName, "28Jun14-base", lammpsDescription));
 
@@ -342,44 +343,44 @@ public class RegisterSampleApplications {
             System.out.println("LAMMPS Module Id for LSF " + lammpsModuleId1);
 
             //Register NWChem
-            nwChemModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            nwChemModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             nwChemName, "6.3", nwChemDescription));
             System.out.println("NWChem Module Id " + nwChemModuleId);
 
             //Register Trinity
-            trinityModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            trinityModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             trinityName, "r20130225", trinityDescription));
             System.out.println("Trinity Module Id " + trinityModuleId);
 
             //Register WRF
-            wrfModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            wrfModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             wrfName, "3.5.1", wrfDescription));
             System.out.println("WRF Module Id " + wrfModuleId);
 
             //Register PHASTA
-            phastaModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            phastaModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             phastaName, "1.0", phastaDescription));
             System.out.println("phasta Module Id " + phastaModuleId);
 
-            monteXModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            monteXModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             monteXName, "1.0", monteXDescription));
             System.out.println("Tinker Monte Module Id " + monteXModuleId);
 
-            gaussianModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            gaussianModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             gaussianName, "1.0", gaussianDescription));
             //Register GAMESS
-            gamessModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            gamessModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             gamessName, "17May13", gamessDescription));
             System.out.println("Gamess Module Id " + gamessModuleId);
             //Register Ultrascan
-            ultrascanModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            ultrascanModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             ultrascanName, "1.0", ultrascanDescription));
             System.out.println("Ultrascan Module Id " + ultrascanModuleId);
@@ -491,7 +492,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(RegisterSampleApplicationsUtils.createAppOutput("STDERR",
                     "", DataType.STDERR, false, true, null));
 
-            gamessInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            gamessInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("gamess", "gamess",
                             appModules, applicationInputs, applicationOutputs));
 
@@ -524,7 +525,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output1);
             applicationOutputs.add(output2);
 
-            echoLocalInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            echoLocalInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(echoName, echoDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Local Echo Application Interface Id " + echoLocalInterfaceId);
@@ -567,7 +568,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output2);
 
 
-            echoInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            echoInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(echoName, echoDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Echo Application Interface Id " + echoInterfaceId);
@@ -624,7 +625,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output3);
 
 
-            mpiInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            mpiInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(mpiName, mpiDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("MPI Application Interface Id " + mpiInterfaceId);
@@ -670,7 +671,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output5);
             applicationOutputs.add(output6);
 
-            amberInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            amberInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(amberName, amberDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Amber Application Interface Id " + amberInterfaceId);
@@ -709,7 +710,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output1);
             applicationOutputs.add(output2);
 
-            autoDockInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            autoDockInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(autoDockName, autoDockDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("AutoDock Application Interface Id " + autoDockInterfaceId);
@@ -747,7 +748,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output3);
             applicationOutputs.add(output4);
 
-            espressoInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            espressoInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(espressoName, espressoDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Espresso Application Interface Id " + espressoInterfaceId);
@@ -787,7 +788,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output4);
             applicationOutputs.add(output5);
 
-            gromacsInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            gromacsInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(gromacsName, gromacsDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Gromacs Application Interface Id " + gromacsInterfaceId);
@@ -821,7 +822,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output2);
             applicationOutputs.add(output3);
 
-            lammpsInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            lammpsInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(lammpsName, lammpsDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("LAMMPS Application Interface Id " + lammpsInterfaceId);
@@ -855,7 +856,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output2);
             applicationOutputs.add(output3);
 
-            nwChemInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            nwChemInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(nwChemName, nwChemDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("NWChem Application Interface Id " + nwChemInterfaceId);
@@ -894,7 +895,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output3);
             applicationOutputs.add(output4);
 
-            trinityInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            trinityInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(trinityName, trinityDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Trinity Application Interface Id " + trinityInterfaceId);
@@ -941,7 +942,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output3);
             applicationOutputs.add(output4);
 
-            wrfInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            wrfInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(wrfName, wrfDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("WRF Application Interface Id " + wrfInterfaceId);
@@ -985,7 +986,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output4);
 
 
-            phastaInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            phastaInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription(phastaName, phastaDescription,
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("phasta Application Interface Id " + phastaInterfaceId);
@@ -999,7 +1000,7 @@ public class RegisterSampleApplications {
         try {
             System.out.println("#### Registering Application Deployments on Localhost #### \n");
             //Register Echo
-            String echoAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String echoAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, localhostId,
                             "/bin/echo", ApplicationParallelismType.SERIAL, echoDescription, null, null, null));
 
@@ -1034,7 +1035,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output2);
             applicationOutputs.add(output3);
 
-            String addApplicationInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            String addApplicationInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Gaussian", "Gaussian application",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Gaussian Application Interface Id " + addApplicationInterfaceId);
@@ -1086,7 +1087,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output2);
             applicationOutputs.add(output3);
 
-            String addApplicationInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            String addApplicationInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Tinker_Monte", "Monte application",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Monte Application Interface Id " + addApplicationInterfaceId);
@@ -1102,7 +1103,7 @@ public class RegisterSampleApplications {
             System.out.println("#### Registering Application Deployments on Stampede #### \n");
 
             //Register Echo
-            String echoAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String echoAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/echo_wrapper.sh", ApplicationParallelismType.SERIAL,
                             echoDescription, null, null,null));
@@ -1114,18 +1115,18 @@ public class RegisterSampleApplications {
             ApplicationDeploymentDescription amberStampedeDeployment = RegisterSampleApplicationsUtils.createApplicationDeployment(amberModuleId, stampedeResourceId,
                     "/opt/apps/intel13/mvapich2_1_9/amber/12.0/bin/sander.MPI -O", ApplicationParallelismType.MPI,
                     amberDescription, moduleLoadCMDs, null, null);
-            String amberAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,amberStampedeDeployment);
+            String amberAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,amberStampedeDeployment);
             System.out.println("Amber on stampede deployment Id " + amberAppDeployId);
 
             //Register ESPRESSO
-            String espressoAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String espressoAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(espressoModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/espresso_wrapper.sh", ApplicationParallelismType.MPI,
                             espressoDescription, null, null, null));
             System.out.println("ESPRESSO on stampede deployment Id " + espressoAppDeployId);
 
             //Register GROMACS
-            String gromacsAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String gromacsAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(gromacsModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/gromacs_wrapper.sh", ApplicationParallelismType.MPI,
                             gromacsDescription, null, null ,null));
@@ -1134,7 +1135,7 @@ public class RegisterSampleApplications {
             //Register LAMMPS
             List<String> preJobCommands = new ArrayList<String>();
             preJobCommands.add("cp /home1/00421/ccguser/apps/ds_lammps/data/* $workingDir");
-            String lammpsAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String lammpsAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(lammpsModuleId, stampedeResourceId,
                             "~/apps/ds_lammps/bin/lmp_stampede", ApplicationParallelismType.MPI,
                             lammpsDescription,null, preJobCommands, null));
@@ -1143,21 +1144,21 @@ public class RegisterSampleApplications {
             //Register NWChem
             List<String> nwChemModuleCmds = new ArrayList<String>();
             nwChemModuleCmds.add("module load nwchem");
-            String nwChemAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String nwChemAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(nwChemModuleId, stampedeResourceId,
                             "nwchem", ApplicationParallelismType.MPI,
                             nwChemDescription, nwChemModuleCmds, null, null));
             System.out.println("NWChem on stampede deployment Id " + nwChemAppDeployId);
 
             //Register Trinity
-            String trinityAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String trinityAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(trinityModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/trinity_wrapper.sh", ApplicationParallelismType.MPI,
                             trinityDescription, null, null, null));
             System.out.println("Trinity on stampede deployment Id " + trinityAppDeployId);
 
             //Register WRF
-            String wrfAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String wrfAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(wrfModuleId, stampedeResourceId,
                             "/home1/01437/ogce/production/app_wrappers/wrf_wrapper.sh", ApplicationParallelismType.MPI,
                             wrfDescription, null, null , null));
@@ -1169,7 +1170,7 @@ public class RegisterSampleApplications {
 //            monteXModuleCmds.add("module load uberftp");
             monteXModuleCmds.add("module load fftw3");
 
-            String monteXAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String monteXAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(monteXModuleId, stampedeResourceId,
                             "/home1/00421/ccguser/apps/tinker/tinker/bin/monte.x", ApplicationParallelismType.OPENMP,
                             monteXDescription, monteXModuleCmds, null, null));
@@ -1184,7 +1185,7 @@ public class RegisterSampleApplications {
             System.out.println("#### Registering Application Deployments on Trestles #### \n");
 
             //Register Echo
-            String echoAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String echoAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, trestlesResourceId,
                             "/home/ogce/production/app_wrappers/echo_wrapper.sh", ApplicationParallelismType.SERIAL,
                             echoDescription, null, null, null));
@@ -1193,21 +1194,21 @@ public class RegisterSampleApplications {
             //Register Amber
             List<String> moduleLoadCMDs = new ArrayList<String>();
             moduleLoadCMDs.add("module load amber");
-            String amberAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String amberAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(amberModuleId, trestlesResourceId,
                             "/opt/amber/bin/sander.MPI -O", ApplicationParallelismType.MPI,
                             amberDescription, moduleLoadCMDs, null, null));
             System.out.println("Amber on trestles deployment Id " + amberAppDeployId);
 
             //Register GROMACS
-            String gromacsAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String gromacsAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(gromacsModuleId, trestlesResourceId,
                             "/home/ogce/production/app_wrappers/gromacs_wrapper.sh", ApplicationParallelismType.MPI,
                             gromacsDescription, null, null, null));
             System.out.println("GROMACS on trestles deployment Id " + gromacsAppDeployId);
 
             //Register LAMMPS
-            String lammpsAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String lammpsAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(lammpsModuleId, trestlesResourceId,
                             "/home/ogce/production/app_wrappers/lammps_wrapper.sh", ApplicationParallelismType.MPI,
                             lammpsDescription, null, null , null));
@@ -1216,7 +1217,7 @@ public class RegisterSampleApplications {
             //Register GAMESS
             List<String> moduleLoadCmd = new ArrayList<String>();
             moduleLoadCmd.add("module load gamess");
-            String gamessAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String gamessAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(gamessModuleId, trestlesResourceId,
                             "/opt/gamess/rungms", ApplicationParallelismType.MPI,
                             gamessDescription, moduleLoadCmd, null,null));
@@ -1225,7 +1226,7 @@ public class RegisterSampleApplications {
 
             List<String> gaussianMouldes = new ArrayList<String>();
             gaussianMouldes.add("module load gaussian");
-            String gaussianAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String gaussianAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(gaussianModuleId, trestlesResourceId,
                             "g09", ApplicationParallelismType.OPENMP, gaussianDescription, gaussianMouldes , null, null));
             System.out.println("Gaussian on trestles deployment Id " + gaussianAppDeployId);
@@ -1240,7 +1241,7 @@ public class RegisterSampleApplications {
             System.out.println("#### Registering Application Deployments on Trestles #### \n");
 
             //Register Echo
-            String echoAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String echoAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, lsfResourceId,
                             "/home/lg11w/executables/echo.sh", ApplicationParallelismType.SERIAL,
                             echoDescription, null, null, null));
@@ -1249,7 +1250,7 @@ public class RegisterSampleApplications {
             moduleLoadCmd.add("module load LAMMPS/28Jun14-base");
             //Register Echo
 
-            String lammpsDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String lammpsDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(lammpsModuleId, lsfResourceId,
                             "lmp_ghpcc", ApplicationParallelismType.MPI,
                             echoDescription, moduleLoadCmd, null, null));
@@ -1265,7 +1266,7 @@ public class RegisterSampleApplications {
             System.out.println("#### Registering Application Deployments on BigRed II #### \n");
 
             //Register Echo
-            String echoAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String echoAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, bigredResourceId,
                             "/N/u/cgateway/BigRed2/production/app_wrappers/echo_wrapper.sh",
                             ApplicationParallelismType.SERIAL, echoDescription, null, null, null));
@@ -1275,7 +1276,7 @@ public class RegisterSampleApplications {
             List<String> amberModuleLoadCMDsBr2 = new ArrayList<String>();
             amberModuleLoadCMDsBr2.add("module load amber/gnu/mpi/12");
             amberModuleLoadCMDsBr2.add("module swap PrgEnv-cray PrgEnv-gnu");
-            String amberAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String amberAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(amberModuleId, bigredResourceId,
                             "/N/soft/cle4/amber/gnu/mpi/12/amber12/bin/sander.MPI -O", ApplicationParallelismType.MPI,
                             amberDescription, amberModuleLoadCMDsBr2, null, null));
@@ -1283,7 +1284,7 @@ public class RegisterSampleApplications {
             System.out.println("Amber on bigredII deployment Id " + amberAppDeployId);
 
             //Register AutoDock
-            String autoDockDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String autoDockDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(autoDockModuleId, bigredResourceId,
                             "/N/u/cgateway/BigRed2/production/app_wrappers/auto_dock_wrapper.sh", ApplicationParallelismType.MPI,
                             autoDockDescription, null, null, null));
@@ -1313,7 +1314,7 @@ public class RegisterSampleApplications {
             System.out.println("#### Registering Application Deployments on FSD #### \n");
 
             //Register Echo
-            String echoAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String echoAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, fsdResourceId,
                             "/bin/echo", ApplicationParallelismType.SERIAL, echoDescription, null, null, null));
             System.out.println("Echo on FSD deployment Id: " + echoAppDeployId);
@@ -1324,7 +1325,7 @@ public class RegisterSampleApplications {
 //                            "/home/bes/hellompi", ApplicationParallelismType.OPENMP_MPI, mpiDescription, null, null, null));
 
 
-            String mpiAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String mpiAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(mpiModuleId, fsdResourceId,
                             "us_mpi_analysis", ApplicationParallelismType.MPI, mpiDescription, null, null, null));
 
@@ -1365,7 +1366,7 @@ public class RegisterSampleApplications {
         ComputeResourceDescription computeResourceDescription = RegisterSampleApplicationsUtils.
                 createComputeResourceDescription(hostName, hostDesc, null, null);
         computeResourceDescription.setBatchQueues(batchQueues);
-        String computeResourceId = airavataClient.registerComputeResource(computeResourceDescription);
+        String computeResourceId = airavataClient.registerComputeResource(new AuthzToken(""), computeResourceDescription);
 
         if (computeResourceId.isEmpty()) throw new AiravataClientException();
 
@@ -1393,12 +1394,12 @@ public class RegisterSampleApplications {
         sshJobSubmission.setSecurityProtocol(securityProtocol);
         sshJobSubmission.setSshPort(portNumber);
         sshJobSubmission.setMonitorMode(MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR);
-        airavataClient.addSSHJobSubmissionDetails(computeResourceId, 1, sshJobSubmission);
+        airavataClient.addSSHJobSubmissionDetails(new AuthzToken(""), computeResourceId, 1, sshJobSubmission);
 
         SCPDataMovement scpDataMovement = new SCPDataMovement();
         scpDataMovement.setSecurityProtocol(securityProtocol);
         scpDataMovement.setSshPort(portNumber);
-        airavataClient.addSCPDataMovementDetails(computeResourceId, 1, scpDataMovement);
+        airavataClient.addSCPDataMovementDetails(new AuthzToken(""), computeResourceId, 1, scpDataMovement);
 
         return computeResourceId;
     }
@@ -1443,7 +1444,7 @@ public class RegisterSampleApplications {
             gatewayResourceProfile.addToComputeResourcePreferences(fsdResourcePreferences);
             gatewayResourceProfile.addToComputeResourcePreferences(lsfResourcePreferences);
 
-            String gatewayProfile = airavataClient.registerGatewayResourceProfile(gatewayResourceProfile);
+            String gatewayProfile = airavataClient.registerGatewayResourceProfile(new AuthzToken(""), gatewayResourceProfile);
             System.out.println("Gateway Profile is registered with Id " + gatewayProfile);
 
         } catch (TException e) {
@@ -1490,7 +1491,7 @@ public class RegisterSampleApplications {
             ultrascanMouldes.add("module load qt4/4.8.6");
             ultrascanMouldes.add("module load ultrascan3/3.3");
 
-            String ultrascanAppDeployId = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY,
+            String ultrascanAppDeployId = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId, alamoResourceId,
                             "/home/us3/bin/us_mpi_analysis", ApplicationParallelismType.OPENMP, ultrascanDescription, ultrascanMouldes , null, null));
             System.out.println("Ultrascan on alamo deployment Id " + ultrascanAppDeployId);
@@ -1527,7 +1528,7 @@ public class RegisterSampleApplications {
             applicationOutputs.add(output2);
             applicationOutputs.add(output3);
 
-            String ultrascanInterfaceId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            String ultrascanInterfaceId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Ultrascan", "Ultrascan application",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Ultrascan Application Interface Id " + ultrascanInterfaceId);

http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
index 1a39de3..f5049db 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
@@ -42,6 +42,7 @@ import org.apache.airavata.model.application.io.DataType;
 import org.apache.airavata.model.application.io.InputDataObjectType;
 import org.apache.airavata.model.application.io.OutputDataObjectType;
 import org.apache.airavata.model.error.AiravataClientException;
+import org.apache.airavata.model.security.AuthzToken;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -159,7 +160,7 @@ public class RegisterUS3Application {
             System.out.println("\n #### Registering Application Modules #### \n");
 
             //Register Echo
-            ultrascanModuleId = airavataClient.registerApplicationModule(DEFAULT_GATEWAY,
+            ultrascanModuleId = airavataClient.registerApplicationModule(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationModule(
                             "ultrascan", "1.0", "ultrascan application"));
             System.out.println("Ultrascan Module Id " + ultrascanModuleId);
@@ -191,7 +192,7 @@ public class RegisterUS3Application {
             List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
             applicationOutputs.add(output1);
   
-            ultrascanAppId = airavataClient.registerApplicationInterface(DEFAULT_GATEWAY,
+            ultrascanAppId = airavataClient.registerApplicationInterface(new AuthzToken(""), DEFAULT_GATEWAY,
                     RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("ultrascan", "ultrascan application",
                             appModules, applicationInputs, applicationOutputs));
             System.out.println("Ultrascan Application Interface Id " + ultrascanAppId);
@@ -206,17 +207,17 @@ public class RegisterUS3Application {
 			System.out.println("#### Registering Application Deployments on Stampede #### \n");
 
 			// Register Stampede
-			String ultascanStamplede = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
+			String ultascanStamplede = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
 					stampedeResourceId, "/home1/01623/us3/bin/us_mpi_analysis", ApplicationParallelismType.MPI, "ultrascan application", null, null, null));
 			System.out.println("Ultrascan on stampede deployment Id " + ultascanStamplede);
 			
-			String ultascanTrestles = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
+			String ultascanTrestles = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
 					trestlesResourceId, "/home/us3/trestles/bin/us_mpi_analysis", ApplicationParallelismType.MPI, "ultrascan application", null, null, null));
 			System.out.println("Ultrascan on trestles deployment Id " + ultascanTrestles);
-			String ultascanLonestar = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
+			String ultascanLonestar = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
 					lonestarResourceId, "/home1/01623/us3/bin/us_mpi_analysis", ApplicationParallelismType.MPI, "ultrascan application", null, null ,null));
 			System.out.println("Ultrascan on lonestar deployment Id " + ultascanLonestar);
-			String ultascanAlamo = airavataClient.registerApplicationDeployment(DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
+			String ultascanAlamo = airavataClient.registerApplicationDeployment(new AuthzToken(""), DEFAULT_GATEWAY, RegisterSampleApplicationsUtils.createApplicationDeployment(ultrascanModuleId,
 					alamoResourceId, "/home/us3/bin/us_mpi_analysis.sh", ApplicationParallelismType.MPI, "ultrascan application", null, null ,null));
 			System.out.println("Ultrascan on alamo deployment Id " + ultascanAlamo);
 		} catch (Exception e) {
@@ -252,7 +253,7 @@ public class RegisterUS3Application {
             gatewayResourceProfile.addToComputeResourcePreferences(lonestarResourcePreferences);
             gatewayResourceProfile.addToComputeResourcePreferences(alamoResourcePreferences);
 
-            String gatewayProfile = airavataClient.registerGatewayResourceProfile(gatewayResourceProfile);
+            String gatewayProfile = airavataClient.registerGatewayResourceProfile(new AuthzToken(""), gatewayResourceProfile);
             System.out.println("Gateway Profile is registered with Id " + gatewayProfile);
 
         } catch (TException e) {
@@ -265,7 +266,7 @@ public class RegisterUS3Application {
 		ComputeResourceDescription computeResourceDescription = RegisterSampleApplicationsUtils
 				.createComputeResourceDescription(hostName, hostDesc, null, null);
 
-		String computeResourceId = airavataClient.registerComputeResource(computeResourceDescription);
+		String computeResourceId = airavataClient.registerComputeResource(new AuthzToken(""), computeResourceDescription);
 
 		if (computeResourceId.isEmpty())
 			throw new AiravataClientException();
@@ -282,12 +283,12 @@ public class RegisterUS3Application {
 		sshJobSubmission.setResourceJobManager(resourceJobManager);
 		sshJobSubmission.setSecurityProtocol(securityProtocol);
 		sshJobSubmission.setSshPort(portNumber);
-		airavataClient.addSSHJobSubmissionDetails(computeResourceId, 1, sshJobSubmission);
+		airavataClient.addSSHJobSubmissionDetails(new AuthzToken(""), computeResourceId, 1, sshJobSubmission);
 
 		SCPDataMovement scpDataMovement = new SCPDataMovement();
 		scpDataMovement.setSecurityProtocol(securityProtocol);
 		scpDataMovement.setSshPort(portNumber);
-		airavataClient.addSCPDataMovementDetails(computeResourceId, 1, scpDataMovement);
+		airavataClient.addSCPDataMovementDetails(new AuthzToken(""), computeResourceId, 1, scpDataMovement);
 
 		return computeResourceId;
 	}
@@ -309,13 +310,13 @@ public class RegisterUS3Application {
 		sshJobSubmission.setResourceJobManager(resourceJobManager);
 		sshJobSubmission.setSecurityProtocol(securityProtocol);
 		sshJobSubmission.setSshPort(portNumber);
-		airavataClient.addSSHJobSubmissionDetails(computeResourceId, 1, sshJobSubmission);
-		ComputeResourceDescription computeResourceDescription = airavataClient.getComputeResource(computeResourceId);
+		airavataClient.addSSHJobSubmissionDetails(new AuthzToken(""), computeResourceId, 1, sshJobSubmission);
+		ComputeResourceDescription computeResourceDescription = airavataClient.getComputeResource(new AuthzToken(""), computeResourceId);
 		computeResourceDescription.getJobSubmissionInterfacesIterator();
 		SCPDataMovement scpDataMovement = new SCPDataMovement();
 		scpDataMovement.setSecurityProtocol(securityProtocol);
 		scpDataMovement.setSshPort(portNumber);
-		airavataClient.addSCPDataMovementDetails(computeResourceId, 1, scpDataMovement);
+		airavataClient.addSCPDataMovementDetails(new AuthzToken(""), computeResourceId, 1, scpDataMovement);
 
 		return computeResourceId;
 	}


[14/44] airavata git commit: changing few API methods to adhere to security solution.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
new file mode 100644
index 0000000..2795d62
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.cpp
@@ -0,0 +1,781 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "application_deployment_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
+
+int _kApplicationParallelismTypeValues[] = {
+  ApplicationParallelismType::SERIAL,
+  ApplicationParallelismType::MPI,
+  ApplicationParallelismType::OPENMP,
+  ApplicationParallelismType::OPENMP_MPI
+};
+const char* _kApplicationParallelismTypeNames[] = {
+  "SERIAL",
+  "MPI",
+  "OPENMP",
+  "OPENMP_MPI"
+};
+const std::map<int, const char*> _ApplicationParallelismType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kApplicationParallelismTypeValues, _kApplicationParallelismTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+SetEnvPaths::~SetEnvPaths() throw() {
+}
+
+
+void SetEnvPaths::__set_name(const std::string& val) {
+  this->name = val;
+}
+
+void SetEnvPaths::__set_value(const std::string& val) {
+  this->value = val;
+}
+
+const char* SetEnvPaths::ascii_fingerprint = "07A9615F837F7D0A952B595DD3020972";
+const uint8_t SetEnvPaths::binary_fingerprint[16] = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
+
+uint32_t SetEnvPaths::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_name = false;
+  bool isset_value = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->name);
+          isset_name = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->value);
+          isset_value = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_name)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_value)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t SetEnvPaths::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("SetEnvPaths");
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->name);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->value);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(SetEnvPaths &a, SetEnvPaths &b) {
+  using ::std::swap;
+  swap(a.name, b.name);
+  swap(a.value, b.value);
+}
+
+SetEnvPaths::SetEnvPaths(const SetEnvPaths& other0) {
+  name = other0.name;
+  value = other0.value;
+}
+SetEnvPaths& SetEnvPaths::operator=(const SetEnvPaths& other1) {
+  name = other1.name;
+  value = other1.value;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const SetEnvPaths& obj) {
+  using apache::thrift::to_string;
+  out << "SetEnvPaths(";
+  out << "name=" << to_string(obj.name);
+  out << ", " << "value=" << to_string(obj.value);
+  out << ")";
+  return out;
+}
+
+
+ApplicationModule::~ApplicationModule() throw() {
+}
+
+
+void ApplicationModule::__set_appModuleId(const std::string& val) {
+  this->appModuleId = val;
+}
+
+void ApplicationModule::__set_appModuleName(const std::string& val) {
+  this->appModuleName = val;
+}
+
+void ApplicationModule::__set_appModuleVersion(const std::string& val) {
+  this->appModuleVersion = val;
+__isset.appModuleVersion = true;
+}
+
+void ApplicationModule::__set_appModuleDescription(const std::string& val) {
+  this->appModuleDescription = val;
+__isset.appModuleDescription = true;
+}
+
+const char* ApplicationModule::ascii_fingerprint = "FED0FBEAA0C90D1589E8B650561B7675";
+const uint8_t ApplicationModule::binary_fingerprint[16] = {0xFE,0xD0,0xFB,0xEA,0xA0,0xC9,0x0D,0x15,0x89,0xE8,0xB6,0x50,0x56,0x1B,0x76,0x75};
+
+uint32_t ApplicationModule::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_appModuleId = false;
+  bool isset_appModuleName = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->appModuleId);
+          isset_appModuleId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->appModuleName);
+          isset_appModuleName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->appModuleVersion);
+          this->__isset.appModuleVersion = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->appModuleDescription);
+          this->__isset.appModuleDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_appModuleId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_appModuleName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ApplicationModule::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ApplicationModule");
+
+  xfer += oprot->writeFieldBegin("appModuleId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->appModuleId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("appModuleName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->appModuleName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.appModuleVersion) {
+    xfer += oprot->writeFieldBegin("appModuleVersion", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->appModuleVersion);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.appModuleDescription) {
+    xfer += oprot->writeFieldBegin("appModuleDescription", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->appModuleDescription);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ApplicationModule &a, ApplicationModule &b) {
+  using ::std::swap;
+  swap(a.appModuleId, b.appModuleId);
+  swap(a.appModuleName, b.appModuleName);
+  swap(a.appModuleVersion, b.appModuleVersion);
+  swap(a.appModuleDescription, b.appModuleDescription);
+  swap(a.__isset, b.__isset);
+}
+
+ApplicationModule::ApplicationModule(const ApplicationModule& other2) {
+  appModuleId = other2.appModuleId;
+  appModuleName = other2.appModuleName;
+  appModuleVersion = other2.appModuleVersion;
+  appModuleDescription = other2.appModuleDescription;
+  __isset = other2.__isset;
+}
+ApplicationModule& ApplicationModule::operator=(const ApplicationModule& other3) {
+  appModuleId = other3.appModuleId;
+  appModuleName = other3.appModuleName;
+  appModuleVersion = other3.appModuleVersion;
+  appModuleDescription = other3.appModuleDescription;
+  __isset = other3.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ApplicationModule& obj) {
+  using apache::thrift::to_string;
+  out << "ApplicationModule(";
+  out << "appModuleId=" << to_string(obj.appModuleId);
+  out << ", " << "appModuleName=" << to_string(obj.appModuleName);
+  out << ", " << "appModuleVersion="; (obj.__isset.appModuleVersion ? (out << to_string(obj.appModuleVersion)) : (out << "<null>"));
+  out << ", " << "appModuleDescription="; (obj.__isset.appModuleDescription ? (out << to_string(obj.appModuleDescription)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+ApplicationDeploymentDescription::~ApplicationDeploymentDescription() throw() {
+}
+
+
+void ApplicationDeploymentDescription::__set_appDeploymentId(const std::string& val) {
+  this->appDeploymentId = val;
+}
+
+void ApplicationDeploymentDescription::__set_appModuleId(const std::string& val) {
+  this->appModuleId = val;
+}
+
+void ApplicationDeploymentDescription::__set_computeHostId(const std::string& val) {
+  this->computeHostId = val;
+}
+
+void ApplicationDeploymentDescription::__set_executablePath(const std::string& val) {
+  this->executablePath = val;
+}
+
+void ApplicationDeploymentDescription::__set_parallelism(const ApplicationParallelismType::type val) {
+  this->parallelism = val;
+}
+
+void ApplicationDeploymentDescription::__set_appDeploymentDescription(const std::string& val) {
+  this->appDeploymentDescription = val;
+__isset.appDeploymentDescription = true;
+}
+
+void ApplicationDeploymentDescription::__set_moduleLoadCmds(const std::vector<std::string> & val) {
+  this->moduleLoadCmds = val;
+__isset.moduleLoadCmds = true;
+}
+
+void ApplicationDeploymentDescription::__set_libPrependPaths(const std::vector<SetEnvPaths> & val) {
+  this->libPrependPaths = val;
+__isset.libPrependPaths = true;
+}
+
+void ApplicationDeploymentDescription::__set_libAppendPaths(const std::vector<SetEnvPaths> & val) {
+  this->libAppendPaths = val;
+__isset.libAppendPaths = true;
+}
+
+void ApplicationDeploymentDescription::__set_setEnvironment(const std::vector<SetEnvPaths> & val) {
+  this->setEnvironment = val;
+__isset.setEnvironment = true;
+}
+
+void ApplicationDeploymentDescription::__set_preJobCommands(const std::vector<std::string> & val) {
+  this->preJobCommands = val;
+__isset.preJobCommands = true;
+}
+
+void ApplicationDeploymentDescription::__set_postJobCommands(const std::vector<std::string> & val) {
+  this->postJobCommands = val;
+__isset.postJobCommands = true;
+}
+
+const char* ApplicationDeploymentDescription::ascii_fingerprint = "3B2F93AE9F0E6A621AF867419ADD9E5A";
+const uint8_t ApplicationDeploymentDescription::binary_fingerprint[16] = {0x3B,0x2F,0x93,0xAE,0x9F,0x0E,0x6A,0x62,0x1A,0xF8,0x67,0x41,0x9A,0xDD,0x9E,0x5A};
+
+uint32_t ApplicationDeploymentDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_appDeploymentId = false;
+  bool isset_appModuleId = false;
+  bool isset_computeHostId = false;
+  bool isset_executablePath = false;
+  bool isset_parallelism = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->appDeploymentId);
+          isset_appDeploymentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->appModuleId);
+          isset_appModuleId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->computeHostId);
+          isset_computeHostId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->executablePath);
+          isset_executablePath = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast4;
+          xfer += iprot->readI32(ecast4);
+          this->parallelism = (ApplicationParallelismType::type)ecast4;
+          isset_parallelism = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->appDeploymentDescription);
+          this->__isset.appDeploymentDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->moduleLoadCmds.clear();
+            uint32_t _size5;
+            ::apache::thrift::protocol::TType _etype8;
+            xfer += iprot->readListBegin(_etype8, _size5);
+            this->moduleLoadCmds.resize(_size5);
+            uint32_t _i9;
+            for (_i9 = 0; _i9 < _size5; ++_i9)
+            {
+              xfer += iprot->readString(this->moduleLoadCmds[_i9]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.moduleLoadCmds = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->libPrependPaths.clear();
+            uint32_t _size10;
+            ::apache::thrift::protocol::TType _etype13;
+            xfer += iprot->readListBegin(_etype13, _size10);
+            this->libPrependPaths.resize(_size10);
+            uint32_t _i14;
+            for (_i14 = 0; _i14 < _size10; ++_i14)
+            {
+              xfer += this->libPrependPaths[_i14].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.libPrependPaths = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->libAppendPaths.clear();
+            uint32_t _size15;
+            ::apache::thrift::protocol::TType _etype18;
+            xfer += iprot->readListBegin(_etype18, _size15);
+            this->libAppendPaths.resize(_size15);
+            uint32_t _i19;
+            for (_i19 = 0; _i19 < _size15; ++_i19)
+            {
+              xfer += this->libAppendPaths[_i19].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.libAppendPaths = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->setEnvironment.clear();
+            uint32_t _size20;
+            ::apache::thrift::protocol::TType _etype23;
+            xfer += iprot->readListBegin(_etype23, _size20);
+            this->setEnvironment.resize(_size20);
+            uint32_t _i24;
+            for (_i24 = 0; _i24 < _size20; ++_i24)
+            {
+              xfer += this->setEnvironment[_i24].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.setEnvironment = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->preJobCommands.clear();
+            uint32_t _size25;
+            ::apache::thrift::protocol::TType _etype28;
+            xfer += iprot->readListBegin(_etype28, _size25);
+            this->preJobCommands.resize(_size25);
+            uint32_t _i29;
+            for (_i29 = 0; _i29 < _size25; ++_i29)
+            {
+              xfer += iprot->readString(this->preJobCommands[_i29]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.preJobCommands = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->postJobCommands.clear();
+            uint32_t _size30;
+            ::apache::thrift::protocol::TType _etype33;
+            xfer += iprot->readListBegin(_etype33, _size30);
+            this->postJobCommands.resize(_size30);
+            uint32_t _i34;
+            for (_i34 = 0; _i34 < _size30; ++_i34)
+            {
+              xfer += iprot->readString(this->postJobCommands[_i34]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.postJobCommands = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_appDeploymentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_appModuleId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_computeHostId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_executablePath)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_parallelism)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ApplicationDeploymentDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ApplicationDeploymentDescription");
+
+  xfer += oprot->writeFieldBegin("appDeploymentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->appDeploymentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("appModuleId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->appModuleId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("computeHostId", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->computeHostId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("executablePath", ::apache::thrift::protocol::T_STRING, 4);
+  xfer += oprot->writeString(this->executablePath);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("parallelism", ::apache::thrift::protocol::T_I32, 5);
+  xfer += oprot->writeI32((int32_t)this->parallelism);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.appDeploymentDescription) {
+    xfer += oprot->writeFieldBegin("appDeploymentDescription", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->appDeploymentDescription);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.moduleLoadCmds) {
+    xfer += oprot->writeFieldBegin("moduleLoadCmds", ::apache::thrift::protocol::T_LIST, 7);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->moduleLoadCmds.size()));
+      std::vector<std::string> ::const_iterator _iter35;
+      for (_iter35 = this->moduleLoadCmds.begin(); _iter35 != this->moduleLoadCmds.end(); ++_iter35)
+      {
+        xfer += oprot->writeString((*_iter35));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.libPrependPaths) {
+    xfer += oprot->writeFieldBegin("libPrependPaths", ::apache::thrift::protocol::T_LIST, 8);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->libPrependPaths.size()));
+      std::vector<SetEnvPaths> ::const_iterator _iter36;
+      for (_iter36 = this->libPrependPaths.begin(); _iter36 != this->libPrependPaths.end(); ++_iter36)
+      {
+        xfer += (*_iter36).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.libAppendPaths) {
+    xfer += oprot->writeFieldBegin("libAppendPaths", ::apache::thrift::protocol::T_LIST, 9);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->libAppendPaths.size()));
+      std::vector<SetEnvPaths> ::const_iterator _iter37;
+      for (_iter37 = this->libAppendPaths.begin(); _iter37 != this->libAppendPaths.end(); ++_iter37)
+      {
+        xfer += (*_iter37).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.setEnvironment) {
+    xfer += oprot->writeFieldBegin("setEnvironment", ::apache::thrift::protocol::T_LIST, 10);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->setEnvironment.size()));
+      std::vector<SetEnvPaths> ::const_iterator _iter38;
+      for (_iter38 = this->setEnvironment.begin(); _iter38 != this->setEnvironment.end(); ++_iter38)
+      {
+        xfer += (*_iter38).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.preJobCommands) {
+    xfer += oprot->writeFieldBegin("preJobCommands", ::apache::thrift::protocol::T_LIST, 11);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->preJobCommands.size()));
+      std::vector<std::string> ::const_iterator _iter39;
+      for (_iter39 = this->preJobCommands.begin(); _iter39 != this->preJobCommands.end(); ++_iter39)
+      {
+        xfer += oprot->writeString((*_iter39));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.postJobCommands) {
+    xfer += oprot->writeFieldBegin("postJobCommands", ::apache::thrift::protocol::T_LIST, 12);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->postJobCommands.size()));
+      std::vector<std::string> ::const_iterator _iter40;
+      for (_iter40 = this->postJobCommands.begin(); _iter40 != this->postJobCommands.end(); ++_iter40)
+      {
+        xfer += oprot->writeString((*_iter40));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ApplicationDeploymentDescription &a, ApplicationDeploymentDescription &b) {
+  using ::std::swap;
+  swap(a.appDeploymentId, b.appDeploymentId);
+  swap(a.appModuleId, b.appModuleId);
+  swap(a.computeHostId, b.computeHostId);
+  swap(a.executablePath, b.executablePath);
+  swap(a.parallelism, b.parallelism);
+  swap(a.appDeploymentDescription, b.appDeploymentDescription);
+  swap(a.moduleLoadCmds, b.moduleLoadCmds);
+  swap(a.libPrependPaths, b.libPrependPaths);
+  swap(a.libAppendPaths, b.libAppendPaths);
+  swap(a.setEnvironment, b.setEnvironment);
+  swap(a.preJobCommands, b.preJobCommands);
+  swap(a.postJobCommands, b.postJobCommands);
+  swap(a.__isset, b.__isset);
+}
+
+ApplicationDeploymentDescription::ApplicationDeploymentDescription(const ApplicationDeploymentDescription& other41) {
+  appDeploymentId = other41.appDeploymentId;
+  appModuleId = other41.appModuleId;
+  computeHostId = other41.computeHostId;
+  executablePath = other41.executablePath;
+  parallelism = other41.parallelism;
+  appDeploymentDescription = other41.appDeploymentDescription;
+  moduleLoadCmds = other41.moduleLoadCmds;
+  libPrependPaths = other41.libPrependPaths;
+  libAppendPaths = other41.libAppendPaths;
+  setEnvironment = other41.setEnvironment;
+  preJobCommands = other41.preJobCommands;
+  postJobCommands = other41.postJobCommands;
+  __isset = other41.__isset;
+}
+ApplicationDeploymentDescription& ApplicationDeploymentDescription::operator=(const ApplicationDeploymentDescription& other42) {
+  appDeploymentId = other42.appDeploymentId;
+  appModuleId = other42.appModuleId;
+  computeHostId = other42.computeHostId;
+  executablePath = other42.executablePath;
+  parallelism = other42.parallelism;
+  appDeploymentDescription = other42.appDeploymentDescription;
+  moduleLoadCmds = other42.moduleLoadCmds;
+  libPrependPaths = other42.libPrependPaths;
+  libAppendPaths = other42.libAppendPaths;
+  setEnvironment = other42.setEnvironment;
+  preJobCommands = other42.preJobCommands;
+  postJobCommands = other42.postJobCommands;
+  __isset = other42.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ApplicationDeploymentDescription& obj) {
+  using apache::thrift::to_string;
+  out << "ApplicationDeploymentDescription(";
+  out << "appDeploymentId=" << to_string(obj.appDeploymentId);
+  out << ", " << "appModuleId=" << to_string(obj.appModuleId);
+  out << ", " << "computeHostId=" << to_string(obj.computeHostId);
+  out << ", " << "executablePath=" << to_string(obj.executablePath);
+  out << ", " << "parallelism=" << to_string(obj.parallelism);
+  out << ", " << "appDeploymentDescription="; (obj.__isset.appDeploymentDescription ? (out << to_string(obj.appDeploymentDescription)) : (out << "<null>"));
+  out << ", " << "moduleLoadCmds="; (obj.__isset.moduleLoadCmds ? (out << to_string(obj.moduleLoadCmds)) : (out << "<null>"));
+  out << ", " << "libPrependPaths="; (obj.__isset.libPrependPaths ? (out << to_string(obj.libPrependPaths)) : (out << "<null>"));
+  out << ", " << "libAppendPaths="; (obj.__isset.libAppendPaths ? (out << to_string(obj.libAppendPaths)) : (out << "<null>"));
+  out << ", " << "setEnvironment="; (obj.__isset.setEnvironment ? (out << to_string(obj.setEnvironment)) : (out << "<null>"));
+  out << ", " << "preJobCommands="; (obj.__isset.preJobCommands ? (out << to_string(obj.preJobCommands)) : (out << "<null>"));
+  out << ", " << "postJobCommands="; (obj.__isset.postJobCommands ? (out << to_string(obj.postJobCommands)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
new file mode 100644
index 0000000..f4bbb61
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_deployment_model_types.h
@@ -0,0 +1,284 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef application_deployment_model_TYPES_H
+#define application_deployment_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavata_commons_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
+
+struct ApplicationParallelismType {
+  enum type {
+    SERIAL = 0,
+    MPI = 1,
+    OPENMP = 2,
+    OPENMP_MPI = 3
+  };
+};
+
+extern const std::map<int, const char*> _ApplicationParallelismType_VALUES_TO_NAMES;
+
+class SetEnvPaths;
+
+class ApplicationModule;
+
+class ApplicationDeploymentDescription;
+
+
+class SetEnvPaths {
+ public:
+
+  static const char* ascii_fingerprint; // = "07A9615F837F7D0A952B595DD3020972";
+  static const uint8_t binary_fingerprint[16]; // = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
+
+  SetEnvPaths(const SetEnvPaths&);
+  SetEnvPaths& operator=(const SetEnvPaths&);
+  SetEnvPaths() : name(), value() {
+  }
+
+  virtual ~SetEnvPaths() throw();
+  std::string name;
+  std::string value;
+
+  void __set_name(const std::string& val);
+
+  void __set_value(const std::string& val);
+
+  bool operator == (const SetEnvPaths & rhs) const
+  {
+    if (!(name == rhs.name))
+      return false;
+    if (!(value == rhs.value))
+      return false;
+    return true;
+  }
+  bool operator != (const SetEnvPaths &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const SetEnvPaths & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const SetEnvPaths& obj);
+};
+
+void swap(SetEnvPaths &a, SetEnvPaths &b);
+
+typedef struct _ApplicationModule__isset {
+  _ApplicationModule__isset() : appModuleVersion(false), appModuleDescription(false) {}
+  bool appModuleVersion :1;
+  bool appModuleDescription :1;
+} _ApplicationModule__isset;
+
+class ApplicationModule {
+ public:
+
+  static const char* ascii_fingerprint; // = "FED0FBEAA0C90D1589E8B650561B7675";
+  static const uint8_t binary_fingerprint[16]; // = {0xFE,0xD0,0xFB,0xEA,0xA0,0xC9,0x0D,0x15,0x89,0xE8,0xB6,0x50,0x56,0x1B,0x76,0x75};
+
+  ApplicationModule(const ApplicationModule&);
+  ApplicationModule& operator=(const ApplicationModule&);
+  ApplicationModule() : appModuleId("DO_NOT_SET_AT_CLIENTS"), appModuleName(), appModuleVersion(), appModuleDescription() {
+  }
+
+  virtual ~ApplicationModule() throw();
+  std::string appModuleId;
+  std::string appModuleName;
+  std::string appModuleVersion;
+  std::string appModuleDescription;
+
+  _ApplicationModule__isset __isset;
+
+  void __set_appModuleId(const std::string& val);
+
+  void __set_appModuleName(const std::string& val);
+
+  void __set_appModuleVersion(const std::string& val);
+
+  void __set_appModuleDescription(const std::string& val);
+
+  bool operator == (const ApplicationModule & rhs) const
+  {
+    if (!(appModuleId == rhs.appModuleId))
+      return false;
+    if (!(appModuleName == rhs.appModuleName))
+      return false;
+    if (__isset.appModuleVersion != rhs.__isset.appModuleVersion)
+      return false;
+    else if (__isset.appModuleVersion && !(appModuleVersion == rhs.appModuleVersion))
+      return false;
+    if (__isset.appModuleDescription != rhs.__isset.appModuleDescription)
+      return false;
+    else if (__isset.appModuleDescription && !(appModuleDescription == rhs.appModuleDescription))
+      return false;
+    return true;
+  }
+  bool operator != (const ApplicationModule &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ApplicationModule & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ApplicationModule& obj);
+};
+
+void swap(ApplicationModule &a, ApplicationModule &b);
+
+typedef struct _ApplicationDeploymentDescription__isset {
+  _ApplicationDeploymentDescription__isset() : appDeploymentDescription(false), moduleLoadCmds(false), libPrependPaths(false), libAppendPaths(false), setEnvironment(false), preJobCommands(false), postJobCommands(false) {}
+  bool appDeploymentDescription :1;
+  bool moduleLoadCmds :1;
+  bool libPrependPaths :1;
+  bool libAppendPaths :1;
+  bool setEnvironment :1;
+  bool preJobCommands :1;
+  bool postJobCommands :1;
+} _ApplicationDeploymentDescription__isset;
+
+class ApplicationDeploymentDescription {
+ public:
+
+  static const char* ascii_fingerprint; // = "3B2F93AE9F0E6A621AF867419ADD9E5A";
+  static const uint8_t binary_fingerprint[16]; // = {0x3B,0x2F,0x93,0xAE,0x9F,0x0E,0x6A,0x62,0x1A,0xF8,0x67,0x41,0x9A,0xDD,0x9E,0x5A};
+
+  ApplicationDeploymentDescription(const ApplicationDeploymentDescription&);
+  ApplicationDeploymentDescription& operator=(const ApplicationDeploymentDescription&);
+  ApplicationDeploymentDescription() : appDeploymentId("DO_NOT_SET_AT_CLIENTS"), appModuleId(), computeHostId(), executablePath(), parallelism((ApplicationParallelismType::type)0), appDeploymentDescription() {
+    parallelism = (ApplicationParallelismType::type)0;
+
+  }
+
+  virtual ~ApplicationDeploymentDescription() throw();
+  std::string appDeploymentId;
+  std::string appModuleId;
+  std::string computeHostId;
+  std::string executablePath;
+  ApplicationParallelismType::type parallelism;
+  std::string appDeploymentDescription;
+  std::vector<std::string>  moduleLoadCmds;
+  std::vector<SetEnvPaths>  libPrependPaths;
+  std::vector<SetEnvPaths>  libAppendPaths;
+  std::vector<SetEnvPaths>  setEnvironment;
+  std::vector<std::string>  preJobCommands;
+  std::vector<std::string>  postJobCommands;
+
+  _ApplicationDeploymentDescription__isset __isset;
+
+  void __set_appDeploymentId(const std::string& val);
+
+  void __set_appModuleId(const std::string& val);
+
+  void __set_computeHostId(const std::string& val);
+
+  void __set_executablePath(const std::string& val);
+
+  void __set_parallelism(const ApplicationParallelismType::type val);
+
+  void __set_appDeploymentDescription(const std::string& val);
+
+  void __set_moduleLoadCmds(const std::vector<std::string> & val);
+
+  void __set_libPrependPaths(const std::vector<SetEnvPaths> & val);
+
+  void __set_libAppendPaths(const std::vector<SetEnvPaths> & val);
+
+  void __set_setEnvironment(const std::vector<SetEnvPaths> & val);
+
+  void __set_preJobCommands(const std::vector<std::string> & val);
+
+  void __set_postJobCommands(const std::vector<std::string> & val);
+
+  bool operator == (const ApplicationDeploymentDescription & rhs) const
+  {
+    if (!(appDeploymentId == rhs.appDeploymentId))
+      return false;
+    if (!(appModuleId == rhs.appModuleId))
+      return false;
+    if (!(computeHostId == rhs.computeHostId))
+      return false;
+    if (!(executablePath == rhs.executablePath))
+      return false;
+    if (!(parallelism == rhs.parallelism))
+      return false;
+    if (__isset.appDeploymentDescription != rhs.__isset.appDeploymentDescription)
+      return false;
+    else if (__isset.appDeploymentDescription && !(appDeploymentDescription == rhs.appDeploymentDescription))
+      return false;
+    if (__isset.moduleLoadCmds != rhs.__isset.moduleLoadCmds)
+      return false;
+    else if (__isset.moduleLoadCmds && !(moduleLoadCmds == rhs.moduleLoadCmds))
+      return false;
+    if (__isset.libPrependPaths != rhs.__isset.libPrependPaths)
+      return false;
+    else if (__isset.libPrependPaths && !(libPrependPaths == rhs.libPrependPaths))
+      return false;
+    if (__isset.libAppendPaths != rhs.__isset.libAppendPaths)
+      return false;
+    else if (__isset.libAppendPaths && !(libAppendPaths == rhs.libAppendPaths))
+      return false;
+    if (__isset.setEnvironment != rhs.__isset.setEnvironment)
+      return false;
+    else if (__isset.setEnvironment && !(setEnvironment == rhs.setEnvironment))
+      return false;
+    if (__isset.preJobCommands != rhs.__isset.preJobCommands)
+      return false;
+    else if (__isset.preJobCommands && !(preJobCommands == rhs.preJobCommands))
+      return false;
+    if (__isset.postJobCommands != rhs.__isset.postJobCommands)
+      return false;
+    else if (__isset.postJobCommands && !(postJobCommands == rhs.postJobCommands))
+      return false;
+    return true;
+  }
+  bool operator != (const ApplicationDeploymentDescription &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ApplicationDeploymentDescription & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ApplicationDeploymentDescription& obj);
+};
+
+void swap(ApplicationDeploymentDescription &a, ApplicationDeploymentDescription &b);
+
+}}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.cpp
new file mode 100644
index 0000000..7669129
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "application_interface_model_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
+
+const application_interface_modelConstants g_application_interface_model_constants;
+
+application_interface_modelConstants::application_interface_modelConstants() {
+}
+
+}}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.h
new file mode 100644
index 0000000..534fb74
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef application_interface_model_CONSTANTS_H
+#define application_interface_model_CONSTANTS_H
+
+#include "application_interface_model_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
+
+class application_interface_modelConstants {
+ public:
+  application_interface_modelConstants();
+
+};
+
+extern const application_interface_modelConstants g_application_interface_model_constants;
+
+}}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.cpp
new file mode 100644
index 0000000..27ea817
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.cpp
@@ -0,0 +1,297 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "application_interface_model_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
+
+
+ApplicationInterfaceDescription::~ApplicationInterfaceDescription() throw() {
+}
+
+
+void ApplicationInterfaceDescription::__set_applicationInterfaceId(const std::string& val) {
+  this->applicationInterfaceId = val;
+}
+
+void ApplicationInterfaceDescription::__set_applicationName(const std::string& val) {
+  this->applicationName = val;
+}
+
+void ApplicationInterfaceDescription::__set_applicationDescription(const std::string& val) {
+  this->applicationDescription = val;
+__isset.applicationDescription = true;
+}
+
+void ApplicationInterfaceDescription::__set_applicationModules(const std::vector<std::string> & val) {
+  this->applicationModules = val;
+__isset.applicationModules = true;
+}
+
+void ApplicationInterfaceDescription::__set_applicationInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val) {
+  this->applicationInputs = val;
+__isset.applicationInputs = true;
+}
+
+void ApplicationInterfaceDescription::__set_applicationOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val) {
+  this->applicationOutputs = val;
+__isset.applicationOutputs = true;
+}
+
+const char* ApplicationInterfaceDescription::ascii_fingerprint = "C21011258B830B950ECA4A73DCB61630";
+const uint8_t ApplicationInterfaceDescription::binary_fingerprint[16] = {0xC2,0x10,0x11,0x25,0x8B,0x83,0x0B,0x95,0x0E,0xCA,0x4A,0x73,0xDC,0xB6,0x16,0x30};
+
+uint32_t ApplicationInterfaceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_applicationInterfaceId = false;
+  bool isset_applicationName = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationInterfaceId);
+          isset_applicationInterfaceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationName);
+          isset_applicationName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationDescription);
+          this->__isset.applicationDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->applicationModules.clear();
+            uint32_t _size0;
+            ::apache::thrift::protocol::TType _etype3;
+            xfer += iprot->readListBegin(_etype3, _size0);
+            this->applicationModules.resize(_size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              xfer += iprot->readString(this->applicationModules[_i4]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.applicationModules = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->applicationInputs.clear();
+            uint32_t _size5;
+            ::apache::thrift::protocol::TType _etype8;
+            xfer += iprot->readListBegin(_etype8, _size5);
+            this->applicationInputs.resize(_size5);
+            uint32_t _i9;
+            for (_i9 = 0; _i9 < _size5; ++_i9)
+            {
+              xfer += this->applicationInputs[_i9].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.applicationInputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->applicationOutputs.clear();
+            uint32_t _size10;
+            ::apache::thrift::protocol::TType _etype13;
+            xfer += iprot->readListBegin(_etype13, _size10);
+            this->applicationOutputs.resize(_size10);
+            uint32_t _i14;
+            for (_i14 = 0; _i14 < _size10; ++_i14)
+            {
+              xfer += this->applicationOutputs[_i14].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.applicationOutputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_applicationInterfaceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_applicationName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ApplicationInterfaceDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("ApplicationInterfaceDescription");
+
+  xfer += oprot->writeFieldBegin("applicationInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->applicationInterfaceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("applicationName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->applicationName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.applicationDescription) {
+    xfer += oprot->writeFieldBegin("applicationDescription", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->applicationDescription);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.applicationModules) {
+    xfer += oprot->writeFieldBegin("applicationModules", ::apache::thrift::protocol::T_LIST, 4);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->applicationModules.size()));
+      std::vector<std::string> ::const_iterator _iter15;
+      for (_iter15 = this->applicationModules.begin(); _iter15 != this->applicationModules.end(); ++_iter15)
+      {
+        xfer += oprot->writeString((*_iter15));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.applicationInputs) {
+    xfer += oprot->writeFieldBegin("applicationInputs", ::apache::thrift::protocol::T_LIST, 5);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationInputs.size()));
+      std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter16;
+      for (_iter16 = this->applicationInputs.begin(); _iter16 != this->applicationInputs.end(); ++_iter16)
+      {
+        xfer += (*_iter16).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.applicationOutputs) {
+    xfer += oprot->writeFieldBegin("applicationOutputs", ::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationOutputs.size()));
+      std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter17;
+      for (_iter17 = this->applicationOutputs.begin(); _iter17 != this->applicationOutputs.end(); ++_iter17)
+      {
+        xfer += (*_iter17).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(ApplicationInterfaceDescription &a, ApplicationInterfaceDescription &b) {
+  using ::std::swap;
+  swap(a.applicationInterfaceId, b.applicationInterfaceId);
+  swap(a.applicationName, b.applicationName);
+  swap(a.applicationDescription, b.applicationDescription);
+  swap(a.applicationModules, b.applicationModules);
+  swap(a.applicationInputs, b.applicationInputs);
+  swap(a.applicationOutputs, b.applicationOutputs);
+  swap(a.__isset, b.__isset);
+}
+
+ApplicationInterfaceDescription::ApplicationInterfaceDescription(const ApplicationInterfaceDescription& other18) {
+  applicationInterfaceId = other18.applicationInterfaceId;
+  applicationName = other18.applicationName;
+  applicationDescription = other18.applicationDescription;
+  applicationModules = other18.applicationModules;
+  applicationInputs = other18.applicationInputs;
+  applicationOutputs = other18.applicationOutputs;
+  __isset = other18.__isset;
+}
+ApplicationInterfaceDescription& ApplicationInterfaceDescription::operator=(const ApplicationInterfaceDescription& other19) {
+  applicationInterfaceId = other19.applicationInterfaceId;
+  applicationName = other19.applicationName;
+  applicationDescription = other19.applicationDescription;
+  applicationModules = other19.applicationModules;
+  applicationInputs = other19.applicationInputs;
+  applicationOutputs = other19.applicationOutputs;
+  __isset = other19.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const ApplicationInterfaceDescription& obj) {
+  using apache::thrift::to_string;
+  out << "ApplicationInterfaceDescription(";
+  out << "applicationInterfaceId=" << to_string(obj.applicationInterfaceId);
+  out << ", " << "applicationName=" << to_string(obj.applicationName);
+  out << ", " << "applicationDescription="; (obj.__isset.applicationDescription ? (out << to_string(obj.applicationDescription)) : (out << "<null>"));
+  out << ", " << "applicationModules="; (obj.__isset.applicationModules ? (out << to_string(obj.applicationModules)) : (out << "<null>"));
+  out << ", " << "applicationInputs="; (obj.__isset.applicationInputs ? (out << to_string(obj.applicationInputs)) : (out << "<null>"));
+  out << ", " << "applicationOutputs="; (obj.__isset.applicationOutputs ? (out << to_string(obj.applicationOutputs)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.h
new file mode 100644
index 0000000..e7c178b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_interface_model_types.h
@@ -0,0 +1,124 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef application_interface_model_TYPES_H
+#define application_interface_model_TYPES_H
+
+#include <iosfwd>
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "application_io_models_types.h"
+#include "airavata_commons_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
+
+class ApplicationInterfaceDescription;
+
+typedef struct _ApplicationInterfaceDescription__isset {
+  _ApplicationInterfaceDescription__isset() : applicationDescription(false), applicationModules(false), applicationInputs(false), applicationOutputs(false) {}
+  bool applicationDescription :1;
+  bool applicationModules :1;
+  bool applicationInputs :1;
+  bool applicationOutputs :1;
+} _ApplicationInterfaceDescription__isset;
+
+class ApplicationInterfaceDescription {
+ public:
+
+  static const char* ascii_fingerprint; // = "C21011258B830B950ECA4A73DCB61630";
+  static const uint8_t binary_fingerprint[16]; // = {0xC2,0x10,0x11,0x25,0x8B,0x83,0x0B,0x95,0x0E,0xCA,0x4A,0x73,0xDC,0xB6,0x16,0x30};
+
+  ApplicationInterfaceDescription(const ApplicationInterfaceDescription&);
+  ApplicationInterfaceDescription& operator=(const ApplicationInterfaceDescription&);
+  ApplicationInterfaceDescription() : applicationInterfaceId("DO_NOT_SET_AT_CLIENTS"), applicationName(), applicationDescription() {
+  }
+
+  virtual ~ApplicationInterfaceDescription() throw();
+  std::string applicationInterfaceId;
+  std::string applicationName;
+  std::string applicationDescription;
+  std::vector<std::string>  applicationModules;
+  std::vector< ::apache::airavata::model::application::io::InputDataObjectType>  applicationInputs;
+  std::vector< ::apache::airavata::model::application::io::OutputDataObjectType>  applicationOutputs;
+
+  _ApplicationInterfaceDescription__isset __isset;
+
+  void __set_applicationInterfaceId(const std::string& val);
+
+  void __set_applicationName(const std::string& val);
+
+  void __set_applicationDescription(const std::string& val);
+
+  void __set_applicationModules(const std::vector<std::string> & val);
+
+  void __set_applicationInputs(const std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & val);
+
+  void __set_applicationOutputs(const std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & val);
+
+  bool operator == (const ApplicationInterfaceDescription & rhs) const
+  {
+    if (!(applicationInterfaceId == rhs.applicationInterfaceId))
+      return false;
+    if (!(applicationName == rhs.applicationName))
+      return false;
+    if (__isset.applicationDescription != rhs.__isset.applicationDescription)
+      return false;
+    else if (__isset.applicationDescription && !(applicationDescription == rhs.applicationDescription))
+      return false;
+    if (__isset.applicationModules != rhs.__isset.applicationModules)
+      return false;
+    else if (__isset.applicationModules && !(applicationModules == rhs.applicationModules))
+      return false;
+    if (__isset.applicationInputs != rhs.__isset.applicationInputs)
+      return false;
+    else if (__isset.applicationInputs && !(applicationInputs == rhs.applicationInputs))
+      return false;
+    if (__isset.applicationOutputs != rhs.__isset.applicationOutputs)
+      return false;
+    else if (__isset.applicationOutputs && !(applicationOutputs == rhs.applicationOutputs))
+      return false;
+    return true;
+  }
+  bool operator != (const ApplicationInterfaceDescription &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ApplicationInterfaceDescription & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  friend std::ostream& operator<<(std::ostream& out, const ApplicationInterfaceDescription& obj);
+};
+
+void swap(ApplicationInterfaceDescription &a, ApplicationInterfaceDescription &b);
+
+}}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.cpp
new file mode 100644
index 0000000..16c91d6
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.cpp
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "application_io_models_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace application { namespace io {
+
+const application_io_modelsConstants g_application_io_models_constants;
+
+application_io_modelsConstants::application_io_modelsConstants() {
+}
+
+}}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.h
new file mode 100644
index 0000000..67902c9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_constants.h
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef application_io_models_CONSTANTS_H
+#define application_io_models_CONSTANTS_H
+
+#include "application_io_models_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace application { namespace io {
+
+class application_io_modelsConstants {
+ public:
+  application_io_modelsConstants();
+
+};
+
+extern const application_io_modelsConstants g_application_io_models_constants;
+
+}}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/dc524490/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
new file mode 100644
index 0000000..5f9aa9a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
@@ -0,0 +1,637 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "application_io_models_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace application { namespace io {
+
+int _kDataTypeValues[] = {
+  DataType::STRING,
+  DataType::INTEGER,
+  DataType::FLOAT,
+  DataType::URI,
+  DataType::STDOUT,
+  DataType::STDERR
+};
+const char* _kDataTypeNames[] = {
+  "STRING",
+  "INTEGER",
+  "FLOAT",
+  "URI",
+  "STDOUT",
+  "STDERR"
+};
+const std::map<int, const char*> _DataType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(6, _kDataTypeValues, _kDataTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+InputDataObjectType::~InputDataObjectType() throw() {
+}
+
+
+void InputDataObjectType::__set_name(const std::string& val) {
+  this->name = val;
+}
+
+void InputDataObjectType::__set_value(const std::string& val) {
+  this->value = val;
+__isset.value = true;
+}
+
+void InputDataObjectType::__set_type(const DataType::type val) {
+  this->type = val;
+__isset.type = true;
+}
+
+void InputDataObjectType::__set_applicationArgument(const std::string& val) {
+  this->applicationArgument = val;
+__isset.applicationArgument = true;
+}
+
+void InputDataObjectType::__set_standardInput(const bool val) {
+  this->standardInput = val;
+__isset.standardInput = true;
+}
+
+void InputDataObjectType::__set_userFriendlyDescription(const std::string& val) {
+  this->userFriendlyDescription = val;
+__isset.userFriendlyDescription = true;
+}
+
+void InputDataObjectType::__set_metaData(const std::string& val) {
+  this->metaData = val;
+__isset.metaData = true;
+}
+
+void InputDataObjectType::__set_inputOrder(const int32_t val) {
+  this->inputOrder = val;
+__isset.inputOrder = true;
+}
+
+void InputDataObjectType::__set_isRequired(const bool val) {
+  this->isRequired = val;
+__isset.isRequired = true;
+}
+
+void InputDataObjectType::__set_requiredToAddedToCommandLine(const bool val) {
+  this->requiredToAddedToCommandLine = val;
+__isset.requiredToAddedToCommandLine = true;
+}
+
+void InputDataObjectType::__set_dataStaged(const bool val) {
+  this->dataStaged = val;
+__isset.dataStaged = true;
+}
+
+const char* InputDataObjectType::ascii_fingerprint = "22DB8CAA7C1FBBFDD0CA6E19790BA799";
+const uint8_t InputDataObjectType::binary_fingerprint[16] = {0x22,0xDB,0x8C,0xAA,0x7C,0x1F,0xBB,0xFD,0xD0,0xCA,0x6E,0x19,0x79,0x0B,0xA7,0x99};
+
+uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_name = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->name);
+          isset_name = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->value);
+          this->__isset.value = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->type = (DataType::type)ecast0;
+          this->__isset.type = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationArgument);
+          this->__isset.applicationArgument = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->standardInput);
+          this->__isset.standardInput = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userFriendlyDescription);
+          this->__isset.userFriendlyDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->metaData);
+          this->__isset.metaData = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->inputOrder);
+          this->__isset.inputOrder = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->isRequired);
+          this->__isset.isRequired = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->requiredToAddedToCommandLine);
+          this->__isset.requiredToAddedToCommandLine = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->dataStaged);
+          this->__isset.dataStaged = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_name)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t InputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("InputDataObjectType");
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->name);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.value) {
+    xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->value);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.type) {
+    xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 3);
+    xfer += oprot->writeI32((int32_t)this->type);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.applicationArgument) {
+    xfer += oprot->writeFieldBegin("applicationArgument", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->applicationArgument);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.standardInput) {
+    xfer += oprot->writeFieldBegin("standardInput", ::apache::thrift::protocol::T_BOOL, 5);
+    xfer += oprot->writeBool(this->standardInput);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.userFriendlyDescription) {
+    xfer += oprot->writeFieldBegin("userFriendlyDescription", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->userFriendlyDescription);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.metaData) {
+    xfer += oprot->writeFieldBegin("metaData", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->metaData);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.inputOrder) {
+    xfer += oprot->writeFieldBegin("inputOrder", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeI32(this->inputOrder);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.isRequired) {
+    xfer += oprot->writeFieldBegin("isRequired", ::apache::thrift::protocol::T_BOOL, 9);
+    xfer += oprot->writeBool(this->isRequired);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.requiredToAddedToCommandLine) {
+    xfer += oprot->writeFieldBegin("requiredToAddedToCommandLine", ::apache::thrift::protocol::T_BOOL, 10);
+    xfer += oprot->writeBool(this->requiredToAddedToCommandLine);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.dataStaged) {
+    xfer += oprot->writeFieldBegin("dataStaged", ::apache::thrift::protocol::T_BOOL, 11);
+    xfer += oprot->writeBool(this->dataStaged);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(InputDataObjectType &a, InputDataObjectType &b) {
+  using ::std::swap;
+  swap(a.name, b.name);
+  swap(a.value, b.value);
+  swap(a.type, b.type);
+  swap(a.applicationArgument, b.applicationArgument);
+  swap(a.standardInput, b.standardInput);
+  swap(a.userFriendlyDescription, b.userFriendlyDescription);
+  swap(a.metaData, b.metaData);
+  swap(a.inputOrder, b.inputOrder);
+  swap(a.isRequired, b.isRequired);
+  swap(a.requiredToAddedToCommandLine, b.requiredToAddedToCommandLine);
+  swap(a.dataStaged, b.dataStaged);
+  swap(a.__isset, b.__isset);
+}
+
+InputDataObjectType::InputDataObjectType(const InputDataObjectType& other1) {
+  name = other1.name;
+  value = other1.value;
+  type = other1.type;
+  applicationArgument = other1.applicationArgument;
+  standardInput = other1.standardInput;
+  userFriendlyDescription = other1.userFriendlyDescription;
+  metaData = other1.metaData;
+  inputOrder = other1.inputOrder;
+  isRequired = other1.isRequired;
+  requiredToAddedToCommandLine = other1.requiredToAddedToCommandLine;
+  dataStaged = other1.dataStaged;
+  __isset = other1.__isset;
+}
+InputDataObjectType& InputDataObjectType::operator=(const InputDataObjectType& other2) {
+  name = other2.name;
+  value = other2.value;
+  type = other2.type;
+  applicationArgument = other2.applicationArgument;
+  standardInput = other2.standardInput;
+  userFriendlyDescription = other2.userFriendlyDescription;
+  metaData = other2.metaData;
+  inputOrder = other2.inputOrder;
+  isRequired = other2.isRequired;
+  requiredToAddedToCommandLine = other2.requiredToAddedToCommandLine;
+  dataStaged = other2.dataStaged;
+  __isset = other2.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const InputDataObjectType& obj) {
+  using apache::thrift::to_string;
+  out << "InputDataObjectType(";
+  out << "name=" << to_string(obj.name);
+  out << ", " << "value="; (obj.__isset.value ? (out << to_string(obj.value)) : (out << "<null>"));
+  out << ", " << "type="; (obj.__isset.type ? (out << to_string(obj.type)) : (out << "<null>"));
+  out << ", " << "applicationArgument="; (obj.__isset.applicationArgument ? (out << to_string(obj.applicationArgument)) : (out << "<null>"));
+  out << ", " << "standardInput="; (obj.__isset.standardInput ? (out << to_string(obj.standardInput)) : (out << "<null>"));
+  out << ", " << "userFriendlyDescription="; (obj.__isset.userFriendlyDescription ? (out << to_string(obj.userFriendlyDescription)) : (out << "<null>"));
+  out << ", " << "metaData="; (obj.__isset.metaData ? (out << to_string(obj.metaData)) : (out << "<null>"));
+  out << ", " << "inputOrder="; (obj.__isset.inputOrder ? (out << to_string(obj.inputOrder)) : (out << "<null>"));
+  out << ", " << "isRequired="; (obj.__isset.isRequired ? (out << to_string(obj.isRequired)) : (out << "<null>"));
+  out << ", " << "requiredToAddedToCommandLine="; (obj.__isset.requiredToAddedToCommandLine ? (out << to_string(obj.requiredToAddedToCommandLine)) : (out << "<null>"));
+  out << ", " << "dataStaged="; (obj.__isset.dataStaged ? (out << to_string(obj.dataStaged)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+
+OutputDataObjectType::~OutputDataObjectType() throw() {
+}
+
+
+void OutputDataObjectType::__set_name(const std::string& val) {
+  this->name = val;
+}
+
+void OutputDataObjectType::__set_value(const std::string& val) {
+  this->value = val;
+__isset.value = true;
+}
+
+void OutputDataObjectType::__set_type(const DataType::type val) {
+  this->type = val;
+__isset.type = true;
+}
+
+void OutputDataObjectType::__set_applicationArgument(const std::string& val) {
+  this->applicationArgument = val;
+__isset.applicationArgument = true;
+}
+
+void OutputDataObjectType::__set_isRequired(const bool val) {
+  this->isRequired = val;
+__isset.isRequired = true;
+}
+
+void OutputDataObjectType::__set_requiredToAddedToCommandLine(const bool val) {
+  this->requiredToAddedToCommandLine = val;
+__isset.requiredToAddedToCommandLine = true;
+}
+
+void OutputDataObjectType::__set_dataMovement(const bool val) {
+  this->dataMovement = val;
+__isset.dataMovement = true;
+}
+
+void OutputDataObjectType::__set_location(const std::string& val) {
+  this->location = val;
+__isset.location = true;
+}
+
+void OutputDataObjectType::__set_searchQuery(const std::string& val) {
+  this->searchQuery = val;
+__isset.searchQuery = true;
+}
+
+const char* OutputDataObjectType::ascii_fingerprint = "3259D81CA906AEEBC4D76ED47386A18B";
+const uint8_t OutputDataObjectType::binary_fingerprint[16] = {0x32,0x59,0xD8,0x1C,0xA9,0x06,0xAE,0xEB,0xC4,0xD7,0x6E,0xD4,0x73,0x86,0xA1,0x8B};
+
+uint32_t OutputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_name = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->name);
+          isset_name = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->value);
+          this->__isset.value = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast3;
+          xfer += iprot->readI32(ecast3);
+          this->type = (DataType::type)ecast3;
+          this->__isset.type = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationArgument);
+          this->__isset.applicationArgument = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->isRequired);
+          this->__isset.isRequired = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->requiredToAddedToCommandLine);
+          this->__isset.requiredToAddedToCommandLine = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->dataMovement);
+          this->__isset.dataMovement = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->location);
+          this->__isset.location = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->searchQuery);
+          this->__isset.searchQuery = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_name)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t OutputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  oprot->incrementRecursionDepth();
+  xfer += oprot->writeStructBegin("OutputDataObjectType");
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->name);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.value) {
+    xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->value);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.type) {
+    xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 3);
+    xfer += oprot->writeI32((int32_t)this->type);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.applicationArgument) {
+    xfer += oprot->writeFieldBegin("applicationArgument", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->applicationArgument);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.isRequired) {
+    xfer += oprot->writeFieldBegin("isRequired", ::apache::thrift::protocol::T_BOOL, 5);
+    xfer += oprot->writeBool(this->isRequired);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.requiredToAddedToCommandLine) {
+    xfer += oprot->writeFieldBegin("requiredToAddedToCommandLine", ::apache::thrift::protocol::T_BOOL, 6);
+    xfer += oprot->writeBool(this->requiredToAddedToCommandLine);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.dataMovement) {
+    xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_BOOL, 7);
+    xfer += oprot->writeBool(this->dataMovement);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.location) {
+    xfer += oprot->writeFieldBegin("location", ::apache::thrift::protocol::T_STRING, 8);
+    xfer += oprot->writeString(this->location);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.searchQuery) {
+    xfer += oprot->writeFieldBegin("searchQuery", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeString(this->searchQuery);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  oprot->decrementRecursionDepth();
+  return xfer;
+}
+
+void swap(OutputDataObjectType &a, OutputDataObjectType &b) {
+  using ::std::swap;
+  swap(a.name, b.name);
+  swap(a.value, b.value);
+  swap(a.type, b.type);
+  swap(a.applicationArgument, b.applicationArgument);
+  swap(a.isRequired, b.isRequired);
+  swap(a.requiredToAddedToCommandLine, b.requiredToAddedToCommandLine);
+  swap(a.dataMovement, b.dataMovement);
+  swap(a.location, b.location);
+  swap(a.searchQuery, b.searchQuery);
+  swap(a.__isset, b.__isset);
+}
+
+OutputDataObjectType::OutputDataObjectType(const OutputDataObjectType& other4) {
+  name = other4.name;
+  value = other4.value;
+  type = other4.type;
+  applicationArgument = other4.applicationArgument;
+  isRequired = other4.isRequired;
+  requiredToAddedToCommandLine = other4.requiredToAddedToCommandLine;
+  dataMovement = other4.dataMovement;
+  location = other4.location;
+  searchQuery = other4.searchQuery;
+  __isset = other4.__isset;
+}
+OutputDataObjectType& OutputDataObjectType::operator=(const OutputDataObjectType& other5) {
+  name = other5.name;
+  value = other5.value;
+  type = other5.type;
+  applicationArgument = other5.applicationArgument;
+  isRequired = other5.isRequired;
+  requiredToAddedToCommandLine = other5.requiredToAddedToCommandLine;
+  dataMovement = other5.dataMovement;
+  location = other5.location;
+  searchQuery = other5.searchQuery;
+  __isset = other5.__isset;
+  return *this;
+}
+std::ostream& operator<<(std::ostream& out, const OutputDataObjectType& obj) {
+  using apache::thrift::to_string;
+  out << "OutputDataObjectType(";
+  out << "name=" << to_string(obj.name);
+  out << ", " << "value="; (obj.__isset.value ? (out << to_string(obj.value)) : (out << "<null>"));
+  out << ", " << "type="; (obj.__isset.type ? (out << to_string(obj.type)) : (out << "<null>"));
+  out << ", " << "applicationArgument="; (obj.__isset.applicationArgument ? (out << to_string(obj.applicationArgument)) : (out << "<null>"));
+  out << ", " << "isRequired="; (obj.__isset.isRequired ? (out << to_string(obj.isRequired)) : (out << "<null>"));
+  out << ", " << "requiredToAddedToCommandLine="; (obj.__isset.requiredToAddedToCommandLine ? (out << to_string(obj.requiredToAddedToCommandLine)) : (out << "<null>"));
+  out << ", " << "dataMovement="; (obj.__isset.dataMovement ? (out << to_string(obj.dataMovement)) : (out << "<null>"));
+  out << ", " << "location="; (obj.__isset.location ? (out << to_string(obj.location)) : (out << "<null>"));
+  out << ", " << "searchQuery="; (obj.__isset.searchQuery ? (out << to_string(obj.searchQuery)) : (out << "<null>"));
+  out << ")";
+  return out;
+}
+
+}}}}} // namespace


[39/44] airavata git commit: fixed all compilation errors in the java client samples after the API changes.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 851ff26..5bf0a12 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -136,12 +136,13 @@ class AiravataIf {
    *   *    The starting point of the results to be fetched
    * *
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param limit
    * @param offset
    */
-  virtual void getAllUserProjectsWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) = 0;
+  virtual void getAllUserProjectsWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Get all Project for user by project name
@@ -175,13 +176,14 @@ class AiravataIf {
    * @param offset
    *    The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param projectName
    * @param limit
    * @param offset
    */
-  virtual void searchProjectsByProjectNameWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName, const int32_t limit, const int32_t offset) = 0;
+  virtual void searchProjectsByProjectNameWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& projectName, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Get all Project for user by project description
@@ -214,13 +216,14 @@ class AiravataIf {
    * @param offset
    *    The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param description
    * @param limit
    * @param offset
    */
-  virtual void searchProjectsByProjectDescWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) = 0;
+  virtual void searchProjectsByProjectDescWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Search Experiments by experiment name
@@ -256,13 +259,14 @@ class AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param expName
    * @param limit
    * @param offset
    */
-  virtual void searchExperimentsByNameWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName, const int32_t limit, const int32_t offset) = 0;
+  virtual void searchExperimentsByNameWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& expName, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Search Experiments by experiment name
@@ -297,13 +301,14 @@ class AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param description
    * @param limit
    * @param offset
    */
-  virtual void searchExperimentsByDescWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) = 0;
+  virtual void searchExperimentsByDescWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Search Experiments by application id
@@ -338,13 +343,14 @@ class AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param applicationId
    * @param limit
    * @param offset
    */
-  virtual void searchExperimentsByApplicationWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId, const int32_t limit, const int32_t offset) = 0;
+  virtual void searchExperimentsByApplicationWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& applicationId, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Search Experiments by experiment status
@@ -379,13 +385,14 @@ class AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param experimentState
    * @param limit
    * @param offset
    */
-  virtual void searchExperimentsByStatusWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::status::ExperimentState::type experimentState, const int32_t limit, const int32_t offset) = 0;
+  virtual void searchExperimentsByStatusWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::status::ExperimentState::type experimentState, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Search Experiments by experiment creation time
@@ -425,6 +432,7 @@ class AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param fromTime
@@ -432,7 +440,7 @@ class AiravataIf {
    * @param limit
    * @param offset
    */
-  virtual void searchExperimentsByCreationTimeWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime, const int32_t limit, const int32_t offset) = 0;
+  virtual void searchExperimentsByCreationTimeWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
@@ -449,13 +457,14 @@ class AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param filters
    * @param limit
    * @param offset
    */
-  virtual void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset) = 0;
+  virtual void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Get Experiment Statisitics for the given gateway for a specific time period
@@ -467,11 +476,12 @@ class AiravataIf {
    *       Ending data time
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param fromTime
    * @param toTime
    */
-  virtual void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime) = 0;
+  virtual void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime) = 0;
 
   /**
    * Get all Experiments within a Project
@@ -496,11 +506,12 @@ class AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param projectId
    * @param limit
    * @param offset
    */
-  virtual void getAllExperimentsInProjectWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const std::string& projectId, const int32_t limit, const int32_t offset) = 0;
+  virtual void getAllExperimentsInProjectWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Get all Experiments by user
@@ -530,12 +541,13 @@ class AiravataIf {
    * @param offset
    *       The starting point of the results to be fetched
    * 
+   * @param authzToken
    * @param gatewayId
    * @param userName
    * @param limit
    * @param offset
    */
-  virtual void getAllUserExperimentsWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) = 0;
+  virtual void getAllUserExperimentsWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
@@ -572,10 +584,11 @@ class AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param experiment
    */
-  virtual void createExperiment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment) = 0;
+  virtual void createExperiment(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment) = 0;
 
   /**
    * Fetch previously created experiment metadata.
@@ -610,9 +623,10 @@ class AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param airavataExperimentId
    */
-  virtual void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const std::string& airavataExperimentId) = 0;
+  virtual void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
 
   /**
    * Configure a previously created experiment with required inputs, scheduling and other quality of service
@@ -653,12 +667,13 @@ class AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param airavataExperimentId
    * @param experiment
    */
-  virtual void updateExperiment(const std::string& airavataExperimentId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment) = 0;
-  virtual void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::apache::airavata::model::experiment::UserConfigurationDataModel& userConfiguration) = 0;
-  virtual void updateResourceScheduleing(const std::string& airavataExperimentId, const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& resourceScheduling) = 0;
+  virtual void updateExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const  ::apache::airavata::model::experiment::ExperimentModel& experiment) = 0;
+  virtual void updateExperimentConfiguration(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const  ::apache::airavata::model::experiment::UserConfigurationDataModel& userConfiguration) = 0;
+  virtual void updateResourceScheduleing(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& resourceScheduling) = 0;
 
   /**
    *  *
@@ -669,9 +684,10 @@ class AiravataIf {
    *  *
    * *
    * 
+   * @param authzToken
    * @param airavataExperimentId
    */
-  virtual bool validateExperiment(const std::string& airavataExperimentId) = 0;
+  virtual bool validateExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
 
   /**
    * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
@@ -716,15 +732,16 @@ class AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param airavataExperimentId
    * @param airavataCredStoreToken
    */
-  virtual void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) = 0;
-  virtual void getExperimentStatus( ::apache::airavata::model::status::ExperimentStatus& _return, const std::string& airavataExperimentId) = 0;
-  virtual void getExperimentOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const std::string& airavataExperimentId) = 0;
-  virtual void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const std::string& airavataExperimentId) = 0;
-  virtual void getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return, const std::string& airavataExperimentId) = 0;
-  virtual void getJobDetails(std::vector< ::apache::airavata::model::job::JobModel> & _return, const std::string& airavataExperimentId) = 0;
+  virtual void launchExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) = 0;
+  virtual void getExperimentStatus( ::apache::airavata::model::status::ExperimentStatus& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
+  virtual void getExperimentOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
+  virtual void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
+  virtual void getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
+  virtual void getJobDetails(std::vector< ::apache::airavata::model::job::JobModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
 
   /**
    * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
@@ -765,10 +782,11 @@ class AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param existingExperimentID
    * @param newExperimentName
    */
-  virtual void cloneExperiment(std::string& _return, const std::string& existingExperimentID, const std::string& newExperimentName) = 0;
+  virtual void cloneExperiment(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& existingExperimentID, const std::string& newExperimentName) = 0;
 
   /**
    * Terminate a running experiment.
@@ -803,10 +821,11 @@ class AiravataIf {
    *       rather an Airavata Administrator will be notified to take corrective action.
    * 
    * 
+   * @param authzToken
    * @param airavataExperimentId
    * @param tokenId
    */
-  virtual void terminateExperiment(const std::string& airavataExperimentId, const std::string& tokenId) = 0;
+  virtual void terminateExperiment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::string& tokenId) = 0;
 
   /**
    * Register a Application Module.
@@ -818,10 +837,11 @@ class AiravataIf {
    *   Returns a server-side generated airavata appModule globally unique identifier.
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param applicationModule
    */
-  virtual void registerApplicationModule(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
+  virtual void registerApplicationModule(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
 
   /**
    * Fetch a Application Module.
@@ -833,9 +853,10 @@ class AiravataIf {
    *   Returns a application Module Object.
    * 
    * 
+   * @param authzToken
    * @param appModuleId
    */
-  virtual void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const std::string& appModuleId) = 0;
+  virtual void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId) = 0;
 
   /**
    * Update a Application Module.
@@ -850,11 +871,12 @@ class AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param appModuleId
    * @param applicationModule
    */
-  virtual bool updateApplicationModule(const std::string& appModuleId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
-  virtual void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const std::string& gatewayId) = 0;
+  virtual bool updateApplicationModule(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
+  virtual void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
 
   /**
    * Delete a Application Module.
@@ -866,9 +888,10 @@ class AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param appModuleId
    */
-  virtual bool deleteApplicationModule(const std::string& appModuleId) = 0;
+  virtual bool deleteApplicationModule(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId) = 0;
 
   /**
    * Register a Application Deployment.
@@ -880,10 +903,11 @@ class AiravataIf {
    *   Returns a server-side generated airavata appDeployment globally unique identifier.
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param applicationDeployment
    */
-  virtual void registerApplicationDeployment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
+  virtual void registerApplicationDeployment(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
 
   /**
    * Fetch a Application Deployment.
@@ -895,9 +919,10 @@ class AiravataIf {
    *   Returns a application Deployment Object.
    * 
    * 
+   * @param authzToken
    * @param appDeploymentId
    */
-  virtual void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const std::string& appDeploymentId) = 0;
+  virtual void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appDeploymentId) = 0;
 
   /**
    * Update a Application Deployment.
@@ -912,10 +937,11 @@ class AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param appDeploymentId
    * @param applicationDeployment
    */
-  virtual bool updateApplicationDeployment(const std::string& appDeploymentId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
+  virtual bool updateApplicationDeployment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appDeploymentId, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
 
   /**
    * Delete a Application deployment.
@@ -927,9 +953,10 @@ class AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param appDeploymentId
    */
-  virtual bool deleteApplicationDeployment(const std::string& appDeploymentId) = 0;
+  virtual bool deleteApplicationDeployment(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appDeploymentId) = 0;
 
   /**
    * Fetch all Application Deployment Descriptions.
@@ -938,9 +965,10 @@ class AiravataIf {
    *   Returns the list of all application Deployment Objects.
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    */
-  virtual void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return, const std::string& gatewayId) = 0;
+  virtual void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
 
   /**
    * Fetch a list of Deployed Compute Hosts.
@@ -952,9 +980,10 @@ class AiravataIf {
    *   Returns a list of Deployed Resources.
    * 
    * 
+   * @param authzToken
    * @param appModuleId
    */
-  virtual void getAppModuleDeployedResources(std::vector<std::string> & _return, const std::string& appModuleId) = 0;
+  virtual void getAppModuleDeployedResources(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appModuleId) = 0;
 
   /**
    * Register a Application Interface.
@@ -966,10 +995,11 @@ class AiravataIf {
    *   Returns a server-side generated airavata application interface globally unique identifier.
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    * @param applicationInterface
    */
-  virtual void registerApplicationInterface(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
+  virtual void registerApplicationInterface(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
 
   /**
    * Fetch a Application Interface.
@@ -982,9 +1012,10 @@ class AiravataIf {
    * 
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    */
-  virtual void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const std::string& appInterfaceId) = 0;
+  virtual void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) = 0;
 
   /**
    * Update a Application Interface.
@@ -1000,10 +1031,11 @@ class AiravataIf {
    * 
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    * @param applicationInterface
    */
-  virtual bool updateApplicationInterface(const std::string& appInterfaceId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
+  virtual bool updateApplicationInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
 
   /**
    * Delete a Application Interface.
@@ -1016,9 +1048,10 @@ class AiravataIf {
    * 
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    */
-  virtual bool deleteApplicationInterface(const std::string& appInterfaceId) = 0;
+  virtual bool deleteApplicationInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) = 0;
 
   /**
    * Fetch name and id of  Application Interface documents.
@@ -1028,9 +1061,10 @@ class AiravataIf {
    *   Returns a list of application interfaces with corresponsing id's
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    */
-  virtual void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const std::string& gatewayId) = 0;
+  virtual void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
 
   /**
    * Fetch all Application Interface documents.
@@ -1040,9 +1074,10 @@ class AiravataIf {
    *   Returns a list of application interfaces documents
    * 
    * 
+   * @param authzToken
    * @param gatewayId
    */
-  virtual void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const std::string& gatewayId) = 0;
+  virtual void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
 
   /**
    * Fetch the list of Application Inputs.
@@ -1054,9 +1089,10 @@ class AiravataIf {
    *   Returns a list of application inputs.
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    */
-  virtual void getApplicationInputs(std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & _return, const std::string& appInterfaceId) = 0;
+  virtual void getApplicationInputs(std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) = 0;
 
   /**
    * Fetch the list of Application Outputs.
@@ -1068,9 +1104,10 @@ class AiravataIf {
    *   Returns a list of application outputs.
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    */
-  virtual void getApplicationOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const std::string& appInterfaceId) = 0;
+  virtual void getApplicationOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) = 0;
 
   /**
    * Fetch a list of all deployed Compute Hosts for a given application interfaces.
@@ -1083,9 +1120,10 @@ class AiravataIf {
    *    Deployments of each modules listed within the interfaces will be listed.
    * 
    * 
+   * @param authzToken
    * @param appInterfaceId
    */
-  virtual void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) = 0;
+  virtual void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& appInterfaceId) = 0;
 
   /**
    * Register a Compute Resource.
@@ -1097,9 +1135,10 @@ class AiravataIf {
    *   Returns a server-side generated airavata compute resource globally unique identifier.
    * 
    * 
+   * @param authzToken
    * @param computeResourceDescription
    */
-  virtual void registerComputeResource(std::string& _return, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0;
+  virtual void registerComputeResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0;
 
   /**
    * Fetch the given Compute Resource.
@@ -1111,9 +1150,10 @@ class AiravataIf {
    *    Compute Resource Object created from the datamodel..
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    */
-  virtual void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const std::string& computeResourceId) = 0;
+  virtual void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId) = 0;
 
   /**
    * Fetch all registered Compute Resources.
@@ -1121,8 +1161,10 @@ class AiravataIf {
    * @return A map of registered compute resource id's and thier corresponding hostnames.
    *    Compute Resource Object created from the datamodel..
    * 
+   * 
+   * @param authzToken
    */
-  virtual void getAllComputeResourceNames(std::map<std::string, std::string> & _return) = 0;
+  virtual void getAllComputeResourceNames(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken) = 0;
 
   /**
    * Update a Compute Resource.
@@ -1137,10 +1179,11 @@ class AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param computeResourceDescription
    */
-  virtual bool updateComputeResource(const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0;
+  virtual bool updateComputeResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0;
 
   /**
    * Delete a Compute Resource.
@@ -1152,9 +1195,10 @@ class AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    */
-  virtual bool deleteComputeResource(const std::string& computeResourceId) = 0;
+  virtual bool deleteComputeResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId) = 0;
 
   /**
    * Add a Local Job Submission details to a compute resource
@@ -1173,11 +1217,12 @@ class AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param localSubmission
    */
-  virtual void addLocalSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) = 0;
+  virtual void addLocalSubmissionDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) = 0;
 
   /**
    * Update the given Local Job Submission details
@@ -1192,10 +1237,11 @@ class AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionInterfaceId
    * @param localSubmission
    */
-  virtual bool updateLocalSubmissionDetails(const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) = 0;
+  virtual bool updateLocalSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) = 0;
 
   /**
    * This method returns localJobSubmission object
@@ -1204,9 +1250,10 @@ class AiravataIf {
    *  @return LOCALSubmission instance
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionId
    */
-  virtual void getLocalJobSubmission( ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& _return, const std::string& jobSubmissionId) = 0;
+  virtual void getLocalJobSubmission( ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) = 0;
 
   /**
    * Add a SSH Job Submission details to a compute resource
@@ -1225,11 +1272,12 @@ class AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param sshJobSubmission
    */
-  virtual void addSSHJobSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0;
+  virtual void addSSHJobSubmissionDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0;
 
   /**
    * This method returns SSHJobSubmission object
@@ -1238,9 +1286,10 @@ class AiravataIf {
    *  @return SSHJobSubmission instance
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionId
    */
-  virtual void getSSHJobSubmission( ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& _return, const std::string& jobSubmissionId) = 0;
+  virtual void getSSHJobSubmission( ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) = 0;
 
   /**
    * Add a UNICORE Job Submission details to a compute resource
@@ -1259,11 +1308,12 @@ class AiravataIf {
    *  Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param unicoreJobSubmission
    */
-  virtual void addUNICOREJobSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) = 0;
+  virtual void addUNICOREJobSubmissionDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) = 0;
 
   /**
    *   * This method returns UnicoreJobSubmission object
@@ -1272,9 +1322,10 @@ class AiravataIf {
    *   *  @return UnicoreJobSubmission instance
    * *
    * 
+   * @param authzToken
    * @param jobSubmissionId
    */
-  virtual void getUnicoreJobSubmission( ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& _return, const std::string& jobSubmissionId) = 0;
+  virtual void getUnicoreJobSubmission( ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) = 0;
 
   /**
    *    * Add a Cloud Job Submission details to a compute resource
@@ -1293,11 +1344,12 @@ class AiravataIf {
    *    *   Returns the unique job submission id.
    * *
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param cloudSubmission
    */
-  virtual void addCloudJobSubmissionDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& cloudSubmission) = 0;
+  virtual void addCloudJobSubmissionDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& cloudSubmission) = 0;
 
   /**
    *    * This method returns cloudJobSubmission object
@@ -1306,9 +1358,10 @@ class AiravataIf {
    *    *  @return CloudJobSubmission instance
    * *
    * 
+   * @param authzToken
    * @param jobSubmissionId
    */
-  virtual void getCloudJobSubmission( ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& _return, const std::string& jobSubmissionId) = 0;
+  virtual void getCloudJobSubmission( ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionId) = 0;
 
   /**
    * Update the given SSH Job Submission details
@@ -1323,13 +1376,14 @@ class AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionInterfaceId
    * @param sshJobSubmission
    */
-  virtual bool updateSSHJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0;
+  virtual bool updateSSHJobSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0;
 
   /**
-   * Update the given SSH Job Submission details
+   * Update the cloud Job Submission details
    * 
    * @param jobSubmissionInterfaceId
    *   The identifier of the JobSubmission Interface to be updated.
@@ -1341,11 +1395,12 @@ class AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionInterfaceId
    * @param sshJobSubmission
    */
-  virtual bool updateCloudJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& sshJobSubmission) = 0;
-  virtual bool updateUnicoreJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) = 0;
+  virtual bool updateCloudJobSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::CloudJobSubmission& sshJobSubmission) = 0;
+  virtual bool updateUnicoreJobSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission) = 0;
 
   /**
    * Add a Local data movement details to a compute resource
@@ -1364,11 +1419,12 @@ class AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param localDataMovement
    */
-  virtual void addLocalDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) = 0;
+  virtual void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) = 0;
 
   /**
    * Update the given Local data movement details
@@ -1383,10 +1439,11 @@ class AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param dataMovementInterfaceId
    * @param localDataMovement
    */
-  virtual bool updateLocalDataMovementDetails(const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) = 0;
+  virtual bool updateLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) = 0;
 
   /**
    *         * This method returns local datamovement object
@@ -1395,9 +1452,10 @@ class AiravataIf {
    *         *  @return LOCALDataMovement instance
    * *
    * 
+   * @param authzToken
    * @param dataMovementId
    */
-  virtual void getLocalDataMovement( ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& _return, const std::string& dataMovementId) = 0;
+  virtual void getLocalDataMovement( ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) = 0;
 
   /**
    * Add a SCP data movement details to a compute resource
@@ -1416,11 +1474,12 @@ class AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param scpDataMovement
    */
-  virtual void addSCPDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) = 0;
+  virtual void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) = 0;
 
   /**
    * Update the given scp data movement details
@@ -1436,10 +1495,11 @@ class AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param dataMovementInterfaceId
    * @param scpDataMovement
    */
-  virtual bool updateSCPDataMovementDetails(const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) = 0;
+  virtual bool updateSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) = 0;
 
   /**
    *   * This method returns SCP datamovement object
@@ -1448,12 +1508,13 @@ class AiravataIf {
    *      *  @return SCPDataMovement instance
    * *
    * 
+   * @param authzToken
    * @param dataMovementId
    */
-  virtual void getSCPDataMovement( ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& _return, const std::string& dataMovementId) = 0;
-  virtual void addUnicoreDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& unicoreDataMovement) = 0;
-  virtual bool updateUnicoreDataMovementDetails(const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& unicoreDataMovement) = 0;
-  virtual void getUnicoreDataMovement( ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& _return, const std::string& dataMovementId) = 0;
+  virtual void getSCPDataMovement( ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) = 0;
+  virtual void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& unicoreDataMovement) = 0;
+  virtual bool updateUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& unicoreDataMovement) = 0;
+  virtual void getUnicoreDataMovement( ::apache::airavata::model::appcatalog::computeresource::UnicoreDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) = 0;
 
   /**
    * Add a GridFTP data movement details to a compute resource
@@ -1472,11 +1533,12 @@ class AiravataIf {
    *   Returns the unique job submission id.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param priorityOrder
    * @param gridFTPDataMovement
    */
-  virtual void addGridFTPDataMovementDetails(std::string& _return, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) = 0;
+  virtual void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const int32_t priorityOrder, const  ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) = 0;
 
   /**
    * Update the given GridFTP data movement details to a compute resource
@@ -1492,10 +1554,11 @@ class AiravataIf {
    *   Returns a success/failure of the updation.
    * 
    * 
+   * @param authzToken
    * @param dataMovementInterfaceId
    * @param gridFTPDataMovement
    */
-  virtual bool updateGridFTPDataMovementDetails(const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) = 0;
+  virtual bool updateGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) = 0;
 
   /**
    *   * This method returns GridFTP datamovement object
@@ -1504,9 +1567,10 @@ class AiravataIf {
    *   *  @return GridFTPDataMovement instance
    * *
    * 
+   * @param authzToken
    * @param dataMovementId
    */
-  virtual void getGridFTPDataMovement( ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& _return, const std::string& dataMovementId) = 0;
+  virtual void getGridFTPDataMovement( ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId) = 0;
 
   /**
    * Change the priority of a given job submisison interface
@@ -1521,10 +1585,11 @@ class AiravataIf {
    *   Returns a success/failure of the change.
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionInterfaceId
    * @param newPriorityOrder
    */
-  virtual bool changeJobSubmissionPriority(const std::string& jobSubmissionInterfaceId, const int32_t newPriorityOrder) = 0;
+  virtual bool changeJobSubmissionPriority(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const int32_t newPriorityOrder) = 0;
 
   /**
    * Change the priority of a given data movement interface
@@ -1539,10 +1604,11 @@ class AiravataIf {
    *   Returns a success/failure of the change.
    * 
    * 
+   * @param authzToken
    * @param dataMovementInterfaceId
    * @param newPriorityOrder
    */
-  virtual bool changeDataMovementPriority(const std::string& dataMovementInterfaceId, const int32_t newPriorityOrder) = 0;
+  virtual bool changeDataMovementPriority(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const int32_t newPriorityOrder) = 0;
 
   /**
    * Change the priorities of a given set of job submission interfaces
@@ -1554,9 +1620,10 @@ class AiravataIf {
    *   Returns a success/failure of the changes.
    * 
    * 
+   * @param authzToken
    * @param jobSubmissionPriorityMap
    */
-  virtual bool changeJobSubmissionPriorities(const std::map<std::string, int32_t> & jobSubmissionPriorityMap) = 0;
+  virtual bool changeJobSubmissionPriorities(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::map<std::string, int32_t> & jobSubmissionPriorityMap) = 0;
 
   /**
    * Change the priorities of a given set of data movement interfaces
@@ -1568,9 +1635,10 @@ class AiravataIf {
    *   Returns a success/failure of the changes.
    * 
    * 
+   * @param authzToken
    * @param dataMovementPriorityMap
    */
-  virtual bool changeDataMovementPriorities(const std::map<std::string, int32_t> & dataMovementPriorityMap) = 0;
+  virtual bool changeDataMovementPriorities(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::map<std::string, int32_t> & dataMovementPriorityMap) = 0;
 
   /**
    * Delete a given job submisison interface
@@ -1582,10 +1650,11 @@ class AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param jobSubmissionInterfaceId
    */
-  virtual bool deleteJobSubmissionInterface(const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId) = 0;
+  virtual bool deleteJobSubmissionInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId) = 0;
 
   /**
    * Delete a given data movement interface
@@ -1597,15 +1666,16 @@ class AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param computeResourceId
    * @param dataMovementInterfaceId
    */
-  virtual bool deleteDataMovementInterface(const std::string& computeResourceId, const std::string& dataMovementInterfaceId) = 0;
-  virtual void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager) = 0;
-  virtual bool updateResourceJobManager(const std::string& resourceJobManagerId, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& updatedResourceJobManager) = 0;
-  virtual void getResourceJobManager( ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& _return, const std::string& resourceJobManagerId) = 0;
-  virtual bool deleteResourceJobManager(const std::string& resourceJobManagerId) = 0;
-  virtual bool deleteBatchQueue(const std::string& computeResourceId, const std::string& queueName) = 0;
+  virtual bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& dataMovementInterfaceId) = 0;
+  virtual void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager) = 0;
+  virtual bool updateResourceJobManager(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceJobManagerId, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& updatedResourceJobManager) = 0;
+  virtual void getResourceJobManager( ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceJobManagerId) = 0;
+  virtual bool deleteResourceJobManager(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceJobManagerId) = 0;
+  virtual bool deleteBatchQueue(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& queueName) = 0;
 
   /**
    * Register a Gateway Resource Profile.
@@ -1619,9 +1689,10 @@ class AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param gatewayResourceProfile
    */
-  virtual void registerGatewayResourceProfile(std::string& _return, const  ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) = 0;
+  virtual void registerGatewayResourceProfile(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) = 0;
 
   /**
    * Fetch the given Gateway Resource Profile.
@@ -1633,9 +1704,10 @@ class AiravataIf {
    *    Gateway Resource Profile Object.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    */
-  virtual void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& _return, const std::string& gatewayID) = 0;
+  virtual void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID) = 0;
 
   /**
    * Update a Gateway Resource Profile.
@@ -1650,10 +1722,11 @@ class AiravataIf {
    *   Returns a success/failure of the update.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    * @param gatewayResourceProfile
    */
-  virtual bool updateGatewayResourceProfile(const std::string& gatewayID, const  ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) = 0;
+  virtual bool updateGatewayResourceProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const  ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) = 0;
 
   /**
    * Delete the given Gateway Resource Profile.
@@ -1665,9 +1738,10 @@ class AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    */
-  virtual bool deleteGatewayResourceProfile(const std::string& gatewayID) = 0;
+  virtual bool deleteGatewayResourceProfile(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID) = 0;
 
   /**
    * Add a Compute Resource Preference to a registered gateway profile.
@@ -1686,11 +1760,12 @@ class AiravataIf {
    *    Instead an update should be used.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    * @param computeResourceId
    * @param computeResourcePreference
    */
-  virtual bool addGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
+  virtual bool addGatewayComputeResourcePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
 
   /**
    * Fetch a Compute Resource Preference of a registered gateway profile.
@@ -1705,10 +1780,11 @@ class AiravataIf {
    *   Returns the ComputeResourcePreference object.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    * @param computeResourceId
    */
-  virtual void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& _return, const std::string& gatewayID, const std::string& computeResourceId) = 0;
+  virtual void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId) = 0;
 
   /**
    * Fetch all Compute Resource Preferences of a registered gateway profile.
@@ -1720,15 +1796,18 @@ class AiravataIf {
    *   Returns the ComputeResourcePreference object.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    */
-  virtual void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & _return, const std::string& gatewayID) = 0;
+  virtual void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID) = 0;
 
   /**
    * Fetch all gateway profiles registered
    * 
+   * 
+   * @param authzToken
    */
-  virtual void getAllGatewayComputeResources(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile> & _return) = 0;
+  virtual void getAllGatewayComputeResources(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken) = 0;
 
   /**
    * Update a Compute Resource Preference to a registered gateway profile.
@@ -1746,11 +1825,12 @@ class AiravataIf {
    *   Returns a success/failure of the updation.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    * @param computeResourceId
    * @param computeResourcePreference
    */
-  virtual bool updateGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
+  virtual bool updateGatewayComputeResourcePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId, const  ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
 
   /**
    * Delete the Compute Resource Preference of a registered gateway profile.
@@ -1765,17 +1845,18 @@ class AiravataIf {
    *   Returns a success/failure of the deletion.
    * 
    * 
+   * @param authzToken
    * @param gatewayID
    * @param computeResourceId
    */
-  virtual bool deleteGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId) = 0;
-  virtual void getAllWorkflows(std::vector<std::string> & _return, const std::string& gatewayId) = 0;
-  virtual void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId) = 0;
-  virtual void deleteWorkflow(const std::string& workflowTemplateId) = 0;
-  virtual void registerWorkflow(std::string& _return, const std::string& gatewayId, const  ::Workflow& workflow) = 0;
-  virtual void updateWorkflow(const std::string& workflowTemplateId, const  ::Workflow& workflow) = 0;
-  virtual void getWorkflowTemplateId(std::string& _return, const std::string& workflowName) = 0;
-  virtual bool isWorkflowExistWithName(const std::string& workflowName) = 0;
+  virtual bool deleteGatewayComputeResourcePreference(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayID, const std::string& computeResourceId) = 0;
+  virtual void getAllWorkflows(std::vector<std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId) = 0;
+  virtual void getWorkflow( ::Workflow& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) = 0;
+  virtual void deleteWorkflow(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId) = 0;
+  virtual void registerWorkflow(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::Workflow& workflow) = 0;
+  virtual void updateWorkflow(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const  ::Workflow& workflow) = 0;
+  virtual void getWorkflowTemplateId(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName) = 0;
+  virtual bool isWorkflowExistWithName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName) = 0;
 };
 
 class AiravataIfFactory {
@@ -1853,371 +1934,371 @@ class AiravataNull : virtual public AiravataIf {
   void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */) {
     return;
   }
-  void getAllUserProjectsWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const int32_t /* limit */, const int32_t /* offset */) {
+  void getAllUserProjectsWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
   void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* projectName */) {
     return;
   }
-  void searchProjectsByProjectNameWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* projectName */, const int32_t /* limit */, const int32_t /* offset */) {
+  void searchProjectsByProjectNameWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* projectName */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
   void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */) {
     return;
   }
-  void searchProjectsByProjectDescWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */, const int32_t /* limit */, const int32_t /* offset */) {
+  void searchProjectsByProjectDescWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
   void searchExperimentsByName(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* expName */) {
     return;
   }
-  void searchExperimentsByNameWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* expName */, const int32_t /* limit */, const int32_t /* offset */) {
+  void searchExperimentsByNameWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* expName */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
   void searchExperimentsByDesc(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */) {
     return;
   }
-  void searchExperimentsByDescWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */, const int32_t /* limit */, const int32_t /* offset */) {
+  void searchExperimentsByDescWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
   void searchExperimentsByApplication(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* applicationId */) {
     return;
   }
-  void searchExperimentsByApplicationWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* applicationId */, const int32_t /* limit */, const int32_t /* offset */) {
+  void searchExperimentsByApplicationWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* applicationId */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
   void searchExperimentsByStatus(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const  ::apache::airavata::model::status::ExperimentState::type /* experimentState */) {
     return;
   }
-  void searchExperimentsByStatusWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const  ::apache::airavata::model::status::ExperimentState::type /* experimentState */, const int32_t /* limit */, const int32_t /* offset */) {
+  void searchExperimentsByStatusWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const  ::apache::airavata::model::status::ExperimentState::type /* experimentState */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
   void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const int64_t /* fromTime */, const int64_t /* toTime */) {
     return;
   }
-  void searchExperimentsByCreationTimeWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const int64_t /* fromTime */, const int64_t /* toTime */, const int32_t /* limit */, const int32_t /* offset */) {
+  void searchExperimentsByCreationTimeWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const int64_t /* fromTime */, const int64_t /* toTime */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
-  void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & /* filters */, const int32_t /* limit */, const int32_t /* offset */) {
+  void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & /* filters */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
-  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& /* _return */, const std::string& /* gatewayId */, const int64_t /* fromTime */, const int64_t /* toTime */) {
+  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const int64_t /* fromTime */, const int64_t /* toTime */) {
     return;
   }
   void getAllExperimentsInProject(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & /* _return */, const std::string& /* projectId */) {
     return;
   }
-  void getAllExperimentsInProjectWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & /* _return */, const std::string& /* projectId */, const int32_t /* limit */, const int32_t /* offset */) {
+  void getAllExperimentsInProjectWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* projectId */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
   void getAllUserExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */) {
     return;
   }
-  void getAllUserExperimentsWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const int32_t /* limit */, const int32_t /* offset */) {
+  void getAllUserExperimentsWithPagination(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
-  void createExperiment(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::experiment::ExperimentModel& /* experiment */) {
+  void createExperiment(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const  ::apache::airavata::model::experiment::ExperimentModel& /* experiment */) {
     return;
   }
-  void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& /* _return */, const std::string& /* airavataExperimentId */) {
+  void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
     return;
   }
-  void updateExperiment(const std::string& /* airavataExperimentId */, const  ::apache::airavata::model::experiment::ExperimentModel& /* experiment */) {
+  void updateExperiment(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */, const  ::apache::airavata::model::experiment::ExperimentModel& /* experiment */) {
     return;
   }
-  void updateExperimentConfiguration(const std::string& /* airavataExperimentId */, const  ::apache::airavata::model::experiment::UserConfigurationDataModel& /* userConfiguration */) {
+  void updateExperimentConfiguration(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */, const  ::apache::airavata::model::experiment::UserConfigurationDataModel& /* userConfiguration */) {
     return;
   }
-  void updateResourceScheduleing(const std::string& /* airavataExperimentId */, const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& /* resourceScheduling */) {
+  void updateResourceScheduleing(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */, const  ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel& /* resourceScheduling */) {
     return;
   }
-  bool validateExperiment(const std::string& /* airavataExperimentId */) {
+  bool validateExperiment(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
     bool _return = false;
     return _return;
   }
-  void launchExperiment(const std::string& /* airavataExperimentId */, const std::string& /* airavataCredStoreToken */) {
+  void launchExperiment(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */, const std::string& /* airavataCredStoreToken */) {
     return;
   }
-  void getExperimentStatus( ::apache::airavata::model::status::ExperimentStatus& /* _return */, const std::string& /* airavataExperimentId */) {
+  void getExperimentStatus( ::apache::airavata::model::status::ExperimentStatus& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
     return;
   }
-  void getExperimentOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & /* _return */, const std::string& /* airavataExperimentId */) {
+  void getExperimentOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
     return;
   }
-  void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & /* _return */, const std::string& /* airavataExperimentId */) {
+  void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
     return;
   }
-  void getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & /* _return */, const std::string& /* airavataExperimentId */) {
+  void getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
     return;
   }
-  void getJobDetails(std::vector< ::apache::airavata::model::job::JobModel> & /* _return */, const std::string& /* airavataExperimentId */) {
+  void getJobDetails(std::vector< ::apache::airavata::model::job::JobModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
     return;
   }
-  void cloneExperiment(std::string& /* _return */, const std::string& /* existingExperimentID */, const std::string& /* newExperimentName */) {
+  void cloneExperiment(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* existingExperimentID */, const std::string& /* newExperimentName */) {
     return;
   }
-  void terminateExperiment(const std::string& /* airavataExperimentId */, const std::string& /* tokenId */) {
+  void terminateExperiment(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */, const std::string& /* tokenId */) {
     return;
   }
-  void registerApplicationModule(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* applicationModule */) {
+  void registerApplicationModule(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* applicationModule */) {
     return;
   }
-  void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* _return */, const std::string& /* appModuleId */) {
+  void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appModuleId */) {
     return;
   }
-  bool updateApplicationModule(const std::string& /* appModuleId */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* applicationModule */) {
+  bool updateApplicationModule(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appModuleId */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* applicationModule */) {
     bool _return = false;
     return _return;
   }
-  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & /* _return */, const std::string& /* gatewayId */) {
+  void getAllAppModules(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */) {
     return;
   }
-  bool deleteApplicationModule(const std::string& /* appModuleId */) {
+  bool deleteApplicationModule(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appModuleId */) {
     bool _return = false;
     return _return;
   }
-  void registerApplicationDeployment(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* applicationDeployment */) {
+  void registerApplicationDeployment(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* applicationDeployment */) {
     return;
   }
-  void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* _return */, const std::string& /* appDeploymentId */) {
+  void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appDeploymentId */) {
     return;
   }
-  bool updateApplicationDeployment(const std::string& /* appDeploymentId */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* applicationDeployment */) {
+  bool updateApplicationDeployment(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appDeploymentId */, const  ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* applicationDeployment */) {
     bool _return = false;
     return _return;
   }
-  bool deleteApplicationDeployment(const std::string& /* appDeploymentId */) {
+  bool deleteApplicationDeployment(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appDeploymentId */) {
     bool _return = false;
     return _return;
   }
-  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & /* _return */, const std::string& /* gatewayId */) {
+  void getAllApplicationDeployments(std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */) {
     return;
   }
-  void getAppModuleDeployedResources(std::vector<std::string> & /* _return */, const std::string& /* appModuleId */) {
+  void getAppModuleDeployedResources(std::vector<std::string> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appModuleId */) {
     return;
   }
-  void registerApplicationInterface(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* applicationInterface */) {
+  void registerApplicationInterface(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* applicationInterface */) {
     return;
   }
-  void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* _return */, const std::string& /* appInterfaceId */) {
+  void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appInterfaceId */) {
     return;
   }
-  bool updateApplicationInterface(const std::string& /* appInterfaceId */, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* applicationInterface */) {
+  bool updateApplicationInterface(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appInterfaceId */, const  ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* applicationInterface */) {
     bool _return = false;
     return _return;
   }
-  bool deleteApplicationInterface(const std::string& /* appInterfaceId */) {
+  bool deleteApplicationInterface(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appInterfaceId */) {
     bool _return = false;
     return _return;
   }
-  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & /* _return */, const std::string& /* gatewayId */) {
+  void getAllApplicationInterfaceNames(std::map<std::string, std::string> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */) {
     return;
   }
-  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & /* _return */, const std::string& /* gatewayId */) {
+  void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */) {
     return;
   }
-  void getApplicationInputs(std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & /* _return */, const std::string& /* appInterfaceId */) {
+  void getApplicationInputs(std::vector< ::apache::airavata::model::application::io::InputDataObjectType> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appInterfaceId */) {
     return;
   }
-  void getApplicationOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & /* _return */, const std::string& /* appInterfaceId */) {
+  void getApplicationOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appInterfaceId */) {
     return;
   }
-  void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & /* _return */, const std::string& /* appInterfaceId */) {
+  void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* appInterfaceId */) {
     return;
   }
-  void registerComputeResource(std::string& /* _return */, const  ::

<TRUNCATED>

[35/44] airavata git commit: fixed all compilation errors in the java client samples after the API changes.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index 2fec726..680a7d6 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -180,7 +180,7 @@ class Iface:
     """
     pass
 
-  def getAllUserProjectsWithPagination(self, gatewayId, userName, limit, offset):
+  def getAllUserProjectsWithPagination(self, authzToken, gatewayId, userName, limit, offset):
     """
       * Get all Project by user with pagination. Results will be ordered based
       * on creation time DESC
@@ -196,6 +196,7 @@ class Iface:
     *
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - limit
@@ -222,7 +223,7 @@ class Iface:
     """
     pass
 
-  def searchProjectsByProjectNameWithPagination(self, gatewayId, userName, projectName, limit, offset):
+  def searchProjectsByProjectNameWithPagination(self, authzToken, gatewayId, userName, projectName, limit, offset):
     """
     Get all Project for user by project name with pagination.Results will be ordered based
     on creation time DESC
@@ -239,6 +240,7 @@ class Iface:
        The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - projectName
@@ -265,7 +267,7 @@ class Iface:
     """
     pass
 
-  def searchProjectsByProjectDescWithPagination(self, gatewayId, userName, description, limit, offset):
+  def searchProjectsByProjectDescWithPagination(self, authzToken, gatewayId, userName, description, limit, offset):
     """
     Search and get all Projects for user by project description with pagination. Results
     will be ordered based on creation time DESC
@@ -282,6 +284,7 @@ class Iface:
        The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - description
@@ -311,7 +314,7 @@ class Iface:
     """
     pass
 
-  def searchExperimentsByNameWithPagination(self, gatewayId, userName, expName, limit, offset):
+  def searchExperimentsByNameWithPagination(self, authzToken, gatewayId, userName, expName, limit, offset):
     """
     Search Experiments by experiment name with pagination. Results will be sorted
     based on creation time DESC
@@ -328,6 +331,7 @@ class Iface:
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - expName
@@ -356,7 +360,7 @@ class Iface:
     """
     pass
 
-  def searchExperimentsByDescWithPagination(self, gatewayId, userName, description, limit, offset):
+  def searchExperimentsByDescWithPagination(self, authzToken, gatewayId, userName, description, limit, offset):
     """
     Search Experiments by experiment name with pagination. Results will be sorted
     based on creation time DESC
@@ -373,6 +377,7 @@ class Iface:
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - description
@@ -401,7 +406,7 @@ class Iface:
     """
     pass
 
-  def searchExperimentsByApplicationWithPagination(self, gatewayId, userName, applicationId, limit, offset):
+  def searchExperimentsByApplicationWithPagination(self, authzToken, gatewayId, userName, applicationId, limit, offset):
     """
     Search Experiments by application id with pagination. Results will be sorted
     based on creation time DESC
@@ -418,6 +423,7 @@ class Iface:
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - applicationId
@@ -446,7 +452,7 @@ class Iface:
     """
     pass
 
-  def searchExperimentsByStatusWithPagination(self, gatewayId, userName, experimentState, limit, offset):
+  def searchExperimentsByStatusWithPagination(self, authzToken, gatewayId, userName, experimentState, limit, offset):
     """
     Search Experiments by experiment status with pagination. Results will be sorted
     based on creation time DESC
@@ -463,6 +469,7 @@ class Iface:
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - experimentState
@@ -494,7 +501,7 @@ class Iface:
     """
     pass
 
-  def searchExperimentsByCreationTimeWithPagination(self, gatewayId, userName, fromTime, toTime, limit, offset):
+  def searchExperimentsByCreationTimeWithPagination(self, authzToken, gatewayId, userName, fromTime, toTime, limit, offset):
     """
     Search Experiments by experiment creation time with pagination. Results will be sorted
     based on creation time DESC
@@ -513,6 +520,7 @@ class Iface:
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - fromTime
@@ -522,7 +530,7 @@ class Iface:
     """
     pass
 
-  def searchExperiments(self, gatewayId, userName, filters, limit, offset):
+  def searchExperiments(self, authzToken, gatewayId, userName, filters, limit, offset):
     """
     Search Experiments by using multiple filter criteria with pagination. Results will be sorted
     based on creation time DESC
@@ -539,6 +547,7 @@ class Iface:
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - filters
@@ -547,7 +556,7 @@ class Iface:
     """
     pass
 
-  def getExperimentStatistics(self, gatewayId, fromTime, toTime):
+  def getExperimentStatistics(self, authzToken, gatewayId, fromTime, toTime):
     """
     Get Experiment Statisitics for the given gateway for a specific time period
     @param gatewayId
@@ -559,6 +568,7 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - fromTime
      - toTime
@@ -579,7 +589,7 @@ class Iface:
     """
     pass
 
-  def getAllExperimentsInProjectWithPagination(self, projectId, limit, offset):
+  def getAllExperimentsInProjectWithPagination(self, authzToken, projectId, limit, offset):
     """
     Get all Experiments within project with pagination. Results will be sorted
     based on creation time DESC
@@ -592,6 +602,7 @@ class Iface:
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - projectId
      - limit
      - offset
@@ -615,7 +626,7 @@ class Iface:
     """
     pass
 
-  def getAllUserExperimentsWithPagination(self, gatewayId, userName, limit, offset):
+  def getAllUserExperimentsWithPagination(self, authzToken, gatewayId, userName, limit, offset):
     """
     Get all Experiments by user pagination. Results will be sorted
     based on creation time DESC
@@ -630,6 +641,7 @@ class Iface:
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - limit
@@ -637,7 +649,7 @@ class Iface:
     """
     pass
 
-  def createExperiment(self, gatewayId, experiment):
+  def createExperiment(self, authzToken, gatewayId, experiment):
     """
     Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
       but inferred from the authentication header. This experiment is just a persistent place holder. The client
@@ -674,12 +686,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - experiment
     """
     pass
 
-  def getExperiment(self, airavataExperimentId):
+  def getExperiment(self, authzToken, airavataExperimentId):
     """
     Fetch previously created experiment metadata.
 
@@ -714,11 +727,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
     pass
 
-  def updateExperiment(self, airavataExperimentId, experiment):
+  def updateExperiment(self, authzToken, airavataExperimentId, experiment):
     """
     Configure a previously created experiment with required inputs, scheduling and other quality of service
       parameters. This method only updates the experiment object within the registry. The experiment has to be launched
@@ -759,28 +773,31 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - airavataExperimentId
      - experiment
     """
     pass
 
-  def updateExperimentConfiguration(self, airavataExperimentId, userConfiguration):
+  def updateExperimentConfiguration(self, authzToken, airavataExperimentId, userConfiguration):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
      - userConfiguration
     """
     pass
 
-  def updateResourceScheduleing(self, airavataExperimentId, resourceScheduling):
+  def updateResourceScheduleing(self, authzToken, airavataExperimentId, resourceScheduling):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
      - resourceScheduling
     """
     pass
 
-  def validateExperiment(self, airavataExperimentId):
+  def validateExperiment(self, authzToken, airavataExperimentId):
     """
      *
      * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
@@ -791,11 +808,12 @@ class Iface:
     *
 
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
     pass
 
-  def launchExperiment(self, airavataExperimentId, airavataCredStoreToken):
+  def launchExperiment(self, authzToken, airavataExperimentId, airavataCredStoreToken):
     """
     Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
       notifications and intermediate and output data will be subsequently available for this experiment.
@@ -840,47 +858,53 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - airavataExperimentId
      - airavataCredStoreToken
     """
     pass
 
-  def getExperimentStatus(self, airavataExperimentId):
+  def getExperimentStatus(self, authzToken, airavataExperimentId):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
     pass
 
-  def getExperimentOutputs(self, airavataExperimentId):
+  def getExperimentOutputs(self, authzToken, airavataExperimentId):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
     pass
 
-  def getIntermediateOutputs(self, airavataExperimentId):
+  def getIntermediateOutputs(self, authzToken, airavataExperimentId):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
     pass
 
-  def getJobStatuses(self, airavataExperimentId):
+  def getJobStatuses(self, authzToken, airavataExperimentId):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
     pass
 
-  def getJobDetails(self, airavataExperimentId):
+  def getJobDetails(self, authzToken, airavataExperimentId):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
     pass
 
-  def cloneExperiment(self, existingExperimentID, newExperimentName):
+  def cloneExperiment(self, authzToken, existingExperimentID, newExperimentName):
     """
     Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
       The client has to subsequently update this configuration if needed and launch the cloned experiment.
@@ -921,12 +945,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - existingExperimentID
      - newExperimentName
     """
     pass
 
-  def terminateExperiment(self, airavataExperimentId, tokenId):
+  def terminateExperiment(self, authzToken, airavataExperimentId, tokenId):
     """
     Terminate a running experiment.
 
@@ -961,12 +986,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - airavataExperimentId
      - tokenId
     """
     pass
 
-  def registerApplicationModule(self, gatewayId, applicationModule):
+  def registerApplicationModule(self, authzToken, gatewayId, applicationModule):
     """
     Register a Application Module.
 
@@ -978,12 +1004,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - applicationModule
     """
     pass
 
-  def getApplicationModule(self, appModuleId):
+  def getApplicationModule(self, authzToken, appModuleId):
     """
     Fetch a Application Module.
 
@@ -995,11 +1022,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appModuleId
     """
     pass
 
-  def updateApplicationModule(self, appModuleId, applicationModule):
+  def updateApplicationModule(self, authzToken, appModuleId, applicationModule):
     """
     Update a Application Module.
 
@@ -1014,19 +1042,21 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appModuleId
      - applicationModule
     """
     pass
 
-  def getAllAppModules(self, gatewayId):
+  def getAllAppModules(self, authzToken, gatewayId):
     """
     Parameters:
+     - authzToken
      - gatewayId
     """
     pass
 
-  def deleteApplicationModule(self, appModuleId):
+  def deleteApplicationModule(self, authzToken, appModuleId):
     """
     Delete a Application Module.
 
@@ -1038,11 +1068,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appModuleId
     """
     pass
 
-  def registerApplicationDeployment(self, gatewayId, applicationDeployment):
+  def registerApplicationDeployment(self, authzToken, gatewayId, applicationDeployment):
     """
     Register a Application Deployment.
 
@@ -1054,12 +1085,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - applicationDeployment
     """
     pass
 
-  def getApplicationDeployment(self, appDeploymentId):
+  def getApplicationDeployment(self, authzToken, appDeploymentId):
     """
     Fetch a Application Deployment.
 
@@ -1071,11 +1103,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appDeploymentId
     """
     pass
 
-  def updateApplicationDeployment(self, appDeploymentId, applicationDeployment):
+  def updateApplicationDeployment(self, authzToken, appDeploymentId, applicationDeployment):
     """
     Update a Application Deployment.
 
@@ -1090,12 +1123,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appDeploymentId
      - applicationDeployment
     """
     pass
 
-  def deleteApplicationDeployment(self, appDeploymentId):
+  def deleteApplicationDeployment(self, authzToken, appDeploymentId):
     """
     Delete a Application deployment.
 
@@ -1107,11 +1141,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appDeploymentId
     """
     pass
 
-  def getAllApplicationDeployments(self, gatewayId):
+  def getAllApplicationDeployments(self, authzToken, gatewayId):
     """
     Fetch all Application Deployment Descriptions.
 
@@ -1120,11 +1155,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayId
     """
     pass
 
-  def getAppModuleDeployedResources(self, appModuleId):
+  def getAppModuleDeployedResources(self, authzToken, appModuleId):
     """
     Fetch a list of Deployed Compute Hosts.
 
@@ -1136,11 +1172,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appModuleId
     """
     pass
 
-  def registerApplicationInterface(self, gatewayId, applicationInterface):
+  def registerApplicationInterface(self, authzToken, gatewayId, applicationInterface):
     """
     Register a Application Interface.
 
@@ -1152,12 +1189,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - applicationInterface
     """
     pass
 
-  def getApplicationInterface(self, appInterfaceId):
+  def getApplicationInterface(self, authzToken, appInterfaceId):
     """
     Fetch a Application Interface.
 
@@ -1170,11 +1208,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appInterfaceId
     """
     pass
 
-  def updateApplicationInterface(self, appInterfaceId, applicationInterface):
+  def updateApplicationInterface(self, authzToken, appInterfaceId, applicationInterface):
     """
     Update a Application Interface.
 
@@ -1190,12 +1229,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appInterfaceId
      - applicationInterface
     """
     pass
 
-  def deleteApplicationInterface(self, appInterfaceId):
+  def deleteApplicationInterface(self, authzToken, appInterfaceId):
     """
     Delete a Application Interface.
 
@@ -1208,11 +1248,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appInterfaceId
     """
     pass
 
-  def getAllApplicationInterfaceNames(self, gatewayId):
+  def getAllApplicationInterfaceNames(self, authzToken, gatewayId):
     """
     Fetch name and id of  Application Interface documents.
 
@@ -1222,11 +1263,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayId
     """
     pass
 
-  def getAllApplicationInterfaces(self, gatewayId):
+  def getAllApplicationInterfaces(self, authzToken, gatewayId):
     """
     Fetch all Application Interface documents.
 
@@ -1236,11 +1278,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayId
     """
     pass
 
-  def getApplicationInputs(self, appInterfaceId):
+  def getApplicationInputs(self, authzToken, appInterfaceId):
     """
     Fetch the list of Application Inputs.
 
@@ -1252,11 +1295,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appInterfaceId
     """
     pass
 
-  def getApplicationOutputs(self, appInterfaceId):
+  def getApplicationOutputs(self, authzToken, appInterfaceId):
     """
     Fetch the list of Application Outputs.
 
@@ -1268,11 +1312,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appInterfaceId
     """
     pass
 
-  def getAvailableAppInterfaceComputeResources(self, appInterfaceId):
+  def getAvailableAppInterfaceComputeResources(self, authzToken, appInterfaceId):
     """
     Fetch a list of all deployed Compute Hosts for a given application interfaces.
 
@@ -1285,11 +1330,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - appInterfaceId
     """
     pass
 
-  def registerComputeResource(self, computeResourceDescription):
+  def registerComputeResource(self, authzToken, computeResourceDescription):
     """
     Register a Compute Resource.
 
@@ -1301,11 +1347,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceDescription
     """
     pass
 
-  def getComputeResource(self, computeResourceId):
+  def getComputeResource(self, authzToken, computeResourceId):
     """
     Fetch the given Compute Resource.
 
@@ -1317,21 +1364,25 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
     """
     pass
 
-  def getAllComputeResourceNames(self):
+  def getAllComputeResourceNames(self, authzToken):
     """
     Fetch all registered Compute Resources.
 
     @return A map of registered compute resource id's and thier corresponding hostnames.
        Compute Resource Object created from the datamodel..
 
+
+    Parameters:
+     - authzToken
     """
     pass
 
-  def updateComputeResource(self, computeResourceId, computeResourceDescription):
+  def updateComputeResource(self, authzToken, computeResourceId, computeResourceDescription):
     """
     Update a Compute Resource.
 
@@ -1346,12 +1397,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
      - computeResourceDescription
     """
     pass
 
-  def deleteComputeResource(self, computeResourceId):
+  def deleteComputeResource(self, authzToken, computeResourceId):
     """
     Delete a Compute Resource.
 
@@ -1363,11 +1415,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
     """
     pass
 
-  def addLocalSubmissionDetails(self, computeResourceId, priorityOrder, localSubmission):
+  def addLocalSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, localSubmission):
     """
     Add a Local Job Submission details to a compute resource
      App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
@@ -1386,13 +1439,14 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
      - priorityOrder
      - localSubmission
     """
     pass
 
-  def updateLocalSubmissionDetails(self, jobSubmissionInterfaceId, localSubmission):
+  def updateLocalSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, localSubmission):
     """
     Update the given Local Job Submission details
 
@@ -1407,12 +1461,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - jobSubmissionInterfaceId
      - localSubmission
     """
     pass
 
-  def getLocalJobSubmission(self, jobSubmissionId):
+  def getLocalJobSubmission(self, authzToken, jobSubmissionId):
     """
     This method returns localJobSubmission object
     @param jobSubmissionInterfaceId
@@ -1421,11 +1476,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - jobSubmissionId
     """
     pass
 
-  def addSSHJobSubmissionDetails(self, computeResourceId, priorityOrder, sshJobSubmission):
+  def addSSHJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, sshJobSubmission):
     """
     Add a SSH Job Submission details to a compute resource
      App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
@@ -1444,13 +1500,14 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
      - priorityOrder
      - sshJobSubmission
     """
     pass
 
-  def getSSHJobSubmission(self, jobSubmissionId):
+  def getSSHJobSubmission(self, authzToken, jobSubmissionId):
     """
     This method returns SSHJobSubmission object
     @param jobSubmissionInterfaceId
@@ -1459,11 +1516,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - jobSubmissionId
     """
     pass
 
-  def addUNICOREJobSubmissionDetails(self, computeResourceId, priorityOrder, unicoreJobSubmission):
+  def addUNICOREJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, unicoreJobSubmission):
     """
     Add a UNICORE Job Submission details to a compute resource
      App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
@@ -1482,13 +1540,14 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
      - priorityOrder
      - unicoreJobSubmission
     """
     pass
 
-  def getUnicoreJobSubmission(self, jobSubmissionId):
+  def getUnicoreJobSubmission(self, authzToken, jobSubmissionId):
     """
       * This method returns UnicoreJobSubmission object
       * @param jobSubmissionInterfaceId
@@ -1497,11 +1556,12 @@ class Iface:
     *
 
     Parameters:
+     - authzToken
      - jobSubmissionId
     """
     pass
 
-  def addCloudJobSubmissionDetails(self, computeResourceId, priorityOrder, cloudSubmission):
+  def addCloudJobSubmissionDetails(self, authzToken, computeResourceId, priorityOrder, cloudSubmission):
     """
        * Add a Cloud Job Submission details to a compute resource
        *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
@@ -1520,13 +1580,14 @@ class Iface:
     *
 
     Parameters:
+     - authzToken
      - computeResourceId
      - priorityOrder
      - cloudSubmission
     """
     pass
 
-  def getCloudJobSubmission(self, jobSubmissionId):
+  def getCloudJobSubmission(self, authzToken, jobSubmissionId):
     """
        * This method returns cloudJobSubmission object
        * @param jobSubmissionInterfaceI
@@ -1535,11 +1596,12 @@ class Iface:
     *
 
     Parameters:
+     - authzToken
      - jobSubmissionId
     """
     pass
 
-  def updateSSHJobSubmissionDetails(self, jobSubmissionInterfaceId, sshJobSubmission):
+  def updateSSHJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, sshJobSubmission):
     """
     Update the given SSH Job Submission details
 
@@ -1554,14 +1616,15 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - jobSubmissionInterfaceId
      - sshJobSubmission
     """
     pass
 
-  def updateCloudJobSubmissionDetails(self, jobSubmissionInterfaceId, sshJobSubmission):
+  def updateCloudJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, sshJobSubmission):
     """
-    Update the given SSH Job Submission details
+    Update the cloud Job Submission details
 
     @param jobSubmissionInterfaceId
       The identifier of the JobSubmission Interface to be updated.
@@ -1574,20 +1637,22 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - jobSubmissionInterfaceId
      - sshJobSubmission
     """
     pass
 
-  def updateUnicoreJobSubmissionDetails(self, jobSubmissionInterfaceId, unicoreJobSubmission):
+  def updateUnicoreJobSubmissionDetails(self, authzToken, jobSubmissionInterfaceId, unicoreJobSubmission):
     """
     Parameters:
+     - authzToken
      - jobSubmissionInterfaceId
      - unicoreJobSubmission
     """
     pass
 
-  def addLocalDataMovementDetails(self, computeResourceId, priorityOrder, localDataMovement):
+  def addLocalDataMovementDetails(self, authzToken, computeResourceId, priorityOrder, localDataMovement):
     """
     Add a Local data movement details to a compute resource
      App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1606,13 +1671,14 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
      - priorityOrder
      - localDataMovement
     """
     pass
 
-  def updateLocalDataMovementDetails(self, dataMovementInterfaceId, localDataMovement):
+  def updateLocalDataMovementDetails(self, authzToken, dataMovementInterfaceId, localDataMovement):
     """
     Update the given Local data movement details
 
@@ -1627,12 +1693,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - dataMovementInterfaceId
      - localDataMovement
     """
     pass
 
-  def getLocalDataMovement(self, dataMovementId):
+  def getLocalDataMovement(self, authzToken, dataMovementId):
     """
             * This method returns local datamovement object
             * @param dataMovementId
@@ -1641,11 +1708,12 @@ class Iface:
     *
 
     Parameters:
+     - authzToken
      - dataMovementId
     """
     pass
 
-  def addSCPDataMovementDetails(self, computeResourceId, priorityOrder, scpDataMovement):
+  def addSCPDataMovementDetails(self, authzToken, computeResourceId, priorityOrder, scpDataMovement):
     """
     Add a SCP data movement details to a compute resource
      App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1664,13 +1732,14 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
      - priorityOrder
      - scpDataMovement
     """
     pass
 
-  def updateSCPDataMovementDetails(self, dataMovementInterfaceId, scpDataMovement):
+  def updateSCPDataMovementDetails(self, authzToken, dataMovementInterfaceId, scpDataMovement):
     """
     Update the given scp data movement details
      App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1686,12 +1755,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - dataMovementInterfaceId
      - scpDataMovement
     """
     pass
 
-  def getSCPDataMovement(self, dataMovementId):
+  def getSCPDataMovement(self, authzToken, dataMovementId):
     """
       * This method returns SCP datamovement object
       * @param dataMovementId
@@ -1700,35 +1770,39 @@ class Iface:
     *
 
     Parameters:
+     - authzToken
      - dataMovementId
     """
     pass
 
-  def addUnicoreDataMovementDetails(self, computeResourceId, priorityOrder, unicoreDataMovement):
+  def addUnicoreDataMovementDetails(self, authzToken, computeResourceId, priorityOrder, unicoreDataMovement):
     """
     Parameters:
+     - authzToken
      - computeResourceId
      - priorityOrder
      - unicoreDataMovement
     """
     pass
 
-  def updateUnicoreDataMovementDetails(self, dataMovementInterfaceId, unicoreDataMovement):
+  def updateUnicoreDataMovementDetails(self, authzToken, dataMovementInterfaceId, unicoreDataMovement):
     """
     Parameters:
+     - authzToken
      - dataMovementInterfaceId
      - unicoreDataMovement
     """
     pass
 
-  def getUnicoreDataMovement(self, dataMovementId):
+  def getUnicoreDataMovement(self, authzToken, dataMovementId):
     """
     Parameters:
+     - authzToken
      - dataMovementId
     """
     pass
 
-  def addGridFTPDataMovementDetails(self, computeResourceId, priorityOrder, gridFTPDataMovement):
+  def addGridFTPDataMovementDetails(self, authzToken, computeResourceId, priorityOrder, gridFTPDataMovement):
     """
     Add a GridFTP data movement details to a compute resource
      App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1747,13 +1821,14 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
      - priorityOrder
      - gridFTPDataMovement
     """
     pass
 
-  def updateGridFTPDataMovementDetails(self, dataMovementInterfaceId, gridFTPDataMovement):
+  def updateGridFTPDataMovementDetails(self, authzToken, dataMovementInterfaceId, gridFTPDataMovement):
     """
     Update the given GridFTP data movement details to a compute resource
      App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -1769,12 +1844,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - dataMovementInterfaceId
      - gridFTPDataMovement
     """
     pass
 
-  def getGridFTPDataMovement(self, dataMovementId):
+  def getGridFTPDataMovement(self, authzToken, dataMovementId):
     """
       * This method returns GridFTP datamovement object
       * @param dataMovementId
@@ -1783,11 +1859,12 @@ class Iface:
     *
 
     Parameters:
+     - authzToken
      - dataMovementId
     """
     pass
 
-  def changeJobSubmissionPriority(self, jobSubmissionInterfaceId, newPriorityOrder):
+  def changeJobSubmissionPriority(self, authzToken, jobSubmissionInterfaceId, newPriorityOrder):
     """
     Change the priority of a given job submisison interface
 
@@ -1802,12 +1879,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - jobSubmissionInterfaceId
      - newPriorityOrder
     """
     pass
 
-  def changeDataMovementPriority(self, dataMovementInterfaceId, newPriorityOrder):
+  def changeDataMovementPriority(self, authzToken, dataMovementInterfaceId, newPriorityOrder):
     """
     Change the priority of a given data movement interface
 
@@ -1822,12 +1900,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - dataMovementInterfaceId
      - newPriorityOrder
     """
     pass
 
-  def changeJobSubmissionPriorities(self, jobSubmissionPriorityMap):
+  def changeJobSubmissionPriorities(self, authzToken, jobSubmissionPriorityMap):
     """
     Change the priorities of a given set of job submission interfaces
 
@@ -1839,11 +1918,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - jobSubmissionPriorityMap
     """
     pass
 
-  def changeDataMovementPriorities(self, dataMovementPriorityMap):
+  def changeDataMovementPriorities(self, authzToken, dataMovementPriorityMap):
     """
     Change the priorities of a given set of data movement interfaces
 
@@ -1855,11 +1935,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - dataMovementPriorityMap
     """
     pass
 
-  def deleteJobSubmissionInterface(self, computeResourceId, jobSubmissionInterfaceId):
+  def deleteJobSubmissionInterface(self, authzToken, computeResourceId, jobSubmissionInterfaceId):
     """
     Delete a given job submisison interface
 
@@ -1871,12 +1952,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
      - jobSubmissionInterfaceId
     """
     pass
 
-  def deleteDataMovementInterface(self, computeResourceId, dataMovementInterfaceId):
+  def deleteDataMovementInterface(self, authzToken, computeResourceId, dataMovementInterfaceId):
     """
     Delete a given data movement interface
 
@@ -1888,49 +1970,55 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - computeResourceId
      - dataMovementInterfaceId
     """
     pass
 
-  def registerResourceJobManager(self, resourceJobManager):
+  def registerResourceJobManager(self, authzToken, resourceJobManager):
     """
     Parameters:
+     - authzToken
      - resourceJobManager
     """
     pass
 
-  def updateResourceJobManager(self, resourceJobManagerId, updatedResourceJobManager):
+  def updateResourceJobManager(self, authzToken, resourceJobManagerId, updatedResourceJobManager):
     """
     Parameters:
+     - authzToken
      - resourceJobManagerId
      - updatedResourceJobManager
     """
     pass
 
-  def getResourceJobManager(self, resourceJobManagerId):
+  def getResourceJobManager(self, authzToken, resourceJobManagerId):
     """
     Parameters:
+     - authzToken
      - resourceJobManagerId
     """
     pass
 
-  def deleteResourceJobManager(self, resourceJobManagerId):
+  def deleteResourceJobManager(self, authzToken, resourceJobManagerId):
     """
     Parameters:
+     - authzToken
      - resourceJobManagerId
     """
     pass
 
-  def deleteBatchQueue(self, computeResourceId, queueName):
+  def deleteBatchQueue(self, authzToken, computeResourceId, queueName):
     """
     Parameters:
+     - authzToken
      - computeResourceId
      - queueName
     """
     pass
 
-  def registerGatewayResourceProfile(self, gatewayResourceProfile):
+  def registerGatewayResourceProfile(self, authzToken, gatewayResourceProfile):
     """
     Register a Gateway Resource Profile.
 
@@ -1944,11 +2032,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayResourceProfile
     """
     pass
 
-  def getGatewayResourceProfile(self, gatewayID):
+  def getGatewayResourceProfile(self, authzToken, gatewayID):
     """
     Fetch the given Gateway Resource Profile.
 
@@ -1960,11 +2049,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayID
     """
     pass
 
-  def updateGatewayResourceProfile(self, gatewayID, gatewayResourceProfile):
+  def updateGatewayResourceProfile(self, authzToken, gatewayID, gatewayResourceProfile):
     """
     Update a Gateway Resource Profile.
 
@@ -1979,12 +2069,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayID
      - gatewayResourceProfile
     """
     pass
 
-  def deleteGatewayResourceProfile(self, gatewayID):
+  def deleteGatewayResourceProfile(self, authzToken, gatewayID):
     """
     Delete the given Gateway Resource Profile.
 
@@ -1996,11 +2087,12 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayID
     """
     pass
 
-  def addGatewayComputeResourcePreference(self, gatewayID, computeResourceId, computeResourcePreference):
+  def addGatewayComputeResourcePreference(self, authzToken, gatewayID, computeResourceId, computeResourcePreference):
     """
     Add a Compute Resource Preference to a registered gateway profile.
 
@@ -2019,13 +2111,14 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayID
      - computeResourceId
      - computeResourcePreference
     """
     pass
 
-  def getGatewayComputeResourcePreference(self, gatewayID, computeResourceId):
+  def getGatewayComputeResourcePreference(self, authzToken, gatewayID, computeResourceId):
     """
     Fetch a Compute Resource Preference of a registered gateway profile.
 
@@ -2040,12 +2133,13 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayID
      - computeResourceId
     """
     pass
 
-  def getAllGatewayComputeResourcePreferences(self, gatewayID):
+  def getAllGatewayComputeResourcePreferences(self, authzToken, gatewayID):
     """
     Fetch all Compute Resource Preferences of a registered gateway profile.
 
@@ -2057,18 +2151,22 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayID
     """
     pass
 
-  def getAllGatewayComputeResources(self):
+  def getAllGatewayComputeResources(self, authzToken):
     """
     Fetch all gateway profiles registered
 
+
+    Parameters:
+     - authzToken
     """
     pass
 
-  def updateGatewayComputeResourcePreference(self, gatewayID, computeResourceId, computeResourcePreference):
+  def updateGatewayComputeResourcePreference(self, authzToken, gatewayID, computeResourceId, computeResourcePreference):
     """
     Update a Compute Resource Preference to a registered gateway profile.
 
@@ -2086,13 +2184,14 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayID
      - computeResourceId
      - computeResourcePreference
     """
     pass
 
-  def deleteGatewayComputeResourcePreference(self, gatewayID, computeResourceId):
+  def deleteGatewayComputeResourcePreference(self, authzToken, gatewayID, computeResourceId):
     """
     Delete the Compute Resource Preference of a registered gateway profile.
 
@@ -2107,58 +2206,66 @@ class Iface:
 
 
     Parameters:
+     - authzToken
      - gatewayID
      - computeResourceId
     """
     pass
 
-  def getAllWorkflows(self, gatewayId):
+  def getAllWorkflows(self, authzToken, gatewayId):
     """
     Parameters:
+     - authzToken
      - gatewayId
     """
     pass
 
-  def getWorkflow(self, workflowTemplateId):
+  def getWorkflow(self, authzToken, workflowTemplateId):
     """
     Parameters:
+     - authzToken
      - workflowTemplateId
     """
     pass
 
-  def deleteWorkflow(self, workflowTemplateId):
+  def deleteWorkflow(self, authzToken, workflowTemplateId):
     """
     Parameters:
+     - authzToken
      - workflowTemplateId
     """
     pass
 
-  def registerWorkflow(self, gatewayId, workflow):
+  def registerWorkflow(self, authzToken, gatewayId, workflow):
     """
     Parameters:
+     - authzToken
      - gatewayId
      - workflow
     """
     pass
 
-  def updateWorkflow(self, workflowTemplateId, workflow):
+  def updateWorkflow(self, authzToken, workflowTemplateId, workflow):
     """
     Parameters:
+     - authzToken
      - workflowTemplateId
      - workflow
     """
     pass
 
-  def getWorkflowTemplateId(self, workflowName):
+  def getWorkflowTemplateId(self, authzToken, workflowName):
     """
     Parameters:
+     - authzToken
      - workflowName
     """
     pass
 
-  def isWorkflowExistWithName(self, workflowName):
+  def isWorkflowExistWithName(self, authzToken, workflowName):
     """
     Parameters:
+     - authzToken
      - workflowName
     """
     pass
@@ -2249,6 +2356,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "addGateway failed: unknown result");
 
   def updateGateway(self, authzToken, gatewayId, updatedGateway):
@@ -2288,6 +2397,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     return
 
   def getGateway(self, authzToken, gatewayId):
@@ -2327,6 +2438,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getGateway failed: unknown result");
 
   def deleteGateway(self, authzToken, gatewayId):
@@ -2366,6 +2479,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "deleteGateway failed: unknown result");
 
   def getAllGateways(self, authzToken):
@@ -2403,6 +2518,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllGateways failed: unknown result");
 
   def isGatewayExist(self, authzToken, gatewayId):
@@ -2442,6 +2559,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "isGatewayExist failed: unknown result");
 
   def generateAndRegisterSSHKeys(self, gatewayId, userName):
@@ -2621,6 +2740,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "createProject failed: unknown result");
 
   def updateProject(self, authzToken, projectId, updatedProject):
@@ -2665,6 +2786,8 @@ class Client(Iface):
       raise result.ase
     if result.pnfe is not None:
       raise result.pnfe
+    if result.ae is not None:
+      raise result.ae
     return
 
   def getProject(self, authzToken, projectId):
@@ -2709,6 +2832,8 @@ class Client(Iface):
       raise result.ase
     if result.pnfe is not None:
       raise result.pnfe
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getProject failed: unknown result");
 
   def deleteProject(self, authzToken, projectId):
@@ -2750,6 +2875,8 @@ class Client(Iface):
       raise result.ase
     if result.pnfe is not None:
       raise result.pnfe
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "deleteProject failed: unknown result");
 
   def getAllUserProjects(self, gatewayId, userName):
@@ -2801,7 +2928,7 @@ class Client(Iface):
       raise result.ase
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserProjects failed: unknown result");
 
-  def getAllUserProjectsWithPagination(self, gatewayId, userName, limit, offset):
+  def getAllUserProjectsWithPagination(self, authzToken, gatewayId, userName, limit, offset):
     """
       * Get all Project by user with pagination. Results will be ordered based
       * on creation time DESC
@@ -2817,17 +2944,19 @@ class Client(Iface):
     *
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - limit
      - offset
     """
-    self.send_getAllUserProjectsWithPagination(gatewayId, userName, limit, offset)
+    self.send_getAllUserProjectsWithPagination(authzToken, gatewayId, userName, limit, offset)
     return self.recv_getAllUserProjectsWithPagination()
 
-  def send_getAllUserProjectsWithPagination(self, gatewayId, userName, limit, offset):
+  def send_getAllUserProjectsWithPagination(self, authzToken, gatewayId, userName, limit, offset):
     self._oprot.writeMessageBegin('getAllUserProjectsWithPagination', TMessageType.CALL, self._seqid)
     args = getAllUserProjectsWithPagination_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.userName = userName
     args.limit = limit
@@ -2855,6 +2984,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserProjectsWithPagination failed: unknown result");
 
   def searchProjectsByProjectName(self, gatewayId, userName, projectName):
@@ -2908,7 +3039,7 @@ class Client(Iface):
       raise result.ase
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectName failed: unknown result");
 
-  def searchProjectsByProjectNameWithPagination(self, gatewayId, userName, projectName, limit, offset):
+  def searchProjectsByProjectNameWithPagination(self, authzToken, gatewayId, userName, projectName, limit, offset):
     """
     Get all Project for user by project name with pagination.Results will be ordered based
     on creation time DESC
@@ -2925,18 +3056,20 @@ class Client(Iface):
        The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - projectName
      - limit
      - offset
     """
-    self.send_searchProjectsByProjectNameWithPagination(gatewayId, userName, projectName, limit, offset)
+    self.send_searchProjectsByProjectNameWithPagination(authzToken, gatewayId, userName, projectName, limit, offset)
     return self.recv_searchProjectsByProjectNameWithPagination()
 
-  def send_searchProjectsByProjectNameWithPagination(self, gatewayId, userName, projectName, limit, offset):
+  def send_searchProjectsByProjectNameWithPagination(self, authzToken, gatewayId, userName, projectName, limit, offset):
     self._oprot.writeMessageBegin('searchProjectsByProjectNameWithPagination', TMessageType.CALL, self._seqid)
     args = searchProjectsByProjectNameWithPagination_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.userName = userName
     args.projectName = projectName
@@ -2965,6 +3098,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectNameWithPagination failed: unknown result");
 
   def searchProjectsByProjectDesc(self, gatewayId, userName, description):
@@ -3017,7 +3152,7 @@ class Client(Iface):
       raise result.ase
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectDesc failed: unknown result");
 
-  def searchProjectsByProjectDescWithPagination(self, gatewayId, userName, description, limit, offset):
+  def searchProjectsByProjectDescWithPagination(self, authzToken, gatewayId, userName, description, limit, offset):
     """
     Search and get all Projects for user by project description with pagination. Results
     will be ordered based on creation time DESC
@@ -3034,18 +3169,20 @@ class Client(Iface):
        The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - description
      - limit
      - offset
     """
-    self.send_searchProjectsByProjectDescWithPagination(gatewayId, userName, description, limit, offset)
+    self.send_searchProjectsByProjectDescWithPagination(authzToken, gatewayId, userName, description, limit, offset)
     return self.recv_searchProjectsByProjectDescWithPagination()
 
-  def send_searchProjectsByProjectDescWithPagination(self, gatewayId, userName, description, limit, offset):
+  def send_searchProjectsByProjectDescWithPagination(self, authzToken, gatewayId, userName, description, limit, offset):
     self._oprot.writeMessageBegin('searchProjectsByProjectDescWithPagination', TMessageType.CALL, self._seqid)
     args = searchProjectsByProjectDescWithPagination_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.userName = userName
     args.description = description
@@ -3074,6 +3211,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchProjectsByProjectDescWithPagination failed: unknown result");
 
   def searchExperimentsByName(self, gatewayId, userName, expName):
@@ -3129,7 +3268,7 @@ class Client(Iface):
       raise result.ase
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByName failed: unknown result");
 
-  def searchExperimentsByNameWithPagination(self, gatewayId, userName, expName, limit, offset):
+  def searchExperimentsByNameWithPagination(self, authzToken, gatewayId, userName, expName, limit, offset):
     """
     Search Experiments by experiment name with pagination. Results will be sorted
     based on creation time DESC
@@ -3146,18 +3285,20 @@ class Client(Iface):
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - expName
      - limit
      - offset
     """
-    self.send_searchExperimentsByNameWithPagination(gatewayId, userName, expName, limit, offset)
+    self.send_searchExperimentsByNameWithPagination(authzToken, gatewayId, userName, expName, limit, offset)
     return self.recv_searchExperimentsByNameWithPagination()
 
-  def send_searchExperimentsByNameWithPagination(self, gatewayId, userName, expName, limit, offset):
+  def send_searchExperimentsByNameWithPagination(self, authzToken, gatewayId, userName, expName, limit, offset):
     self._oprot.writeMessageBegin('searchExperimentsByNameWithPagination', TMessageType.CALL, self._seqid)
     args = searchExperimentsByNameWithPagination_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.userName = userName
     args.expName = expName
@@ -3186,6 +3327,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByNameWithPagination failed: unknown result");
 
   def searchExperimentsByDesc(self, gatewayId, userName, description):
@@ -3240,7 +3383,7 @@ class Client(Iface):
       raise result.ase
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByDesc failed: unknown result");
 
-  def searchExperimentsByDescWithPagination(self, gatewayId, userName, description, limit, offset):
+  def searchExperimentsByDescWithPagination(self, authzToken, gatewayId, userName, description, limit, offset):
     """
     Search Experiments by experiment name with pagination. Results will be sorted
     based on creation time DESC
@@ -3257,18 +3400,20 @@ class Client(Iface):
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - description
      - limit
      - offset
     """
-    self.send_searchExperimentsByDescWithPagination(gatewayId, userName, description, limit, offset)
+    self.send_searchExperimentsByDescWithPagination(authzToken, gatewayId, userName, description, limit, offset)
     return self.recv_searchExperimentsByDescWithPagination()
 
-  def send_searchExperimentsByDescWithPagination(self, gatewayId, userName, description, limit, offset):
+  def send_searchExperimentsByDescWithPagination(self, authzToken, gatewayId, userName, description, limit, offset):
     self._oprot.writeMessageBegin('searchExperimentsByDescWithPagination', TMessageType.CALL, self._seqid)
     args = searchExperimentsByDescWithPagination_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.userName = userName
     args.description = description
@@ -3297,6 +3442,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByDescWithPagination failed: unknown result");
 
   def searchExperimentsByApplication(self, gatewayId, userName, applicationId):
@@ -3351,7 +3498,7 @@ class Client(Iface):
       raise result.ase
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByApplication failed: unknown result");
 
-  def searchExperimentsByApplicationWithPagination(self, gatewayId, userName, applicationId, limit, offset):
+  def searchExperimentsByApplicationWithPagination(self, authzToken, gatewayId, userName, applicationId, limit, offset):
     """
     Search Experiments by application id with pagination. Results will be sorted
     based on creation time DESC
@@ -3368,18 +3515,20 @@ class Client(Iface):
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - applicationId
      - limit
      - offset
     """
-    self.send_searchExperimentsByApplicationWithPagination(gatewayId, userName, applicationId, limit, offset)
+    self.send_searchExperimentsByApplicationWithPagination(authzToken, gatewayId, userName, applicationId, limit, offset)
     return self.recv_searchExperimentsByApplicationWithPagination()
 
-  def send_searchExperimentsByApplicationWithPagination(self, gatewayId, userName, applicationId, limit, offset):
+  def send_searchExperimentsByApplicationWithPagination(self, authzToken, gatewayId, userName, applicationId, limit, offset):
     self._oprot.writeMessageBegin('searchExperimentsByApplicationWithPagination', TMessageType.CALL, self._seqid)
     args = searchExperimentsByApplicationWithPagination_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.userName = userName
     args.applicationId = applicationId
@@ -3408,6 +3557,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByApplicationWithPagination failed: unknown result");
 
   def searchExperimentsByStatus(self, gatewayId, userName, experimentState):
@@ -3462,7 +3613,7 @@ class Client(Iface):
       raise result.ase
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByStatus failed: unknown result");
 
-  def searchExperimentsByStatusWithPagination(self, gatewayId, userName, experimentState, limit, offset):
+  def searchExperimentsByStatusWithPagination(self, authzToken, gatewayId, userName, experimentState, limit, offset):
     """
     Search Experiments by experiment status with pagination. Results will be sorted
     based on creation time DESC
@@ -3479,18 +3630,20 @@ class Client(Iface):
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - experimentState
      - limit
      - offset
     """
-    self.send_searchExperimentsByStatusWithPagination(gatewayId, userName, experimentState, limit, offset)
+    self.send_searchExperimentsByStatusWithPagination(authzToken, gatewayId, userName, experimentState, limit, offset)
     return self.recv_searchExperimentsByStatusWithPagination()
 
-  def send_searchExperimentsByStatusWithPagination(self, gatewayId, userName, experimentState, limit, offset):
+  def send_searchExperimentsByStatusWithPagination(self, authzToken, gatewayId, userName, experimentState, limit, offset):
     self._oprot.writeMessageBegin('searchExperimentsByStatusWithPagination', TMessageType.CALL, self._seqid)
     args = searchExperimentsByStatusWithPagination_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.userName = userName
     args.experimentState = experimentState
@@ -3519,6 +3672,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByStatusWithPagination failed: unknown result");
 
   def searchExperimentsByCreationTime(self, gatewayId, userName, fromTime, toTime):
@@ -3577,7 +3732,7 @@ class Client(Iface):
       raise result.ase
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByCreationTime failed: unknown result");
 
-  def searchExperimentsByCreationTimeWithPagination(self, gatewayId, userName, fromTime, toTime, limit, offset):
+  def searchExperimentsByCreationTimeWithPagination(self, authzToken, gatewayId, userName, fromTime, toTime, limit, offset):
     """
     Search Experiments by experiment creation time with pagination. Results will be sorted
     based on creation time DESC
@@ -3596,6 +3751,7 @@ class Client(Iface):
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - fromTime
@@ -3603,12 +3759,13 @@ class Client(Iface):
      - limit
      - offset
     """
-    self.send_searchExperimentsByCreationTimeWithPagination(gatewayId, userName, fromTime, toTime, limit, offset)
+    self.send_searchExperimentsByCreationTimeWithPagination(authzToken, gatewayId, userName, fromTime, toTime, limit, offset)
     return self.recv_searchExperimentsByCreationTimeWithPagination()
 
-  def send_searchExperimentsByCreationTimeWithPagination(self, gatewayId, userName, fromTime, toTime, limit, offset):
+  def send_searchExperimentsByCreationTimeWithPagination(self, authzToken, gatewayId, userName, fromTime, toTime, limit, offset):
     self._oprot.writeMessageBegin('searchExperimentsByCreationTimeWithPagination', TMessageType.CALL, self._seqid)
     args = searchExperimentsByCreationTimeWithPagination_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.userName = userName
     args.fromTime = fromTime
@@ -3638,9 +3795,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperimentsByCreationTimeWithPagination failed: unknown result");
 
-  def searchExperiments(self, gatewayId, userName, filters, limit, offset):
+  def searchExperiments(self, authzToken, gatewayId, userName, filters, limit, offset):
     """
     Search Experiments by using multiple filter criteria with pagination. Results will be sorted
     based on creation time DESC
@@ -3657,18 +3816,20 @@ class Client(Iface):
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - filters
      - limit
      - offset
     """
-    self.send_searchExperiments(gatewayId, userName, filters, limit, offset)
+    self.send_searchExperiments(authzToken, gatewayId, userName, filters, limit, offset)
     return self.recv_searchExperiments()
 
-  def send_searchExperiments(self, gatewayId, userName, filters, limit, offset):
+  def send_searchExperiments(self, authzToken, gatewayId, userName, filters, limit, offset):
     self._oprot.writeMessageBegin('searchExperiments', TMessageType.CALL, self._seqid)
     args = searchExperiments_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.userName = userName
     args.filters = filters
@@ -3697,9 +3858,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "searchExperiments failed: unknown result");
 
-  def getExperimentStatistics(self, gatewayId, fromTime, toTime):
+  def getExperimentStatistics(self, authzToken, gatewayId, fromTime, toTime):
     """
     Get Experiment Statisitics for the given gateway for a specific time period
     @param gatewayId
@@ -3711,16 +3874,18 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - fromTime
      - toTime
     """
-    self.send_getExperimentStatistics(gatewayId, fromTime, toTime)
+    self.send_getExperimentStatistics(authzToken, gatewayId, fromTime, toTime)
     return self.recv_getExperimentStatistics()
 
-  def send_getExperimentStatistics(self, gatewayId, fromTime, toTime):
+  def send_getExperimentStatistics(self, authzToken, gatewayId, fromTime, toTime):
     self._oprot.writeMessageBegin('getExperimentStatistics', TMessageType.CALL, self._seqid)
     args = getExperimentStatistics_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.fromTime = fromTime
     args.toTime = toTime
@@ -3747,6 +3912,8 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getExperimentStatistics failed: unknown result");
 
   def getAllExperimentsInProject(self, projectId):
@@ -3795,7 +3962,7 @@ class Client(Iface):
       raise result.pnfe
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllExperimentsInProject failed: unknown result");
 
-  def getAllExperimentsInProjectWithPagination(self, projectId, limit, offset):
+  def getAllExperimentsInProjectWithPagination(self, authzToken, projectId, limit, offset):
     """
     Get all Experiments within project with pagination. Results will be sorted
     based on creation time DESC
@@ -3808,16 +3975,18 @@ class Client(Iface):
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - projectId
      - limit
      - offset
     """
-    self.send_getAllExperimentsInProjectWithPagination(projectId, limit, offset)
+    self.send_getAllExperimentsInProjectWithPagination(authzToken, projectId, limit, offset)
     return self.recv_getAllExperimentsInProjectWithPagination()
 
-  def send_getAllExperimentsInProjectWithPagination(self, projectId, limit, offset):
+  def send_getAllExperimentsInProjectWithPagination(self, authzToken, projectId, limit, offset):
     self._oprot.writeMessageBegin('getAllExperimentsInProjectWithPagination', TMessageType.CALL, self._seqid)
     args = getAllExperimentsInProjectWithPagination_args()
+    args.authzToken = authzToken
     args.projectId = projectId
     args.limit = limit
     args.offset = offset
@@ -3846,6 +4015,8 @@ class Client(Iface):
       raise result.ase
     if result.pnfe is not None:
       raise result.pnfe
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllExperimentsInProjectWithPagination failed: unknown result");
 
   def getAllUserExperiments(self, gatewayId, userName):
@@ -3896,7 +4067,7 @@ class Client(Iface):
       raise result.ase
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserExperiments failed: unknown result");
 
-  def getAllUserExperimentsWithPagination(self, gatewayId, userName, limit, offset):
+  def getAllUserExperimentsWithPagination(self, authzToken, gatewayId, userName, limit, offset):
     """
     Get all Experiments by user pagination. Results will be sorted
     based on creation time DESC
@@ -3911,17 +4082,19 @@ class Client(Iface):
           The starting point of the results to be fetched
 
     Parameters:
+     - authzToken
      - gatewayId
      - userName
      - limit
      - offset
     """
-    self.send_getAllUserExperimentsWithPagination(gatewayId, userName, limit, offset)
+    self.send_getAllUserExperimentsWithPagination(authzToken, gatewayId, userName, limit, offset)
     return self.recv_getAllUserExperimentsWithPagination()
 
-  def send_getAllUserExperimentsWithPagination(self, gatewayId, userName, limit, offset):
+  def send_getAllUserExperimentsWithPagination(self, authzToken, gatewayId, userName, limit, offset):
     self._oprot.writeMessageBegin('getAllUserExperimentsWithPagination', TMessageType.CALL, self._seqid)
     args = getAllUserExperimentsWithPagination_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.userName = userName
     args.limit = limit
@@ -3949,9 +4122,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllUserExperimentsWithPagination failed: unknown result");
 
-  def createExperiment(self, gatewayId, experiment):
+  def createExperiment(self, authzToken, gatewayId, experiment):
     """
     Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
       but inferred from the authentication header. This experiment is just a persistent place holder. The client
@@ -3988,15 +4163,17 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - experiment
     """
-    self.send_createExperiment(gatewayId, experiment)
+    self.send_createExperiment(authzToken, gatewayId, experiment)
     return self.recv_createExperiment()
 
-  def send_createExperiment(self, gatewayId, experiment):
+  def send_createExperiment(self, authzToken, gatewayId, experiment):
     self._oprot.writeMessageBegin('createExperiment', TMessageType.CALL, self._seqid)
     args = createExperiment_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.experiment = experiment
     args.write(self._oprot)
@@ -4022,9 +4199,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "createExperiment failed: unknown result");
 
-  def getExperiment(self, airavataExperimentId):
+  def getExperiment(self, authzToken, airavataExperimentId):
     """
     Fetch previously created experiment metadata.
 
@@ -4059,14 +4238,16 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
-    self.send_getExperiment(airavataExperimentId)
+    self.send_getExperiment(authzToken, airavataExperimentId)
     return self.recv_getExperiment()
 
-  def send_getExperiment(self, airavataExperimentId):
+  def send_getExperiment(self, authzToken, airavataExperimentId):
     self._oprot.writeMessageBegin('getExperiment', TMessageType.CALL, self._seqid)
     args = getExperiment_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -4093,9 +4274,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getExperiment failed: unknown result");
 
-  def updateExperiment(self, airavataExperimentId, experiment):
+  def updateExperiment(self, authzToken, airavataExperimentId, experiment):
     """
     Configure a previously created experiment with required inputs, scheduling and other quality of service
       parameters. This method only updates the experiment object within the registry. The experiment has to be launched
@@ -4136,15 +4319,17 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - airavataExperimentId
      - experiment
     """
-    self.send_updateExperiment(airavataExperimentId, experiment)
+    self.send_updateExperiment(authzToken, airavataExperimentId, experiment)
     self.recv_updateExperiment()
 
-  def send_updateExperiment(self, airavataExperimentId, experiment):
+  def send_updateExperiment(self, authzToken, airavataExperimentId, experiment):
     self._oprot.writeMessageBegin('updateExperiment', TMessageType.CALL, self._seqid)
     args = updateExperiment_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.experiment = experiment
     args.write(self._oprot)
@@ -4170,20 +4355,24 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     return
 
-  def updateExperimentConfiguration(self, airavataExperimentId, userConfiguration):
+  def updateExperimentConfiguration(self, authzToken, airavataExperimentId, userConfiguration):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
      - userConfiguration
     """
-    self.send_updateExperimentConfiguration(airavataExperimentId, userConfiguration)
+    self.send_updateExperimentConfiguration(authzToken, airavataExperimentId, userConfiguration)
     self.recv_updateExperimentConfiguration()
 
-  def send_updateExperimentConfiguration(self, airavataExperimentId, userConfiguration):
+  def send_updateExperimentConfiguration(self, authzToken, airavataExperimentId, userConfiguration):
     self._oprot.writeMessageBegin('updateExperimentConfiguration', TMessageType.CALL, self._seqid)
     args = updateExperimentConfiguration_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.userConfiguration = userConfiguration
     args.write(self._oprot)
@@ -4201,20 +4390,24 @@ class Client(Iface):
     result = updateExperimentConfiguration_result()
     result.read(iprot)
     iprot.readMessageEnd()
+    if result.ae is not None:
+      raise result.ae
     return
 
-  def updateResourceScheduleing(self, airavataExperimentId, resourceScheduling):
+  def updateResourceScheduleing(self, authzToken, airavataExperimentId, resourceScheduling):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
      - resourceScheduling
     """
-    self.send_updateResourceScheduleing(airavataExperimentId, resourceScheduling)
+    self.send_updateResourceScheduleing(authzToken, airavataExperimentId, resourceScheduling)
     self.recv_updateResourceScheduleing()
 
-  def send_updateResourceScheduleing(self, airavataExperimentId, resourceScheduling):
+  def send_updateResourceScheduleing(self, authzToken, airavataExperimentId, resourceScheduling):
     self._oprot.writeMessageBegin('updateResourceScheduleing', TMessageType.CALL, self._seqid)
     args = updateResourceScheduleing_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.resourceScheduling = resourceScheduling
     args.write(self._oprot)
@@ -4232,9 +4425,11 @@ class Client(Iface):
     result = updateResourceScheduleing_result()
     result.read(iprot)
     iprot.readMessageEnd()
+    if result.ae is not None:
+      raise result.ae
     return
 
-  def validateExperiment(self, airavataExperimentId):
+  def validateExperiment(self, authzToken, airavataExperimentId):
     """
      *
      * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
@@ -4245,14 +4440,16 @@ class Client(Iface):
     *
 
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
-    self.send_validateExperiment(airavataExperimentId)
+    self.send_validateExperiment(authzToken, airavataExperimentId)
     return self.recv_validateExperiment()
 
-  def send_validateExperiment(self, airavataExperimentId):
+  def send_validateExperiment(self, authzToken, airavataExperimentId):
     self._oprot.writeMessageBegin('validateExperiment', TMessageType.CALL, self._seqid)
     args = validateExperiment_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -4279,9 +4476,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "validateExperiment failed: unknown result");
 
-  def launchExperiment(self, airavataExperimentId, airavataCredStoreToken):
+  def launchExperiment(self, authzToken, airavataExperimentId, airavataCredStoreToken):
     """
     Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
       notifications and intermediate and output data will be subsequently available for this experiment.
@@ -4326,15 +4525,17 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - airavataExperimentId
      - airavataCredStoreToken
     """
-    self.send_launchExperiment(airavataExperimentId, airavataCredStoreToken)
+    self.send_launchExperiment(authzToken, airavataExperimentId, airavataCredStoreToken)
     self.recv_launchExperiment()
 
-  def send_launchExperiment(self, airavataExperimentId, airavataCredStoreToken):
+  def send_launchExperiment(self, authzToken, airavataExperimentId, airavataCredStoreToken):
     self._oprot.writeMessageBegin('launchExperiment', TMessageType.CALL, self._seqid)
     args = launchExperiment_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.airavataCredStoreToken = airavataCredStoreToken
     args.write(self._oprot)
@@ -4360,19 +4561,23 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     return
 
-  def getExperimentStatus(self, airavataExperimentId):
+  def getExperimentStatus(self, authzToken, airavataExperimentId):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
-    self.send_getExperimentStatus(airavataExperimentId)
+    self.send_getExperimentStatus(authzToken, airavataExperimentId)
     return self.recv_getExperimentStatus()
 
-  def send_getExperimentStatus(self, airavataExperimentId):
+  def send_getExperimentStatus(self, authzToken, airavataExperimentId):
     self._oprot.writeMessageBegin('getExperimentStatus', TMessageType.CALL, self._seqid)
     args = getExperimentStatus_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -4399,19 +4604,23 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getExperimentStatus failed: unknown result");
 
-  def getExperimentOutputs(self, airavataExperimentId):
+  def getExperimentOutputs(self, authzToken, airavataExperimentId):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
-    self.send_getExperimentOutputs(airavataExperimentId)
+    self.send_getExperimentOutputs(authzToken, airavataExperimentId)
     return self.recv_getExperimentOutputs()
 
-  def send_getExperimentOutputs(self, airavataExperimentId):
+  def send_getExperimentOutputs(self, authzToken, airavataExperimentId):
     self._oprot.writeMessageBegin('getExperimentOutputs', TMessageType.CALL, self._seqid)
     args = getExperimentOutputs_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -4438,19 +4647,23 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getExperimentOutputs failed: unknown result");
 
-  def getIntermediateOutputs(self, airavataExperimentId):
+  def getIntermediateOutputs(self, authzToken, airavataExperimentId):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
-    self.send_getIntermediateOutputs(airavataExperimentId)
+    self.send_getIntermediateOutputs(authzToken, airavataExperimentId)
     return self.recv_getIntermediateOutputs()
 
-  def send_getIntermediateOutputs(self, airavataExperimentId):
+  def send_getIntermediateOutputs(self, authzToken, airavataExperimentId):
     self._oprot.writeMessageBegin('getIntermediateOutputs', TMessageType.CALL, self._seqid)
     args = getIntermediateOutputs_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -4477,19 +4690,23 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getIntermediateOutputs failed: unknown result");
 
-  def getJobStatuses(self, airavataExperimentId):
+  def getJobStatuses(self, authzToken, airavataExperimentId):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
-    self.send_getJobStatuses(airavataExperimentId)
+    self.send_getJobStatuses(authzToken, airavataExperimentId)
     return self.recv_getJobStatuses()
 
-  def send_getJobStatuses(self, airavataExperimentId):
+  def send_getJobStatuses(self, authzToken, airavataExperimentId):
     self._oprot.writeMessageBegin('getJobStatuses', TMessageType.CALL, self._seqid)
     args = getJobStatuses_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -4516,19 +4733,23 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getJobStatuses failed: unknown result");
 
-  def getJobDetails(self, airavataExperimentId):
+  def getJobDetails(self, authzToken, airavataExperimentId):
     """
     Parameters:
+     - authzToken
      - airavataExperimentId
     """
-    self.send_getJobDetails(airavataExperimentId)
+    self.send_getJobDetails(authzToken, airavataExperimentId)
     return self.recv_getJobDetails()
 
-  def send_getJobDetails(self, airavataExperimentId):
+  def send_getJobDetails(self, authzToken, airavataExperimentId):
     self._oprot.writeMessageBegin('getJobDetails', TMessageType.CALL, self._seqid)
     args = getJobDetails_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -4555,9 +4776,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getJobDetails failed: unknown result");
 
-  def cloneExperiment(self, existingExperimentID, newExperimentName):
+  def cloneExperiment(self, authzToken, existingExperimentID, newExperimentName):
     """
     Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
       The client has to subsequently update this configuration if needed and launch the cloned experiment.
@@ -4598,15 +4821,17 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - existingExperimentID
      - newExperimentName
     """
-    self.send_cloneExperiment(existingExperimentID, newExperimentName)
+    self.send_cloneExperiment(authzToken, existingExperimentID, newExperimentName)
     return self.recv_cloneExperiment()
 
-  def send_cloneExperiment(self, existingExperimentID, newExperimentName):
+  def send_cloneExperiment(self, authzToken, existingExperimentID, newExperimentName):
     self._oprot.writeMessageBegin('cloneExperiment', TMessageType.CALL, self._seqid)
     args = cloneExperiment_args()
+    args.authzToken = authzToken
     args.existingExperimentID = existingExperimentID
     args.newExperimentName = newExperimentName
     args.write(self._oprot)
@@ -4634,9 +4859,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "cloneExperiment failed: unknown result");
 
-  def terminateExperiment(self, airavataExperimentId, tokenId):
+  def terminateExperiment(self, authzToken, airavataExperimentId, tokenId):
     """
     Terminate a running experiment.
 
@@ -4671,15 +4898,17 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - airavataExperimentId
      - tokenId
     """
-    self.send_terminateExperiment(airavataExperimentId, tokenId)
+    self.send_terminateExperiment(authzToken, airavataExperimentId, tokenId)
     self.recv_terminateExperiment()
 
-  def send_terminateExperiment(self, airavataExperimentId, tokenId):
+  def send_terminateExperiment(self, authzToken, airavataExperimentId, tokenId):
     self._oprot.writeMessageBegin('terminateExperiment', TMessageType.CALL, self._seqid)
     args = terminateExperiment_args()
+    args.authzToken = authzToken
     args.airavataExperimentId = airavataExperimentId
     args.tokenId = tokenId
     args.write(self._oprot)
@@ -4705,9 +4934,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     return
 
-  def registerApplicationModule(self, gatewayId, applicationModule):
+  def registerApplicationModule(self, authzToken, gatewayId, applicationModule):
     """
     Register a Application Module.
 
@@ -4719,15 +4950,17 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - applicationModule
     """
-    self.send_registerApplicationModule(gatewayId, applicationModule)
+    self.send_registerApplicationModule(authzToken, gatewayId, applicationModule)
     return self.recv_registerApplicationModule()
 
-  def send_registerApplicationModule(self, gatewayId, applicationModule):
+  def send_registerApplicationModule(self, authzToken, gatewayId, applicationModule):
     self._oprot.writeMessageBegin('registerApplicationModule', TMessageType.CALL, self._seqid)
     args = registerApplicationModule_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.applicationModule = applicationModule
     args.write(self._oprot)
@@ -4753,9 +4986,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "registerApplicationModule failed: unknown result");
 
-  def getApplicationModule(self, appModuleId):
+  def getApplicationModule(self, authzToken, appModuleId):
     """
     Fetch a Application Module.
 
@@ -4767,14 +5002,16 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - appModuleId
     """
-    self.send_getApplicationModule(appModuleId)
+    self.send_getApplicationModule(authzToken, appModuleId)
     return self.recv_getApplicationModule()
 
-  def send_getApplicationModule(self, appModuleId):
+  def send_getApplicationModule(self, authzToken, appModuleId):
     self._oprot.writeMessageBegin('getApplicationModule', TMessageType.CALL, self._seqid)
     args = getApplicationModule_args()
+    args.authzToken = authzToken
     args.appModuleId = appModuleId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -4799,9 +5036,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getApplicationModule failed: unknown result");
 
-  def updateApplicationModule(self, appModuleId, applicationModule):
+  def updateApplicationModule(self, authzToken, appModuleId, applicationModule):
     """
     Update a Application Module.
 
@@ -4816,15 +5055,17 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - appModuleId
      - applicationModule
     """
-    self.send_updateApplicationModule(appModuleId, applicationModule)
+    self.send_updateApplicationModule(authzToken, appModuleId, applicationModule)
     return self.recv_updateApplicationModule()
 
-  def send_updateApplicationModule(self, appModuleId, applicationModule):
+  def send_updateApplicationModule(self, authzToken, appModuleId, applicationModule):
     self._oprot.writeMessageBegin('updateApplicationModule', TMessageType.CALL, self._seqid)
     args = updateApplicationModule_args()
+    args.authzToken = authzToken
     args.appModuleId = appModuleId
     args.applicationModule = applicationModule
     args.write(self._oprot)
@@ -4850,19 +5091,23 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "updateApplicationModule failed: unknown result");
 
-  def getAllAppModules(self, gatewayId):
+  def getAllAppModules(self, authzToken, gatewayId):
     """
     Parameters:
+     - authzToken
      - gatewayId
     """
-    self.send_getAllAppModules(gatewayId)
+    self.send_getAllAppModules(authzToken, gatewayId)
     return self.recv_getAllAppModules()
 
-  def send_getAllAppModules(self, gatewayId):
+  def send_getAllAppModules(self, authzToken, gatewayId):
     self._oprot.writeMessageBegin('getAllAppModules', TMessageType.CALL, self._seqid)
     args = getAllAppModules_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -4887,9 +5132,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllAppModules failed: unknown result");
 
-  def deleteApplicationModule(self, appModuleId):
+  def deleteApplicationModule(self, authzToken, appModuleId):
     """
     Delete a Application Module.
 
@@ -4901,14 +5148,16 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - appModuleId
     """
-    self.send_deleteApplicationModule(appModuleId)
+    self.send_deleteApplicationModule(authzToken, appModuleId)
     return self.recv_deleteApplicationModule()
 
-  def send_deleteApplicationModule(self, appModuleId):
+  def send_deleteApplicationModule(self, authzToken, appModuleId):
     self._oprot.writeMessageBegin('deleteApplicationModule', TMessageType.CALL, self._seqid)
     args = deleteApplicationModule_args()
+    args.authzToken = authzToken
     args.appModuleId = appModuleId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -4933,9 +5182,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "deleteApplicationModule failed: unknown result");
 
-  def registerApplicationDeployment(self, gatewayId, applicationDeployment):
+  def registerApplicationDeployment(self, authzToken, gatewayId, applicationDeployment):
     """
     Register a Application Deployment.
 
@@ -4947,15 +5198,17 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - gatewayId
      - applicationDeployment
     """
-    self.send_registerApplicationDeployment(gatewayId, applicationDeployment)
+    self.send_registerApplicationDeployment(authzToken, gatewayId, applicationDeployment)
     return self.recv_registerApplicationDeployment()
 
-  def send_registerApplicationDeployment(self, gatewayId, applicationDeployment):
+  def send_registerApplicationDeployment(self, authzToken, gatewayId, applicationDeployment):
     self._oprot.writeMessageBegin('registerApplicationDeployment', TMessageType.CALL, self._seqid)
     args = registerApplicationDeployment_args()
+    args.authzToken = authzToken
     args.gatewayId = gatewayId
     args.applicationDeployment = applicationDeployment
     args.write(self._oprot)
@@ -4981,9 +5234,11 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
+    if result.ae is not None:
+      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "registerApplicationDeployment failed: unknown result");
 
-  def getApplicationDeployment(self, appDeploymentId):
+  def getApplicationDeployment(self, authzToken, appDeploymentId):
     """
     Fetch a Application Deployment.
 
@@ -4995,14 +5250,16 @@ class Client(Iface):
 
 
     Parameters:
+     - authzToken
      - appDeploymentId
     """
-    self.send_getApplicationDeployment(appDeploymentId)
+    self.send_getApplicationDeployment(authzToken, appDeploymentId)
     return self.recv_getApplicationDeployment()
 
-  def send_getApplicationDeployment(self, appDeploymentId):
+  def send_getApplicationDeployment(self, authzToken, appDeploymentId):
     self._oprot.writeMessageBegin('getApplicationDeployment', TMessageType.CALL, self._seqid)
     args = getApplicationDeployment_args()
+    args.authzToken = authzToken
     args.appDeploymentId = appDeploymentId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -5027,9 +5284,11 @@ class Client(Iface):
      

<TRUNCATED>

[31/44] airavata git commit: finished changing the API methods.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/283e700d/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 085ac58..e2b35c3 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -146,7 +146,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     @SecurityCheck
     public String addGateway(AuthzToken authzToken, Gateway gateway) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, TException {
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
 
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
@@ -167,7 +167,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     @SecurityCheck
     public void updateGateway(AuthzToken authzToken, String gatewayId, Gateway updatedGateway)
-            throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
 
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
@@ -190,7 +190,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     @SecurityCheck
     public Gateway getGateway(AuthzToken authzToken, String gatewayId) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, TException {
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
 
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
@@ -213,7 +213,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     @SecurityCheck
     public boolean deleteGateway(AuthzToken authzToken, String gatewayId) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, TException {
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
 
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
@@ -237,7 +237,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     @SecurityCheck
     public List<Gateway> getAllGateways(AuthzToken authzToken) throws InvalidRequestException, AiravataClientException,
-            AiravataSystemException, TException {
+            AiravataSystemException, AuthorizationException, TException {
 
         try {
             List<Gateway> gateways = new ArrayList<Gateway>();
@@ -259,7 +259,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     @SecurityCheck
     public boolean isGatewayExist(AuthzToken authzToken, String gatewayId) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, TException {
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
 
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
@@ -275,7 +275,7 @@ public class AiravataServerHandler implements Airavata.Iface {
 
     /*Following method wraps the logic of isGatewayExist method and this is to be called by any other method of the API as needed.*/
     private boolean isGatewayExistInternal(String gatewayId) throws InvalidRequestException, AiravataClientException,
-            AiravataSystemException, TException{
+            AiravataSystemException, AuthorizationException, TException{
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             return experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId);
@@ -311,7 +311,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     @SecurityCheck
     public String createProject(AuthzToken authzToken, String gatewayId, Project project) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, TException {
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
 
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
@@ -339,7 +339,7 @@ public class AiravataServerHandler implements Airavata.Iface {
 
     @SecurityCheck
     public void updateProject(AuthzToken authzToken, String projectId, Project updatedProject) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, ProjectNotFoundException, TException {
+            AiravataClientException, AiravataSystemException, ProjectNotFoundException, AuthorizationException, TException {
 
         if (!validateString(projectId) || !validateString(projectId)){
             logger.error("Project id cannot be empty...");
@@ -383,7 +383,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     @SecurityCheck
     public Project getProject(AuthzToken authzToken, String projectId) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, ProjectNotFoundException, TException {
+            AiravataClientException, AiravataSystemException, ProjectNotFoundException, AuthorizationException, TException {
 
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
@@ -432,8 +432,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      *    The starting point of the results to be fetched
      **/
     @Override
-    public List<Project> getAllUserProjectsWithPagination(String gatewayId, String userName,
-                                                          int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<Project> getAllUserProjectsWithPagination(AuthzToken authzToken, String gatewayId, String userName,
+                                                          int limit, int offset)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -488,10 +490,8 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Deprecated
     @Override
-    public List<Project> searchProjectsByProjectName(String gatewayId, String userName, String projectName) throws InvalidRequestException,
-                                                                                                 AiravataClientException,
-                                                                                                 AiravataSystemException,
-                                                                                                 TException {
+    public List<Project> searchProjectsByProjectName(String gatewayId, String userName, String projectName)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         return searchProjectsByProjectNameWithPagination(gatewayId, userName, projectName, -1, -1);
     }
 
@@ -511,7 +511,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      *    The starting point of the results to be fetched
      */
     @Override
-    public List<Project> searchProjectsByProjectNameWithPagination(String gatewayId, String userName, String projectName, int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<Project> searchProjectsByProjectNameWithPagination(AuthzToken authzToken, String gatewayId, String userName,
+                                                                   String projectName, int limit, int offset)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -587,7 +590,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      *    The starting point of the results to be fetched
      */
     @Override
-    public List<Project> searchProjectsByProjectDescWithPagination(String gatewayId, String userName, String description, int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<Project> searchProjectsByProjectDescWithPagination(String gatewayId, String userName, String description,
+                                                                   int limit, int offset) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -643,10 +649,8 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Deprecated
     @Override
-    public List<ExperimentSummaryModel> searchExperimentsByName(String gatewayId, String userName, String expName) throws InvalidRequestException,
-                                                                                                   AiravataClientException,
-                                                                                                   AiravataSystemException,
-                                                                                                   TException {
+    public List<ExperimentSummaryModel> searchExperimentsByName(String gatewayId, String userName, String expName)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         return searchExperimentsByNameWithPagination(gatewayId, userName, expName, -1, -1);
     }
 
@@ -666,7 +670,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      *       The starting point of the results to be fetched
      */
     @Override
-    public List<ExperimentSummaryModel> searchExperimentsByNameWithPagination(String gatewayId, String userName, String expName, int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ExperimentSummaryModel> searchExperimentsByNameWithPagination(AuthzToken authzToken, String gatewayId, String userName,
+                                                                              String expName, int limit, int offset)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -721,10 +728,8 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Deprecated
     @Override
-    public List<ExperimentSummaryModel> searchExperimentsByDesc(String gatewayId, String userName, String description) throws InvalidRequestException,
-                                                                                                       AiravataClientException,
-                                                                                                       AiravataSystemException,
-                                                                                                       TException {
+    public List<ExperimentSummaryModel> searchExperimentsByDesc(String gatewayId, String userName, String description)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         return searchExperimentsByDescWithPagination(gatewayId, userName, description, -1, -1);
     }
 
@@ -744,7 +749,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      *       The starting point of the results to be fetched
      */
     @Override
-    public List<ExperimentSummaryModel> searchExperimentsByDescWithPagination(String gatewayId, String userName, String description, int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ExperimentSummaryModel> searchExperimentsByDescWithPagination(AuthzToken authzToken, String gatewayId, String userName,
+                                                                              String description, int limit, int offset)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -799,7 +807,8 @@ public class AiravataServerHandler implements Airavata.Iface {
      */
     @Deprecated
     @Override
-    public List<ExperimentSummaryModel> searchExperimentsByApplication(String gatewayId, String userName, String applicationId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public List<ExperimentSummaryModel> searchExperimentsByApplication(String gatewayId, String userName, String applicationId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         return searchExperimentsByApplicationWithPagination(gatewayId, userName, applicationId, -1, -1);
     }
 
@@ -819,7 +828,11 @@ public class AiravataServerHandler implements Airavata.Iface {
      *       The starting point of the results to be fetched
      */
     @Override
-    public List<ExperimentSummaryModel> searchExperimentsByApplicationWithPagination(String gatewayId, String userName, String applicationId, int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ExperimentSummaryModel> searchExperimentsByApplicationWithPagination(AuthzToken authzToken, String gatewayId,
+                                                                                     String userName, String applicationId,
+                                                                                     int limit, int offset)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -894,7 +907,11 @@ public class AiravataServerHandler implements Airavata.Iface {
      *       The starting point of the results to be fetched
      */
     @Override
-    public List<ExperimentSummaryModel> searchExperimentsByStatusWithPagination(String gatewayId, String userName, ExperimentState experimentState, int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ExperimentSummaryModel> searchExperimentsByStatusWithPagination(AuthzToken authzToken, String gatewayId,
+                                                                                String userName, ExperimentState experimentState,
+                                                                                int limit, int offset)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -973,7 +990,11 @@ public class AiravataServerHandler implements Airavata.Iface {
      *       The starting point of the results to be fetched
      */
     @Override
-    public List<ExperimentSummaryModel> searchExperimentsByCreationTimeWithPagination(String gatewayId, String userName, long fromTime, long toTime, int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ExperimentSummaryModel> searchExperimentsByCreationTimeWithPagination(String gatewayId,
+                                                                                      String userName, long fromTime,
+                                                                                      long toTime, int limit, int offset)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -1031,8 +1052,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      *       The starting point of the results to be fetched
      */
     @Override
-    public List<ExperimentSummaryModel> searchExperiments(String gatewayId, String userName, Map<ExperimentSearchFields, String> filters, int limit, int offset)
-            throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ExperimentSummaryModel> searchExperiments(AuthzToken authzToken, String gatewayId, String userName, Map<ExperimentSearchFields,
+            String> filters, int limit, int offset)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -1102,7 +1125,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * @throws TException
      */
     @Override
-    public ExperimentStatistics getExperimentStatistics(String gatewayId, long fromTime, long toTime) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public ExperimentStatistics getExperimentStatistics(AuthzToken authzToken, String gatewayId, long fromTime, long toTime)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -1154,8 +1179,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      *       The starting point of the results to be fetched
      */
     @Override
-    public List<ExperimentModel> getAllExperimentsInProjectWithPagination(String projectId, int limit, int offset)
-            throws InvalidRequestException, AiravataClientException, AiravataSystemException, ProjectNotFoundException, TException {
+    @SecurityCheck
+    public List<ExperimentModel> getAllExperimentsInProjectWithPagination(AuthzToken authzToken, String projectId, int limit, int offset)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, ProjectNotFoundException,
+            AuthorizationException, TException {
         if (!validateString(projectId)){
             logger.error("Project id cannot be empty. Please provide a valid project ID...");
             AiravataSystemException exception = new AiravataSystemException();
@@ -1220,7 +1247,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      *       The starting point of the results to be fetched
      */
     @Override
-    public List<ExperimentModel> getAllUserExperimentsWithPagination(String gatewayId, String userName, int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ExperimentModel> getAllUserExperimentsWithPagination(AuthzToken authzToken, String gatewayId, String userName, int limit,
+                                                                     int offset) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -1283,7 +1313,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      *                                                               rather an Airavata Administrator will be notified to take corrective action.
      */
     @Override
-    public String createExperiment(String gatewayId, ExperimentModel experiment) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String createExperiment(AuthzToken authzToken, String gatewayId, ExperimentModel experiment) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!validateString(experiment.getExperimentName())){
@@ -1341,7 +1373,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      *                                                                   rather an Airavata Administrator will be notified to take corrective action.
      */
     @Override
-    public ExperimentModel getExperiment(String airavataExperimentId) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public ExperimentModel getExperiment(AuthzToken authzToken, String airavataExperimentId) throws InvalidRequestException,
+            ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
@@ -1383,7 +1417,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      *                                                                   rather an Airavata Administrator will be notified to take corrective action.
      */
     @Override
-    public void updateExperiment(String airavataExperimentId, ExperimentModel experiment) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public void updateExperiment(AuthzToken authzToken, String airavataExperimentId, ExperimentModel experiment)
+            throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException,
+            AuthorizationException, TException {
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)) {
@@ -1420,7 +1457,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public void updateExperimentConfiguration(String airavataExperimentId, UserConfigurationDataModel userConfiguration) throws TException {
+    @SecurityCheck
+    public void updateExperimentConfiguration(AuthzToken authzToken, String airavataExperimentId, UserConfigurationDataModel userConfiguration)
+            throws AuthorizationException, TException {
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
@@ -1460,7 +1499,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public void updateResourceScheduleing(String airavataExperimentId, ComputationalResourceSchedulingModel resourceScheduling) throws TException {
+    @SecurityCheck
+    public void updateResourceScheduleing(AuthzToken authzToken, String airavataExperimentId,
+                                          ComputationalResourceSchedulingModel resourceScheduling) throws AuthorizationException, TException {
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
@@ -1511,7 +1552,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * @param airavataExperimentId
      */
     @Override
-    public boolean validateExperiment(String airavataExperimentId) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean validateExperiment(AuthzToken authzToken, String airavataExperimentId) throws InvalidRequestException,
+            ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
      	try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
  			if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)) {
@@ -1567,11 +1610,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      *         rather an Airavata Administrator will be notified to take corrective action.
      */
     @Override
-    public ExperimentStatus getExperimentStatus(String airavataExperimentId) throws InvalidRequestException,
-                                                                                    ExperimentNotFoundException,
-                                                                                    AiravataClientException,
-                                                                                    AiravataSystemException,
-                                                                                    TException {
+    @SecurityCheck
+    public ExperimentStatus getExperimentStatus(AuthzToken authzToken, String airavataExperimentId) throws InvalidRequestException,
+            ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
@@ -1590,7 +1631,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public List<OutputDataObjectType> getExperimentOutputs(String airavataExperimentId) throws TException {
+    @SecurityCheck
+    public List<OutputDataObjectType> getExperimentOutputs(AuthzToken authzToken, String airavataExperimentId)
+            throws AuthorizationException, TException {
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
@@ -1608,11 +1651,15 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public List<OutputDataObjectType> getIntermediateOutputs(String airavataExperimentId) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<OutputDataObjectType> getIntermediateOutputs(AuthzToken authzToken, String airavataExperimentId) throws InvalidRequestException,
+            ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         return null;
     }
 
-    public Map<String, JobStatus> getJobStatuses(String airavataExperimentId) throws TException {
+    @SecurityCheck
+    public Map<String, JobStatus> getJobStatuses(AuthzToken authzToken, String airavataExperimentId)
+            throws AuthorizationException, TException {
         Map<String, JobStatus> jobStatus = new HashMap<String, JobStatus>();
 	    // FIXME : implement this method with new data model
 /*        try {
@@ -1651,7 +1698,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public List<JobModel> getJobDetails(String airavataExperimentId) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<JobModel> getJobDetails(AuthzToken authzToken, String airavataExperimentId) throws InvalidRequestException,
+            ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         List<JobModel> jobDetailsList = new ArrayList<JobModel>();
 	    // FIXME : fix this method with new data model.
       /*  try {
@@ -1725,7 +1774,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      *          rather an Airavata Administrator will be notified to take corrective action.
      */
     @Override
-    public void launchExperiment(final String airavataExperimentId, String airavataCredStoreToken) throws TException {
+    @SecurityCheck
+    public void launchExperiment(AuthzToken authzToken, final String airavataExperimentId, String airavataCredStoreToken)
+            throws AuthorizationException, TException {
     	try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
 			if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)) {
@@ -1802,7 +1853,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      * @param newExperiementName
      */
     @Override
-    public String cloneExperiment(String existingExperimentID, String newExperiementName) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String cloneExperiment(AuthzToken authzToken, String existingExperimentID, String newExperiementName)
+            throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException,
+            AuthorizationException, TException {
         try {
             experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, existingExperimentID)){
@@ -1854,7 +1908,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      *                                                                   rather an Airavata Administrator will be notified to take corrective action.
      */
     @Override
-    public void terminateExperiment(String airavataExperimentId, String tokenId) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public void terminateExperiment(AuthzToken authzToken, String airavataExperimentId, String tokenId) throws InvalidRequestException,
+            ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             if (!(experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId))){
                 logger.error("Experiment does not exist.Please provide a valid experiment id...");
@@ -1879,7 +1935,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a server-side generated airavata appModule globally unique identifier.
      */
     @Override
-    public String registerApplicationModule(String gatewayId, ApplicationModule applicationModule) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String registerApplicationModule(AuthzToken, String gatewayId, ApplicationModule applicationModule)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -1904,7 +1962,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a application Module Object.
      */
     @Override
-    public ApplicationModule getApplicationModule(String appModuleId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public ApplicationModule getApplicationModule(AuthzToken authzToken, String appModuleId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getApplicationModule(appModuleId);
@@ -1926,7 +1986,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the update.
      */
     @Override
-    public boolean updateApplicationModule(String appModuleId, ApplicationModule applicationModule) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateApplicationModule(AuthzToken authzToken, String appModuleId, ApplicationModule applicationModule)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationInterface().updateApplicationModule(appModuleId, applicationModule);
@@ -1941,7 +2003,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public List<ApplicationModule> getAllAppModules(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ApplicationModule> getAllAppModules(AuthzToken authzToken, String gatewayId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -1966,7 +2030,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean deleteApplicationModule(String appModuleId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean deleteApplicationModule(AuthzToken authzToken, String appModuleId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().removeApplicationModule(appModuleId);
@@ -1986,7 +2052,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      *                                     Returns a server-side generated airavata appModule globally unique identifier.
      */
     @Override
-    public String registerApplicationDeployment(String gatewayId, ApplicationDeploymentDescription applicationDeployment) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String registerApplicationDeployment(AuthzToken authzToken, String gatewayId, ApplicationDeploymentDescription applicationDeployment)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -2011,7 +2079,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a application Deployment Object.
      */
     @Override
-    public ApplicationDeploymentDescription getApplicationDeployment(String appDeploymentId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public ApplicationDeploymentDescription getApplicationDeployment(AuthzToken authzToken, String appDeploymentId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationDeployment().getApplicationDeployement(appDeploymentId);
@@ -2033,7 +2103,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the update.
      */
     @Override
-    public boolean updateApplicationDeployment(String appDeploymentId, ApplicationDeploymentDescription applicationDeployment) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateApplicationDeployment(AuthzToken authzToken, String appDeploymentId,
+                                               ApplicationDeploymentDescription applicationDeployment)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationDeployment().updateApplicationDeployment(appDeploymentId, applicationDeployment);
@@ -2055,7 +2128,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean deleteApplicationDeployment(String appDeploymentId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean deleteApplicationDeployment(AuthzToken authzToken, String appDeploymentId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationDeployment().removeAppDeployment(appDeploymentId);
@@ -2076,7 +2151,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns the list of all application Deployment Objects.
      */
     @Override
-    public List<ApplicationDeploymentDescription> getAllApplicationDeployments(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ApplicationDeploymentDescription> getAllApplicationDeployments(AuthzToken authzToken, String gatewayId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -2101,7 +2178,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a list of Deployed Resources.
      */
     @Override
-    public List<String> getAppModuleDeployedResources(String appModuleId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<String> getAppModuleDeployedResources(AuthzToken authzToken, String appModuleId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             List<String> appDeployments = new ArrayList<String>();
             appCatalog = RegistryFactory.getAppCatalog();
@@ -2128,7 +2207,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      *                                    Returns a server-side generated airavata application interface globally unique identifier.
      */
     @Override
-    public String registerApplicationInterface(String gatewayId, ApplicationInterfaceDescription applicationInterface) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String registerApplicationInterface(AuthzToken authzToken, String gatewayId,
+                                               ApplicationInterfaceDescription applicationInterface) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -2153,7 +2235,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a application Interface Object.
      */
     @Override
-    public ApplicationInterfaceDescription getApplicationInterface(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public ApplicationInterfaceDescription getApplicationInterface(AuthzToken authzToken, String appInterfaceId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getApplicationInterface(appInterfaceId);
@@ -2175,7 +2259,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the update.
      */
     @Override
-    public boolean updateApplicationInterface(String appInterfaceId, ApplicationInterfaceDescription applicationInterface) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateApplicationInterface(AuthzToken authzToken, String appInterfaceId,
+                                              ApplicationInterfaceDescription applicationInterface) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException. TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationInterface().updateApplicationInterface(appInterfaceId, applicationInterface);
@@ -2197,7 +2284,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean deleteApplicationInterface(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean deleteApplicationInterface(AuthzToken authzToken, String appInterfaceId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().removeApplicationInterface(appInterfaceId);
@@ -2217,7 +2306,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a list of application interfaces with corresponsing id's
      */
     @Override
-    public Map<String, String> getAllApplicationInterfaceNames(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public Map<String, String> getAllApplicationInterfaceNames(AuthzToken authzToken, String gatewayId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -2248,7 +2339,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a list of application interfaces documents
      */
     @Override
-    public List<ApplicationInterfaceDescription> getAllApplicationInterfaces(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ApplicationInterfaceDescription> getAllApplicationInterfaces(AuthzToken authzToken, String gatewayId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         if (!isGatewayExistInternal(gatewayId)){
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -2273,7 +2366,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a list of application inputs.
      */
     @Override
-    public List<InputDataObjectType> getApplicationInputs(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<InputDataObjectType> getApplicationInputs(AuthzToken authzToken, String appInterfaceId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getApplicationInputs(appInterfaceId);
@@ -2294,7 +2389,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a list of application outputs.
      */
     @Override
-    public List<OutputDataObjectType> getApplicationOutputs(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<OutputDataObjectType> getApplicationOutputs(AuthzToken authzToken, String appInterfaceId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getApplicationOutputs(appInterfaceId);
@@ -2316,7 +2413,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Deployments of each modules listed within the interfaces will be listed.
      */
     @Override
-    public Map<String, String> getAvailableAppInterfaceComputeResources(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public Map<String, String> getAvailableAppInterfaceComputeResources(AuthzToken authzToken, String appInterfaceId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             ApplicationDeployment applicationDeployment = appCatalog.getApplicationDeployment();
@@ -2357,7 +2456,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a server-side generated airavata compute resource globally unique identifier.
      */
     @Override
-    public String registerComputeResource(ComputeResourceDescription computeResourceDescription) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String registerComputeResource(AuthzToken authzToken, ComputeResourceDescription computeResourceDescription)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().addComputeResource(computeResourceDescription);
@@ -2378,7 +2479,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Compute Resource Object created from the datamodel..
      */
     @Override
-    public ComputeResourceDescription getComputeResource(String computeResourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public ComputeResourceDescription getComputeResource(AuthzToken authzToken, String computeResourceId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getComputeResource(computeResourceId);
@@ -2398,7 +2501,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Compute Resource Object created from the datamodel..
      */
     @Override
-    public Map<String, String> getAllComputeResourceNames() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public Map<String, String> getAllComputeResourceNames(AuthzToken authzToken) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getAllComputeResourceIdList();
@@ -2420,7 +2525,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the update.
      */
     @Override
-    public boolean updateComputeResource(String computeResourceId, ComputeResourceDescription computeResourceDescription) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateComputeResource(AuthzToken authzToken, String computeResourceId, ComputeResourceDescription computeResourceDescription)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().updateComputeResource(computeResourceId, computeResourceDescription);
@@ -2442,7 +2549,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean deleteComputeResource(String computeResourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean deleteComputeResource(AuthzToken authzToken, String computeResourceId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeComputeResource(computeResourceId);
@@ -2467,7 +2576,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public String addLocalSubmissionDetails(String computeResourceId, int priorityOrder, LOCALSubmission localSubmission) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String addLocalSubmissionDetails(AuthzToken authzToken, String computeResourceId, int priorityOrder, LOCALSubmission localSubmission)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
@@ -2491,7 +2602,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean updateLocalSubmissionDetails(String jobSubmissionInterfaceId, LOCALSubmission localSubmission) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateLocalSubmissionDetails(AuthzToken authzToken, String jobSubmissionInterfaceId, LOCALSubmission localSubmission)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             LocalSubmissionResource submission = AppCatalogThriftConversion.getLocalJobSubmission(localSubmission);
             submission.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
@@ -2507,7 +2620,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public LOCALSubmission getLocalJobSubmission(String jobSubmissionId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public LOCALSubmission getLocalJobSubmission(AuthzToken authzToken, String jobSubmissionId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getLocalJobSubmission(jobSubmissionId);
@@ -2543,7 +2658,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public String addSSHJobSubmissionDetails(String computeResourceId, int priorityOrder, SSHJobSubmission sshJobSubmission) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String addSSHJobSubmissionDetails(AuthzToken authzToken, String computeResourceId, int priorityOrder, SSHJobSubmission sshJobSubmission)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
@@ -2559,7 +2676,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public SSHJobSubmission getSSHJobSubmission(String jobSubmissionId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public SSHJobSubmission getSSHJobSubmission(AuthzToken authzToken, String jobSubmissionId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getSSHJobSubmission(jobSubmissionId);
@@ -2584,7 +2703,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public String addCloudJobSubmissionDetails(String computeResourceId, int priorityOrder, CloudJobSubmission cloudJobSubmission) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String addCloudJobSubmissionDetails(AuthzToken authzToken, String computeResourceId, int priorityOrder,
+                                               CloudJobSubmission cloudJobSubmission) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
@@ -2600,7 +2722,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public CloudJobSubmission getCloudJobSubmission(String jobSubmissionId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public CloudJobSubmission getCloudJobSubmission(AuthzToken authzToken, String jobSubmissionId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getCloudJobSubmission(jobSubmissionId);
@@ -2615,10 +2739,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-	public String addUNICOREJobSubmissionDetails(String computeResourceId,
-			int priorityOrder, UnicoreJobSubmission unicoreJobSubmission)
-			throws InvalidRequestException, AiravataClientException,
-			AiravataSystemException, TException {
+    @SecurityCheck
+	public String addUNICOREJobSubmissionDetails(AuthzToken authzToken, String computeResourceId, int priorityOrder,
+                                                 UnicoreJobSubmission unicoreJobSubmission)
+			throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
 		try {
 	        appCatalog = RegistryFactory.getAppCatalog();
 	        ComputeResource computeResource = appCatalog.getComputeResource();
@@ -2634,7 +2758,9 @@ public class AiravataServerHandler implements Airavata.Iface {
 	}
 
     @Override
-    public UnicoreJobSubmission getUnicoreJobSubmission(String jobSubmissionId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public UnicoreJobSubmission getUnicoreJobSubmission(AuthzToken authzToken, String jobSubmissionId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getUNICOREJobSubmission(jobSubmissionId);
@@ -2657,7 +2783,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean updateSSHJobSubmissionDetails(String jobSubmissionInterfaceId, SSHJobSubmission sshJobSubmission) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateSSHJobSubmissionDetails(AuthzToken authzToken, String jobSubmissionInterfaceId, SSHJobSubmission sshJobSubmission)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             SshJobSubmissionResource submission = AppCatalogThriftConversion.getSSHJobSubmission(sshJobSubmission);
             submission.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
@@ -2673,7 +2801,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     /**
-     * Update the given SSH Job Submission details
+     * Update the given cloud Job Submission details
      *
      * @param jobSubmissionInterfaceId The identifier of the JobSubmission Interface to be updated.
      * @param cloudJobSubmission         The SSHJobSubmission object to be updated.
@@ -2681,7 +2809,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean updateCloudJobSubmissionDetails(String jobSubmissionInterfaceId, CloudJobSubmission cloudJobSubmission) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateCloudJobSubmissionDetails(AuthzToken authzToken, String jobSubmissionInterfaceId, CloudJobSubmission cloudJobSubmission)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             CloudSubmissionResource submission = AppCatalogThriftConversion.getCloudJobSubmission(cloudJobSubmission);
             submission.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
@@ -2697,7 +2827,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public boolean updateUnicoreJobSubmissionDetails(String jobSubmissionInterfaceId, UnicoreJobSubmission unicoreJobSubmission) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateUnicoreJobSubmissionDetails(AuthzToken authzToken, String jobSubmissionInterfaceId, UnicoreJobSubmission unicoreJobSubmission)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             UnicoreJobSubmissionResource submission = AppCatalogThriftConversion.getUnicoreJobSubmission(unicoreJobSubmission);
             submission.setjobSubmissionInterfaceId(jobSubmissionInterfaceId);
@@ -2723,7 +2855,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public String addLocalDataMovementDetails(String computeResourceId, int priorityOrder, LOCALDataMovement localDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String addLocalDataMovementDetails(AuthzToken authzToken, String computeResourceId, int priorityOrder,
+                                              LOCALDataMovement localDataMovement) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
@@ -2747,7 +2882,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the update.
      */
     @Override
-    public boolean updateLocalDataMovementDetails(String jobSubmissionInterfaceId, LOCALDataMovement localDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateLocalDataMovementDetails(AuthzToken authzToken, String jobSubmissionInterfaceId, LOCALDataMovement localDataMovement)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             LocalDataMovementResource movment = AppCatalogThriftConversion.getLocalDataMovement(localDataMovement);
             movment.setDataMovementInterfaceId(jobSubmissionInterfaceId);
@@ -2763,7 +2900,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public LOCALDataMovement getLocalDataMovement(String dataMovementId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public LOCALDataMovement getLocalDataMovement(AuthzToken authzToken, String dataMovementId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getLocalDataMovement(dataMovementId);
@@ -2799,7 +2938,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public String addSCPDataMovementDetails(String computeResourceId, int priorityOrder, SCPDataMovement scpDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String addSCPDataMovementDetails(AuthzToken authzToken, String computeResourceId, int priorityOrder, SCPDataMovement scpDataMovement)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
@@ -2824,7 +2965,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the update.
      */
     @Override
-    public boolean updateSCPDataMovementDetails(String jobSubmissionInterfaceId, SCPDataMovement scpDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateSCPDataMovementDetails(AuthzToken authzToken, String jobSubmissionInterfaceId, SCPDataMovement scpDataMovement)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             ScpDataMovementResource movment = AppCatalogThriftConversion.getSCPDataMovementDescription(scpDataMovement);
             movment.setDataMovementInterfaceId(jobSubmissionInterfaceId);
@@ -2840,7 +2983,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public SCPDataMovement getSCPDataMovement(String dataMovementId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public SCPDataMovement getSCPDataMovement(AuthzToken authzToken, String dataMovementId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getSCPDataMovement(dataMovementId);
@@ -2855,7 +3000,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public String addUnicoreDataMovementDetails(String computeResourceId, int priorityOrder, UnicoreDataMovement unicoreDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String addUnicoreDataMovementDetails(AuthzToken authzToken, String computeResourceId, int priorityOrder, UnicoreDataMovement unicoreDataMovement)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
@@ -2871,7 +3018,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public boolean updateUnicoreDataMovementDetails(String dataMovementInterfaceId, UnicoreDataMovement unicoreDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateUnicoreDataMovementDetails(AuthzToken authzToken, String dataMovementInterfaceId, UnicoreDataMovement unicoreDataMovement)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             UnicoreDataMovementResource movment = AppCatalogThriftConversion.getUnicoreDMResource(unicoreDataMovement);
             movment.setDataMovementId(dataMovementInterfaceId);
@@ -2887,7 +3036,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public UnicoreDataMovement getUnicoreDataMovement(String dataMovementId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public UnicoreDataMovement getUnicoreDataMovement(AuthzToken authzToken, String dataMovementId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getUNICOREDataMovement(dataMovementId);
@@ -2912,7 +3063,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public String addGridFTPDataMovementDetails(String computeResourceId, int priorityOrder, GridFTPDataMovement gridFTPDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String addGridFTPDataMovementDetails(AuthzToken authzToken, String computeResourceId, int priorityOrder,
+                                                GridFTPDataMovement gridFTPDataMovement) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
@@ -2937,7 +3091,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the updation.
      */
     @Override
-    public boolean updateGridFTPDataMovementDetails(String jobSubmissionInterfaceId, GridFTPDataMovement gridFTPDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateGridFTPDataMovementDetails(AuthzToken authzToken, String jobSubmissionInterfaceId, GridFTPDataMovement gridFTPDataMovement)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             GridftpDataMovementResource movment = AppCatalogThriftConversion.getGridFTPDataMovementDescription(gridFTPDataMovement);
             movment.setDataMovementInterfaceId(jobSubmissionInterfaceId);
@@ -2953,7 +3109,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public GridFTPDataMovement getGridFTPDataMovement(String dataMovementId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public GridFTPDataMovement getGridFTPDataMovement(AuthzToken authzToken, String dataMovementId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getGridFTPDataMovement(dataMovementId);
@@ -2976,7 +3134,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the change.
      */
     @Override
-    public boolean changeJobSubmissionPriority(String jobSubmissionInterfaceId, int newPriorityOrder) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean changeJobSubmissionPriority(AuthzToken authzToken, String jobSubmissionInterfaceId, int newPriorityOrder) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         return false;
     }
 
@@ -2989,7 +3149,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the change.
      */
     @Override
-    public boolean changeDataMovementPriority(String dataMovementInterfaceId, int newPriorityOrder) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean changeDataMovementPriority(AuthzToken authzToken, String dataMovementInterfaceId, int newPriorityOrder)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         return false;
     }
 
@@ -3001,7 +3163,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the changes.
      */
     @Override
-    public boolean changeJobSubmissionPriorities(Map<String, Integer> jobSubmissionPriorityMap) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean changeJobSubmissionPriorities(AuthzToken authzToken, Map<String, Integer> jobSubmissionPriorityMap)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         return false;
     }
 
@@ -3013,7 +3177,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the changes.
      */
     @Override
-    public boolean changeDataMovementPriorities(Map<String, Integer> dataMovementPriorityMap) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean changeDataMovementPriorities(AuthzToken authzToken, Map<String, Integer> dataMovementPriorityMap)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         return false;
     }
 
@@ -3025,7 +3191,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean deleteJobSubmissionInterface(String computeResourceId, String jobSubmissionInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean deleteJobSubmissionInterface(AuthzToken authzToken, String computeResourceId, String jobSubmissionInterfaceId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeJobSubmissionInterface(computeResourceId, jobSubmissionInterfaceId);
@@ -3047,7 +3215,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean deleteDataMovementInterface(String computeResourceId, String dataMovementInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean deleteDataMovementInterface(AuthzToken authzToken, String computeResourceId, String dataMovementInterfaceId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeDataMovementInterface(computeResourceId, dataMovementInterfaceId);
@@ -3062,7 +3232,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public String registerResourceJobManager(ResourceJobManager resourceJobManager) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String registerResourceJobManager(AuthzToken authzToken, ResourceJobManager resourceJobManager) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().addResourceJobManager(resourceJobManager);
@@ -3076,7 +3248,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public boolean updateResourceJobManager(String resourceJobManagerId, ResourceJobManager updatedResourceJobManager) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateResourceJobManager(AuthzToken authzToken, String resourceJobManagerId, ResourceJobManager updatedResourceJobManager)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().updateResourceJobManager(resourceJobManagerId, updatedResourceJobManager);
@@ -3091,7 +3265,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public ResourceJobManager getResourceJobManager(String resourceJobManagerId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public ResourceJobManager getResourceJobManager(AuthzToken authzToken,String resourceJobManagerId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getResourceJobManager(resourceJobManagerId);
@@ -3105,7 +3281,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public boolean deleteResourceJobManager(String resourceJobManagerId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean deleteResourceJobManager(AuthzToken authzToken, String resourceJobManagerId) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().deleteResourceJobManager(resourceJobManagerId);
@@ -3120,7 +3298,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public boolean deleteBatchQueue(String computeResourceId, String queueName) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean deleteBatchQueue(AuthzToken authzToken, String computeResourceId, String queueName) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeBatchQueue(computeResourceId, queueName);
@@ -3144,7 +3324,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the registration.
      */
     @Override
-    public String registerGatewayResourceProfile(GatewayResourceProfile gatewayResourceProfile) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public String registerGatewayResourceProfile(AuthzToken authzToken, GatewayResourceProfile gatewayResourceProfile)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             if (!validateString(gatewayResourceProfile.getGatewayID())){
                 logger.error("Cannot create gateway profile with empty gateway id");
@@ -3177,7 +3359,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Gateway Resource Profile Object.
      */
     @Override
-    public GatewayResourceProfile getGatewayResourceProfile(String gatewayID) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public GatewayResourceProfile getGatewayResourceProfile(AuthzToken authzToken, String gatewayID) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
@@ -3204,7 +3388,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the update.
      */
     @Override
-    public boolean updateGatewayResourceProfile(String gatewayID, GatewayResourceProfile gatewayResourceProfile) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateGatewayResourceProfile(AuthzToken authzToken, String gatewayID, GatewayResourceProfile gatewayResourceProfile)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
@@ -3231,7 +3417,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean deleteGatewayResourceProfile(String gatewayID) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean deleteGatewayResourceProfile(AuthzToken authzToken, String gatewayID) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
@@ -3261,7 +3449,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Instead an update should be used.
      */
     @Override
-    public boolean addGatewayComputeResourcePreference(String gatewayID, String computeResourceId, ComputeResourcePreference computeResourcePreference) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean addGatewayComputeResourcePreference(AuthzToken authzToken, String gatewayID, String computeResourceId,
+                                                       ComputeResourcePreference computeResourcePreference) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
@@ -3295,7 +3486,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns the ComputeResourcePreference object.
      */
     @Override
-    public ComputeResourcePreference getGatewayComputeResourcePreference(String gatewayID, String computeResourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public ComputeResourcePreference getGatewayComputeResourcePreference(AuthzToken authzToken, String gatewayID, String computeResourceId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
@@ -3336,7 +3529,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns the ComputeResourcePreference object.
      */
     @Override
-    public List<ComputeResourcePreference> getAllGatewayComputeResourcePreferences(String gatewayID) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<ComputeResourcePreference> getAllGatewayComputeResourcePreferences(AuthzToken authzToken, String gatewayID)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
@@ -3355,7 +3550,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-    public List<GatewayResourceProfile> getAllGatewayComputeResources() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public List<GatewayResourceProfile> getAllGatewayComputeResources(AuthzToken authzToken) throws InvalidRequestException,
+            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
@@ -3378,7 +3575,10 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the updation.
      */
     @Override
-    public boolean updateGatewayComputeResourcePreference(String gatewayID, String computeResourceId, ComputeResourcePreference computeResourcePreference) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean updateGatewayComputeResourcePreference(AuthzToken authzToken, String gatewayID, String computeResourceId,
+                                                          ComputeResourcePreference computeResourcePreference)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
@@ -3420,7 +3620,9 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Returns a success/failure of the deletion.
      */
     @Override
-    public boolean deleteGatewayComputeResourcePreference(String gatewayID, String computeResourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+    public boolean deleteGatewayComputeResourcePreference(AuthzToken authzToken, String gatewayID, String computeResourceId)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             if (!isGatewayExistInternal(gatewayID)){
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
@@ -3439,8 +3641,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     }
 
     @Override
-	public List<String> getAllWorkflows(String gatewayId) throws InvalidRequestException,
-			AiravataClientException, AiravataSystemException, TException {
+    @SecurityCheck
+	public List<String> getAllWorkflows(AuthzToken authzToken, String gat

<TRUNCATED>

[43/44] airavata git commit: Merge branch 'sprint4_pr1' into sprint4_pr2

Posted by sm...@apache.org.
Merge branch 'sprint4_pr1' into sprint4_pr2


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

Branch: refs/heads/master
Commit: 43fd3d7ff8d8f61bb6a84a68b5bf8e83ff836f2b
Parents: 57164c7 7be309d
Author: hasinitg <ha...@gmail.com>
Authored: Sun Jul 19 21:14:36 2015 +0530
Committer: hasinitg <ha...@gmail.com>
Committed: Sun Jul 19 21:14:36 2015 +0530

----------------------------------------------------------------------
 airavata-api/airavata-api-server/pom.xml        |    10 +
 .../airavata/api/server/AiravataAPIServer.java  |    13 +-
 .../server/handler/AiravataServerHandler.java   |   704 +-
 .../api/server/security/SecurityCheck.java      |    36 +
 .../server/security/SecurityInterceptor.java    |    65 +
 .../api/server/security/SecurityModule.java     |    39 +
 .../java/org/apache/airavata/api/Airavata.java  | 31058 +++++++++++++++--
 .../main/resources/lib/airavata/Airavata.cpp    |  8847 ++++-
 .../src/main/resources/lib/airavata/Airavata.h  |  5532 ++-
 .../lib/airavata/Airavata_server.skeleton.cpp   |   312 +-
 .../lib/airavata/airavata_api_constants.cpp     |    36 +
 .../lib/airavata/airavata_api_constants.h       |    42 +
 .../lib/airavata/airavata_api_types.cpp         |    33 +
 .../resources/lib/airavata/airavata_api_types.h |    55 +
 .../lib/airavata/airavata_commons_constants.cpp |    36 +
 .../lib/airavata/airavata_commons_constants.h   |    42 +
 .../lib/airavata/airavata_commons_types.cpp     |   504 +
 .../lib/airavata/airavata_commons_types.h       |   221 +
 .../airavata/airavata_data_models_constants.cpp |    34 +
 .../airavata/airavata_data_models_constants.h   |    41 +
 .../lib/airavata/airavata_data_models_types.cpp |    33 +
 .../lib/airavata/airavata_data_models_types.h   |    52 +
 .../lib/airavata/airavata_errors_constants.cpp  |    34 +
 .../lib/airavata/airavata_errors_constants.h    |    41 +
 .../lib/airavata/airavata_errors_types.cpp      |  1169 +
 .../lib/airavata/airavata_errors_types.h        |   538 +
 .../application_deployment_model_constants.cpp  |    34 +
 .../application_deployment_model_constants.h    |    41 +
 .../application_deployment_model_types.cpp      |   781 +
 .../application_deployment_model_types.h        |   284 +
 .../application_interface_model_constants.cpp   |    34 +
 .../application_interface_model_constants.h     |    41 +
 .../application_interface_model_types.cpp       |   297 +
 .../application_interface_model_types.h         |   124 +
 .../application_io_models_constants.cpp         |    34 +
 .../airavata/application_io_models_constants.h  |    41 +
 .../airavata/application_io_models_types.cpp    |   637 +
 .../lib/airavata/application_io_models_types.h  |   287 +
 .../compute_resource_model_constants.cpp        |    34 +
 .../airavata/compute_resource_model_constants.h |    41 +
 .../airavata/compute_resource_model_types.cpp   |  2663 ++
 .../lib/airavata/compute_resource_model_types.h |  1006 +
 .../lib/airavata/experiment_model_constants.cpp |    34 +
 .../lib/airavata/experiment_model_constants.h   |    41 +
 .../lib/airavata/experiment_model_types.cpp     |  1444 +
 .../lib/airavata/experiment_model_types.h       |   510 +
 ...gateway_resource_profile_model_constants.cpp |    34 +
 .../gateway_resource_profile_model_constants.h  |    41 +
 .../gateway_resource_profile_model_types.cpp    |   420 +
 .../gateway_resource_profile_model_types.h      |   191 +
 .../lib/airavata/job_model_constants.cpp        |    34 +
 .../lib/airavata/job_model_constants.h          |    41 +
 .../resources/lib/airavata/job_model_types.cpp  |   282 +
 .../resources/lib/airavata/job_model_types.h    |   136 +
 .../lib/airavata/messaging_events_constants.cpp |    34 +
 .../lib/airavata/messaging_events_constants.h   |    41 +
 .../lib/airavata/messaging_events_types.cpp     |  1964 ++
 .../lib/airavata/messaging_events_types.h       |   756 +
 .../lib/airavata/process_model_constants.cpp    |    34 +
 .../lib/airavata/process_model_constants.h      |    41 +
 .../lib/airavata/process_model_types.cpp        |   581 +
 .../lib/airavata/process_model_types.h          |   223 +
 .../lib/airavata/scheduling_model_constants.cpp |    34 +
 .../lib/airavata/scheduling_model_constants.h   |    41 +
 .../lib/airavata/scheduling_model_types.cpp     |   279 +
 .../lib/airavata/scheduling_model_types.h       |   144 +
 .../lib/airavata/security_model_constants.cpp   |    34 +
 .../lib/airavata/security_model_constants.h     |    41 +
 .../lib/airavata/security_model_types.cpp       |   172 +
 .../lib/airavata/security_model_types.h         |    93 +
 .../lib/airavata/status_models_constants.cpp    |    34 +
 .../lib/airavata/status_models_constants.h      |    41 +
 .../lib/airavata/status_models_types.cpp        |   683 +
 .../lib/airavata/status_models_types.h          |   344 +
 .../lib/airavata/task_model_constants.cpp       |    34 +
 .../lib/airavata/task_model_constants.h         |    41 +
 .../resources/lib/airavata/task_model_types.cpp |   507 +
 .../resources/lib/airavata/task_model_types.h   |   221 +
 .../airavata/workflow_data_model_constants.cpp  |    34 +
 .../airavata/workflow_data_model_constants.h    |    41 +
 .../lib/airavata/workflow_data_model_types.cpp  |   277 +
 .../lib/airavata/workflow_data_model_types.h    |   124 +
 .../lib/airavata/workspace_model_constants.cpp  |    34 +
 .../lib/airavata/workspace_model_constants.h    |    41 +
 .../lib/airavata/workspace_model_types.cpp      |   709 +
 .../lib/airavata/workspace_model_types.h        |   300 +
 .../resources/lib/Airavata/API/Airavata.php     |  8407 ++++-
 .../lib/apache/airavata/api/Airavata-remote     |   904 +-
 .../lib/apache/airavata/api/Airavata.py         |  6837 +++-
 .../model/appcatalog/appdeployment/constants.py |     1 -
 .../model/appcatalog/appdeployment/ttypes.py    |     2 +
 .../model/appcatalog/appinterface/constants.py  |     1 -
 .../model/appcatalog/appinterface/ttypes.py     |     1 +
 .../appcatalog/computeresource/constants.py     |     1 -
 .../model/appcatalog/computeresource/ttypes.py  |     2 +
 .../airavata/model/application/__init__.py      |     0
 .../airavata/model/application/io/__init__.py   |     1 +
 .../airavata/model/application/io/constants.py  |    11 +
 .../airavata/model/application/io/ttypes.py     |   468 +
 .../apache/airavata/model/commons/__init__.py   |     1 +
 .../apache/airavata/model/commons/constants.py  |    12 +
 .../lib/apache/airavata/model/commons/ttypes.py |   335 +
 .../airavata/model/experiment/__init__.py       |     1 +
 .../airavata/model/experiment/constants.py      |    11 +
 .../apache/airavata/model/experiment/ttypes.py  |   944 +
 .../lib/apache/airavata/model/job/__init__.py   |     1 +
 .../lib/apache/airavata/model/job/constants.py  |    11 +
 .../lib/apache/airavata/model/job/ttypes.py     |   183 +
 .../airavata/model/messaging/event/constants.py |     1 -
 .../airavata/model/messaging/event/ttypes.py    |     1 +
 .../apache/airavata/model/process/__init__.py   |     1 +
 .../apache/airavata/model/process/constants.py  |    11 +
 .../lib/apache/airavata/model/process/ttypes.py |   360 +
 .../airavata/model/scheduling/__init__.py       |     1 +
 .../airavata/model/scheduling/constants.py      |    11 +
 .../apache/airavata/model/scheduling/ttypes.py  |   178 +
 .../apache/airavata/model/security/__init__.py  |     1 +
 .../apache/airavata/model/security/constants.py |    11 +
 .../apache/airavata/model/security/ttypes.py    |   108 +
 .../apache/airavata/model/status/__init__.py    |     1 +
 .../apache/airavata/model/status/constants.py   |    11 +
 .../lib/apache/airavata/model/status/ttypes.py  |   539 +
 .../lib/apache/airavata/model/task/__init__.py  |     1 +
 .../lib/apache/airavata/model/task/constants.py |    11 +
 .../lib/apache/airavata/model/task/ttypes.py    |   366 +
 .../lib/apache/airavata/model/ttypes.py         |     4 +
 .../apache/airavata/model/workflow/constants.py |     1 -
 .../apache/airavata/model/workflow/ttypes.py    |     1 +
 .../apache/airavata/model/workspace/ttypes.py   |     6 +-
 .../client/samples/CancelExperiments.java       |     3 +-
 .../client/samples/CreateLaunchBES.java         |    42 +-
 .../client/samples/CreateLaunchExperiment.java  |   199 +-
 .../samples/CreateLaunchExperimentUS3.java      |    23 +-
 .../client/samples/RegisterSampleData.java      |    45 +-
 .../tools/RegisterOGCEUS3Application.java       |    24 +-
 .../tools/RegisterSampleApplications.java       |   129 +-
 .../client/tools/RegisterUS3Application.java    |    27 +-
 .../org/apache/airavata/model/Workflow.java     |     2 +-
 .../ApplicationDeploymentDescription.java       |     2 +-
 .../appdeployment/ApplicationModule.java        |     2 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |     2 +-
 .../ApplicationInterfaceDescription.java        |     2 +-
 .../appcatalog/computeresource/BatchQueue.java  |     2 +-
 .../computeresource/CloudJobSubmission.java     |     2 +-
 .../ComputeResourceDescription.java             |     2 +-
 .../computeresource/DataMovementInterface.java  |     2 +-
 .../computeresource/GlobusJobSubmission.java    |     2 +-
 .../computeresource/GridFTPDataMovement.java    |     2 +-
 .../computeresource/JobSubmissionInterface.java |     2 +-
 .../computeresource/LOCALDataMovement.java      |     2 +-
 .../computeresource/LOCALSubmission.java        |     2 +-
 .../computeresource/ResourceJobManager.java     |     2 +-
 .../computeresource/SCPDataMovement.java        |     2 +-
 .../computeresource/SSHJobSubmission.java       |     2 +-
 .../computeresource/UnicoreDataMovement.java    |     2 +-
 .../computeresource/UnicoreJobSubmission.java   |     2 +-
 .../ComputeResourcePreference.java              |     2 +-
 .../gatewayprofile/GatewayResourceProfile.java  |     2 +-
 .../application/io/InputDataObjectType.java     |     2 +-
 .../application/io/OutputDataObjectType.java    |     2 +-
 .../airavata/model/commons/ErrorModel.java      |     2 +-
 .../model/commons/ValidationResults.java        |     2 +-
 .../airavata/model/commons/ValidatorResult.java |     2 +-
 .../model/error/AiravataClientException.java    |     2 +-
 .../model/error/AiravataSystemException.java    |     2 +-
 .../model/error/AuthenticationException.java    |     2 +-
 .../model/error/AuthorizationException.java     |     2 +-
 .../error/ExperimentNotFoundException.java      |     2 +-
 .../model/error/InvalidRequestException.java    |     2 +-
 .../model/error/LaunchValidationException.java  |     2 +-
 .../model/error/ProjectNotFoundException.java   |     2 +-
 .../airavata/model/error/TimedOutException.java |     2 +-
 .../airavata/model/error/ValidationResults.java |     2 +-
 .../airavata/model/error/ValidatorResult.java   |     2 +-
 .../model/experiment/ExperimentModel.java       |     2 +-
 .../model/experiment/ExperimentStatistics.java  |     2 +-
 .../experiment/ExperimentSummaryModel.java      |     2 +-
 .../experiment/UserConfigurationDataModel.java  |     2 +-
 .../org/apache/airavata/model/job/JobModel.java |     2 +-
 .../event/ExperimentStatusChangeEvent.java      |     2 +-
 .../model/messaging/event/JobIdentifier.java    |     2 +-
 .../messaging/event/JobStatusChangeEvent.java   |     2 +-
 .../event/JobStatusChangeRequestEvent.java      |     2 +-
 .../airavata/model/messaging/event/Message.java |     2 +-
 .../messaging/event/ProcessIdentifier.java      |     2 +-
 .../event/ProcessStatusChangeEvent.java         |     2 +-
 .../event/ProcessStatusChangeRequestEvent.java  |     2 +-
 .../messaging/event/ProcessSubmitEvent.java     |     2 +-
 .../messaging/event/ProcessTerminateEvent.java  |     2 +-
 .../model/messaging/event/TaskIdentifier.java   |     2 +-
 .../messaging/event/TaskOutputChangeEvent.java  |     2 +-
 .../messaging/event/TaskStatusChangeEvent.java  |     2 +-
 .../event/TaskStatusChangeRequestEvent.java     |     2 +-
 .../airavata/model/process/ProcessModel.java    |     2 +-
 .../ComputationalResourceSchedulingModel.java   |     2 +-
 .../airavata/model/security/AuthzToken.java     |     2 +-
 .../airavata/model/status/ExperimentStatus.java |     2 +-
 .../apache/airavata/model/status/JobStatus.java |     2 +-
 .../airavata/model/status/ProcessStatus.java    |     2 +-
 .../airavata/model/status/TaskStatus.java       |     2 +-
 .../model/task/DataStagingTaskModel.java        |     2 +-
 .../apache/airavata/model/task/TaskModel.java   |     2 +-
 .../airavata/model/workspace/Gateway.java       |     2 +-
 .../apache/airavata/model/workspace/Group.java  |     2 +-
 .../airavata/model/workspace/Project.java       |     2 +-
 .../apache/airavata/model/workspace/User.java   |     2 +-
 .../airavata-api/airavata_api.thrift            |   800 +-
 207 files changed, 78319 insertions(+), 9962 deletions(-)
----------------------------------------------------------------------



[41/44] airavata git commit: fixed all compilation errors in the java client samples after the API changes.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/7be309d7/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 80949c9..a421e02 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -63,17 +63,17 @@ public class Airavata {
      */
     public String getAPIVersion(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public String addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public List<org.apache.airavata.model.workspace.Gateway> getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.Gateway> getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Generate and Register SSH Key Pair with Airavata Credential Store.
@@ -115,7 +115,7 @@ public class Airavata {
      * @param gatewayId
      * @param project
      */
-    public String createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String createProject(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update a Project
@@ -125,7 +125,7 @@ public class Airavata {
      * @param projectId
      * @param updatedProject
      */
-    public void updateProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
+    public void updateProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Get a Project by ID
@@ -134,9 +134,9 @@ public class Airavata {
      * @param authzToken
      * @param projectId
      */
-    public org.apache.airavata.model.workspace.Project getProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.Project getProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean deleteProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
+    public boolean deleteProject(org.apache.airavata.model.security.AuthzToken authzToken, String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      *   * Get all Project by user
@@ -168,12 +168,13 @@ public class Airavata {
      *   *    The starting point of the results to be fetched
      * *
      * 
+     * @param authzToken
      * @param gatewayId
      * @param userName
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.workspace.Project> getAllUserProjectsWithPagination(String gatewayId, String userName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.Project> getAllUserProjectsWithPagination(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Get all Project for user by project name
@@ -207,13 +208,14 @@ public class Airavata {
      * @param offset
      *    The starting point of the results to be fetched
      * 
+     * @param authzToken
      * @param gatewayId
      * @param userName
      * @param projectName
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectNameWithPagination(String gatewayId, String userName, String projectName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectNameWithPagination(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, String projectName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Get all Project for user by project description
@@ -246,13 +248,14 @@ public class Airavata {
      * @param offset
      *    The starting point of the results to be fetched
      * 
+     * @param authzToken
      * @param gatewayId
      * @param userName
      * @param description
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectDescWithPagination(String gatewayId, String userName, String description, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.Project> searchProjectsByProjectDescWithPagination(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, String description, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by experiment name
@@ -288,13 +291,14 @@ public class Airavata {
      * @param offset
      *       The starting point of the results to be fetched
      * 
+     * @param authzToken
      * @param gatewayId
      * @param userName
      * @param expName
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByNameWithPagination(String gatewayId, String userName, String expName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByNameWithPagination(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, String expName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by experiment name
@@ -329,13 +333,14 @@ public class Airavata {
      * @param offset
      *       The starting point of the results to be fetched
      * 
+     * @param authzToken
      * @param gatewayId
      * @param userName
      * @param description
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByDescWithPagination(String gatewayId, String userName, String description, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByDescWithPagination(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, String description, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by application id
@@ -370,13 +375,14 @@ public class Airavata {
      * @param offset
      *       The starting point of the results to be fetched
      * 
+     * @param authzToken
      * @param gatewayId
      * @param userName
      * @param applicationId
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByApplicationWithPagination(String gatewayId, String userName, String applicationId, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByApplicationWithPagination(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, String applicationId, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by experiment status
@@ -411,13 +417,14 @@ public class Airavata {
      * @param offset
      *       The starting point of the results to be fetched
      * 
+     * @param authzToken
      * @param gatewayId
      * @param userName
      * @param experimentState
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByStatusWithPagination(String gatewayId, String userName, org.apache.airavata.model.status.ExperimentState experimentState, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByStatusWithPagination(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, org.apache.airavata.model.status.ExperimentState experimentState, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by experiment creation time
@@ -457,6 +464,7 @@ public class Airavata {
      * @param offset
      *       The starting point of the results to be fetched
      * 
+     * @param authzToken
      * @param gatewayId
      * @param userName
      * @param fromTime
@@ -464,7 +472,7 @@ public class Airavata {
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByCreationTimeWithPagination(String gatewayId, String userName, long fromTime, long toTime, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperimentsByCreationTimeWithPagination(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, long fromTime, long toTime, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
@@ -481,13 +489,14 @@ public class Airavata {
      * @param offset
      *       The starting point of the results to be fetched
      * 
+     * @param authzToken
      * @param gatewayId
      * @param userName
      * @param filters
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.experiment.ExperimentSearchFields,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperiments(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, Map<org.apache.airavata.model.experiment.ExperimentSearchFields,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Get Experiment Statisitics for the given gateway for a specific time period
@@ -499,11 +508,12 @@ public class Airavata {
      *       Ending data time
      * 
      * 
+     * @param authzToken
      * @param gatewayId
      * @param fromTime
      * @param toTime
      */
-    public org.apache.airavata.model.experiment.ExperimentStatistics getExperimentStatistics(String gatewayId, long fromTime, long toTime) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.experiment.ExperimentStatistics getExperimentStatistics(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, long fromTime, long toTime) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Get all Experiments within a Project
@@ -528,11 +538,12 @@ public class Airavata {
      * @param offset
      *       The starting point of the results to be fetched
      * 
+     * @param authzToken
      * @param projectId
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.experiment.ExperimentModel> getAllExperimentsInProjectWithPagination(String projectId, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.experiment.ExperimentModel> getAllExperimentsInProjectWithPagination(org.apache.airavata.model.security.AuthzToken authzToken, String projectId, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Get all Experiments by user
@@ -562,12 +573,13 @@ public class Airavata {
      * @param offset
      *       The starting point of the results to be fetched
      * 
+     * @param authzToken
      * @param gatewayId
      * @param userName
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.experiment.ExperimentModel> getAllUserExperimentsWithPagination(String gatewayId, String userName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.experiment.ExperimentModel> getAllUserExperimentsWithPagination(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, String userName, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
@@ -604,10 +616,11 @@ public class Airavata {
      *       rather an Airavata Administrator will be notified to take corrective action.
      * 
      * 
+     * @param authzToken
      * @param gatewayId
      * @param experiment
      */
-    public String createExperiment(String gatewayId, org.apache.airavata.model.experiment.ExperimentModel experiment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String createExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.experiment.ExperimentModel experiment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch previously created experiment metadata.
@@ -642,9 +655,10 @@ public class Airavata {
      *       rather an Airavata Administrator will be notified to take corrective action.
      * 
      * 
+     * @param authzToken
      * @param airavataExperimentId
      */
-    public org.apache.airavata.model.experiment.ExperimentModel getExperiment(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.experiment.ExperimentModel getExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Configure a previously created experiment with required inputs, scheduling and other quality of service
@@ -685,14 +699,15 @@ public class Airavata {
      *       rather an Airavata Administrator will be notified to take corrective action.
      * 
      * 
+     * @param authzToken
      * @param airavataExperimentId
      * @param experiment
      */
-    public void updateExperiment(String airavataExperimentId, org.apache.airavata.model.experiment.ExperimentModel experiment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public void updateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId, org.apache.airavata.model.experiment.ExperimentModel experiment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public void updateExperimentConfiguration(String airavataExperimentId, org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration) throws org.apache.thrift.TException;
+    public void updateExperimentConfiguration(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId, org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration) throws org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public void updateResourceScheduleing(String airavataExperimentId, org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling) throws org.apache.thrift.TException;
+    public void updateResourceScheduleing(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId, org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling) throws org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      *  *
@@ -703,9 +718,10 @@ public class Airavata {
      *  *
      * *
      * 
+     * @param authzToken
      * @param airavataExperimentId
      */
-    public boolean validateExperiment(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean validateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
@@ -750,20 +766,21 @@ public class Airavata {
      *       rather an Airavata Administrator will be notified to take corrective action.
      * 
      * 
+     * @param authzToken
      * @param airavataExperimentId
      * @param airavataCredStoreToken
      */
-    public void launchExperiment(String airavataExperimentId, String airavataCredStoreToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public void launchExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId, String airavataCredStoreToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public org.apache.airavata.model.status.ExperimentStatus getExperimentStatus(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.status.ExperimentStatus getExperimentStatus(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public List<org.apache.airavata.model.application.io.OutputDataObjectType> getExperimentOutputs(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.application.io.OutputDataObjectType> getExperimentOutputs(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public List<org.apache.airavata.model.application.io.OutputDataObjectType> getIntermediateOutputs(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.application.io.OutputDataObjectType> getIntermediateOutputs(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public Map<String,org.apache.airavata.model.status.JobStatus> getJobStatuses(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public Map<String,org.apache.airavata.model.status.JobStatus> getJobStatuses(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public List<org.apache.airavata.model.job.JobModel> getJobDetails(String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.job.JobModel> getJobDetails(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
@@ -804,10 +821,11 @@ public class Airavata {
      *       rather an Airavata Administrator will be notified to take corrective action.
      * 
      * 
+     * @param authzToken
      * @param existingExperimentID
      * @param newExperimentName
      */
-    public String cloneExperiment(String existingExperimentID, String newExperimentName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String cloneExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String existingExperimentID, String newExperimentName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Terminate a running experiment.
@@ -842,10 +860,11 @@ public class Airavata {
      *       rather an Airavata Administrator will be notified to take corrective action.
      * 
      * 
+     * @param authzToken
      * @param airavataExperimentId
      * @param tokenId
      */
-    public void terminateExperiment(String airavataExperimentId, String tokenId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public void terminateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, String airavataExperimentId, String tokenId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Register a Application Module.
@@ -857,10 +876,11 @@ public class Airavata {
      *   Returns a server-side generated airavata appModule globally unique identifier.
      * 
      * 
+     * @param authzToken
      * @param gatewayId
      * @param applicationModule
      */
-    public String registerApplicationModule(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String registerApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch a Application Module.
@@ -872,9 +892,10 @@ public class Airavata {
      *   Returns a application Module Object.
      * 
      * 
+     * @param authzToken
      * @param appModuleId
      */
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule(String appModuleId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, String appModuleId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update a Application Module.
@@ -889,12 +910,13 @@ public class Airavata {
      *   Returns a success/failure of the update.
      * 
      * 
+     * @param authzToken
      * @param appModuleId
      * @param applicationModule
      */
-    public boolean updateApplicationModule(String appModuleId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, String appModuleId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAllAppModules(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAllAppModules(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Delete a Application Module.
@@ -906,9 +928,10 @@ public class Airavata {
      *   Returns a success/failure of the deletion.
      * 
      * 
+     * @param authzToken
      * @param appModuleId
      */
-    public boolean deleteApplicationModule(String appModuleId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean deleteApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, String appModuleId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Register a Application Deployment.
@@ -920,10 +943,11 @@ public class Airavata {
      *   Returns a server-side generated airavata appDeployment globally unique identifier.
      * 
      * 
+     * @param authzToken
      * @param gatewayId
      * @param applicationDeployment
      */
-    public String registerApplicationDeployment(String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String registerApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch a Application Deployment.
@@ -935,9 +959,10 @@ public class Airavata {
      *   Returns a application Deployment Object.
      * 
      * 
+     * @param authzToken
      * @param appDeploymentId
      */
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment(String appDeploymentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, String appDeploymentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update a Application Deployment.
@@ -952,10 +977,11 @@ public class Airavata {
      *   Returns a success/failure of the update.
      * 
      * 
+     * @param authzToken
      * @param appDeploymentId
      * @param applicationDeployment
      */
-    public boolean updateApplicationDeployment(String appDeploymentId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, String appDeploymentId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Delete a Application deployment.
@@ -967,9 +993,10 @@ public class Airavata {
      *   Returns a success/failure of the deletion.
      * 
      * 
+     * @param authzToken
      * @param appDeploymentId
      */
-    public boolean deleteApplicationDeployment(String appDeploymentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean deleteApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, String appDeploymentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch all Application Deployment Descriptions.
@@ -978,9 +1005,10 @@ public class Airavata {
      *   Returns the list of all application Deployment Objects.
      * 
      * 
+     * @param authzToken
      * @param gatewayId
      */
-    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAllApplicationDeployments(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAllApplicationDeployments(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch a list of Deployed Compute Hosts.
@@ -992,9 +1020,10 @@ public class Airavata {
      *   Returns a list of Deployed Resources.
      * 
      * 
+     * @param authzToken
      * @param appModuleId
      */
-    public List<String> getAppModuleDeployedResources(String appModuleId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<String> getAppModuleDeployedResources(org.apache.airavata.model.security.AuthzToken authzToken, String appModuleId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Register a Application Interface.
@@ -1006,10 +1035,11 @@ public class Airavata {
      *   Returns a server-side generated airavata application interface globally unique identifier.
      * 
      * 
+     * @param authzToken
      * @param gatewayId
      * @param applicationInterface
      */
-    public String registerApplicationInterface(String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String registerApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch a Application Interface.
@@ -1022,9 +1052,10 @@ public class Airavata {
      * 
      * 
      * 
+     * @param authzToken
      * @param appInterfaceId
      */
-    public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getApplicationInterface(String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update a Application Interface.
@@ -1040,10 +1071,11 @@ public class Airavata {
      * 
      * 
      * 
+     * @param authzToken
      * @param appInterfaceId
      * @param applicationInterface
      */
-    public boolean updateApplicationInterface(String appInterfaceId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Delete a Application Interface.
@@ -1056,9 +1088,10 @@ public class Airavata {
      * 
      * 
      * 
+     * @param authzToken
      * @param appInterfaceId
      */
-    public boolean deleteApplicationInterface(String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean deleteApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch name and id of  Application Interface documents.
@@ -1068,9 +1101,10 @@ public class Airavata {
      *   Returns a list of application interfaces with corresponsing id's
      * 
      * 
+     * @param authzToken
      * @param gatewayId
      */
-    public Map<String,String> getAllApplicationInterfaceNames(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public Map<String,String> getAllApplicationInterfaceNames(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch all Application Interface documents.
@@ -1080,9 +1114,10 @@ public class Airavata {
      *   Returns a list of application interfaces documents
      * 
      * 
+     * @param authzToken
      * @param gatewayId
      */
-    public List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getAllApplicationInterfaces(String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getAllApplicationInterfaces(org.apache.airavata.model.security.AuthzToken authzToken, String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch the list of Application Inputs.
@@ -1094,9 +1129,10 @@ public class Airavata {
      *   Returns a list of application inputs.
      * 
      * 
+     * @param authzToken
      * @param appInterfaceId
      */
-    public List<org.apache.airavata.model.application.io.InputDataObjectType> getApplicationInputs(String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.application.io.InputDataObjectType> getApplicationInputs(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch the list of Application Outputs.
@@ -1108,9 +1144,10 @@ public class Airavata {
      *   Returns a list of application outputs.
      * 
      * 
+     * @param authzToken
      * @param appInterfaceId
      */
-    public List<org.apache.airavata.model.application.io.OutputDataObjectType> getApplicationOutputs(String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.application.io.OutputDataObjectType> getApplicationOutputs(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch a list of all deployed Compute Hosts for a given application interfaces.
@@ -1123,9 +1160,10 @@ public class Airavata {
      *    Deployments of each modules listed within the interfaces will be listed.
      * 
      * 
+     * @param authzToken
      * @param appInterfaceId
      */
-    public Map<String,String> getAvailableAppInterfaceComputeResources(String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public Map<String,String> getAvailableAppInterfaceComputeResources(org.apache.airavata.model.security.AuthzToken authzToken, String appInterfaceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Register a Compute Resource.
@@ -1137,9 +1175,10 @@ public class Airavata {
      *   Returns a server-side generated airavata compute resource globally unique identifier.
      * 
      * 
+     * @param authzToken
      * @param computeResourceDescription
      */
-    public String registerComputeResource(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String registerComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch the given Compute Resource.
@@ -1151,9 +1190,10 @@ public class Airavata {
      *    Compute Resource Object created from the datamodel..
      * 
      * 
+     * @param authzToken
      * @param computeResourceId
      */
-    public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getComputeResource(String computeResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Fetch all registered Compute Resources.
@@ -1161,8 +1201,10 @@ public class Airavata {
      * @return A map of registered compute resource id's and thier corresponding hostnames.
      *    Compute Resource Object created from the datamodel..
      * 
+     * 
+     * @param authzToken
      */
-    public Map<String,String> getAllComputeResourceNames() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public Map<String,String> getAllComputeResourceNames(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update a Compute Resource.
@@ -1177,10 +1219,11 @@ public class Airavata {
      *   Returns a success/failure of the update.
      * 
      * 
+     * @param authzToken
      * @param computeResourceId
      * @param computeResourceDescription
      */
-    public boolean updateComputeResource(String computeResourceId, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Delete a Compute Resource.
@@ -1192,9 +1235,10 @@ public class Airavata {
      *   Returns a success/failure of the deletion.
      * 
      * 
+     * @param authzToken
      * @param computeResourceId
      */
-    public boolean deleteComputeResource(String computeResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean deleteComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Add a Local Job Submission details to a compute resource
@@ -1213,11 +1257,12 @@ public class Airavata {
      *   Returns the unique job submission id.
      * 
      * 
+     * @param authzToken
      * @param computeResourceId
      * @param priorityOrder
      * @param localSubmission
      */
-    public String addLocalSubmissionDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String addLocalSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update the given Local Job Submission details
@@ -1232,10 +1277,11 @@ public class Airavata {
      *   Returns a success/failure of the deletion.
      * 
      * 
+     * @param authzToken
      * @param jobSubmissionInterfaceId
      * @param localSubmission
      */
-    public boolean updateLocalSubmissionDetails(String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateLocalSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * This method returns localJobSubmission object
@@ -1244,9 +1290,10 @@ public class Airavata {
      *  @return LOCALSubmission instance
      * 
      * 
+     * @param authzToken
      * @param jobSubmissionId
      */
-    public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getLocalJobSubmission(String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getLocalJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Add a SSH Job Submission details to a compute resource
@@ -1265,11 +1312,12 @@ public class Airavata {
      *   Returns the unique job submission id.
      * 
      * 
+     * @param authzToken
      * @param computeResourceId
      * @param priorityOrder
      * @param sshJobSubmission
      */
-    public String addSSHJobSubmissionDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String addSSHJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * This method returns SSHJobSubmission object
@@ -1278,9 +1326,10 @@ public class Airavata {
      *  @return SSHJobSubmission instance
      * 
      * 
+     * @param authzToken
      * @param jobSubmissionId
      */
-    public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSSHJobSubmission(String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSSHJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Add a UNICORE Job Submission details to a compute resource
@@ -1299,11 +1348,12 @@ public class Airavata {
      *  Returns the unique job submission id.
      * 
      * 
+     * @param authzToken
      * @param computeResourceId
      * @param priorityOrder
      * @param unicoreJobSubmission
      */
-    public String addUNICOREJobSubmissionDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String addUNICOREJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      *   * This method returns UnicoreJobSubmission object
@@ -1312,9 +1362,10 @@ public class Airavata {
      *   *  @return UnicoreJobSubmission instance
      * *
      * 
+     * @param authzToken
      * @param jobSubmissionId
      */
-    public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getUnicoreJobSubmission(String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getUnicoreJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      *    * Add a Cloud Job Submission details to a compute resource
@@ -1333,11 +1384,12 @@ public class Airavata {
      *    *   Returns the unique job submission id.
      * *
      * 
+     * @param authzToken
      * @param computeResourceId
      * @param priorityOrder
      * @param cloudSubmission
      */
-    public String addCloudJobSubmissionDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String addCloudJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      *    * This method returns cloudJobSubmission object
@@ -1346,9 +1398,10 @@ public class Airavata {
      *    *  @return CloudJobSubmission instance
      * *
      * 
+     * @param authzToken
      * @param jobSubmissionId
      */
-    public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getCloudJobSubmission(String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getCloudJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update the given SSH Job Submission details
@@ -1363,13 +1416,14 @@ public class Airavata {
      *   Returns a success/failure of the deletion.
      * 
      * 
+     * @param authzToken
      * @param jobSubmissionInterfaceId
      * @param sshJobSubmission
      */
-    public boolean updateSSHJobSubmissionDetails(String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateSSHJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
-     * Update the given SSH Job Submission details
+     * Update the cloud Job Submission details
      * 
      * @param jobSubmissionInterfaceId
      *   The identifier of the JobSubmission Interface to be updated.
@@ -1381,12 +1435,13 @@ public class Airavata {
      *   Returns a success/failure of the deletion.
      * 
      * 
+     * @param authzToken
      * @param jobSubmissionInterfaceId
      * @param sshJobSubmission
      */
-    public boolean updateCloudJobSubmissionDetails(String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateCloudJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean updateUnicoreJobSubmissionDetails(String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateUnicoreJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Add a Local data movement details to a compute resource
@@ -1405,11 +1460,12 @@ public class Airavata {
      *   Returns the unique job submission id.
      * 
      * 
+     * @param authzToken
      * @param computeResourceId
      * @param priorityOrder
      * @param localDataMovement
      */
-    public String addLocalDataMovementDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.LOCALDataMovement localDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.LOCALDataMovement localDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update the given Local data movement details
@@ -1424,10 +1480,11 @@ public class Airavata {
      *   Returns a success/failure of the update.
      * 
      * 
+     * @param authzToken
      * @param dataMovementInterfaceId
      * @param localDataMovement
      */
-    public boolean updateLocalDataMovementDetails(String dataMovementInterfaceId, org.apache.airavata.model.appcatalog.computeresource.LOCALDataMovement localDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementInterfaceId, org.apache.airavata.model.appcatalog.computeresource.LOCALDataMovement localDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      *         * This method returns local datamovement object
@@ -1436,9 +1493,10 @@ public class Airavata {
      *         *  @return LOCALDataMovement instance
      * *
      * 
+     * @param authzToken
      * @param dataMovementId
      */
-    public org.apache.airavata.model.appcatalog.computeresource.LOCALDataMovement getLocalDataMovement(String dataMovementId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.computeresource.LOCALDataMovement getLocalDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Add a SCP data movement details to a compute resource
@@ -1457,11 +1515,12 @@ public class Airavata {
      *   Returns the unique job submission id.
      * 
      * 
+     * @param authzToken
      * @param computeResourceId
      * @param priorityOrder
      * @param scpDataMovement
      */
-    public String addSCPDataMovementDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SCPDataMovement scpDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SCPDataMovement scpDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update the given scp data movement details
@@ -1477,10 +1536,11 @@ public class Airavata {
      *   Returns a success/failure of the update.
      * 
      * 
+     * @param authzToken
      * @param dataMovementInterfaceId
      * @param scpDataMovement
      */
-    public boolean updateSCPDataMovementDetails(String dataMovementInterfaceId, org.apache.airavata.model.appcatalog.computeresource.SCPDataMovement scpDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementInterfaceId, org.apache.airavata.model.appcatalog.computeresource.SCPDataMovement scpDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      *   * This method returns SCP datamovement object
@@ -1489,15 +1549,16 @@ public class Airavata {
      *      *  @return SCPDataMovement instance
      * *
      * 
+     * @param authzToken
      * @param dataMovementId
      */
-    public org.apache.airavata.model.appcatalog.computeresource.SCPDataMovement getSCPDataMovement(String dataMovementId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.computeresource.SCPDataMovement getSCPDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public String addUnicoreDataMovementDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.UnicoreDataMovement unicoreDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.UnicoreDataMovement unicoreDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public boolean updateUnicoreDataMovementDetails(String dataMovementInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreDataMovement unicoreDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreDataMovement unicoreDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    public org.apache.airavata.model.appcatalog.computeresource.UnicoreDataMovement getUnicoreDataMovement(String dataMovementId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.appcatalog.computeresource.UnicoreDataMovement getUnicoreDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Add a GridFTP data movement details to a compute resource
@@ -1516,11 +1577,12 @@ public class Airavata {
      *   Returns the unique job submission id.
      * 
      * 
+     * @param authzToken
      * @param computeResourceId
      * @param priorityOrder
      * @param gridFTPDataMovement
      */
-    public String addGridFTPDataMovementDetails(String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.GridFTPDataMovement gridFTPDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public String addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.GridFTPDataMovement gridFTPDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      * Update the given GridFTP data movement details to a compute resource
@@ -1536,10 +1598,11 @@ public class Airavata {
      *   Returns a success/failure of the updation.
      * 
      * 
+     * @param authzToken
      * @param dataMovementInterfaceId
      * @param gridFTPDataMovement
      */
-    public boolean updateGridFTPDataMovementDetails(String dataMovementInterfaceId, org.apache.airavata.model.appcatalog.computeresource.GridFTPDataMovement gridFTPDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public boolean updateGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementInterfaceId, org.apache.airavata.model.appcatalog.computeresource.GridFTPDataMovement gridFTPDataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     /**
      *   * This method returns GridFTP datamovement object
@@ -1548,9 +1611,10 @@ public class Airavata {
      *   *  @return GridFTPDataMovement instance
      * *
      * 
+     * @param authzToken
      * @param dataMovementId
      */
-    public org.apache.airavata.model.appcatalog.computeresource.GridFTPDataMovement getGridFTPDataMovement(String dataMovementId) throws org.apache.airavata.model.error.InvalidRequestException, org.apa

<TRUNCATED>

[25/44] airavata git commit: adding security validation on API method calls through interception using the Guice AOP framework.

Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index 3f8bdbb..07a2c38 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -35,7 +35,6 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function addGateway(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Workspace\Gateway $gateway);
   /**
@@ -45,7 +44,6 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function updateGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
   /**
@@ -55,7 +53,6 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function getGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
@@ -65,7 +62,6 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function deleteGateway(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
@@ -74,7 +70,6 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function getAllGateways(\Airavata\Model\Security\AuthzToken $authzToken);
   /**
@@ -84,7 +79,6 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function isGatewayExist(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
   /**
@@ -145,13 +139,13 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
    */
   public function createProject(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workspace\Project $project);
   /**
    * Update a Project
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $projectId
    * @param \Airavata\Model\Workspace\Project $updatedProject
    * @throws \Airavata\API\Error\InvalidRequestException
@@ -159,11 +153,12 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\ProjectNotFoundException
    */
-  public function updateProject($projectId, \Airavata\Model\Workspace\Project $updatedProject);
+  public function updateProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, \Airavata\Model\Workspace\Project $updatedProject);
   /**
    * Get a Project by ID
    * 
    * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $projectId
    * @return \Airavata\Model\Workspace\Project
    * @throws \Airavata\API\Error\InvalidRequestException
@@ -171,8 +166,9 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\ProjectNotFoundException
    */
-  public function getProject($projectId);
+  public function getProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
   /**
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $projectId
    * @return bool
    * @throws \Airavata\API\Error\InvalidRequestException
@@ -180,7 +176,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\ProjectNotFoundException
    */
-  public function deleteProject($projectId);
+  public function deleteProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId);
   /**
    *   * Get all Project by user
    *   *
@@ -2633,9 +2629,6 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
-    if ($result->ae !== null) {
-      throw $result->ae;
-    }
     throw new \Exception("addGateway failed: unknown result");
   }
 
@@ -2695,9 +2688,6 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
-    if ($result->ae !== null) {
-      throw $result->ae;
-    }
     return;
   }
 
@@ -2759,9 +2749,6 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
-    if ($result->ae !== null) {
-      throw $result->ae;
-    }
     throw new \Exception("getGateway failed: unknown result");
   }
 
@@ -2823,9 +2810,6 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
-    if ($result->ae !== null) {
-      throw $result->ae;
-    }
     throw new \Exception("deleteGateway failed: unknown result");
   }
 
@@ -2886,9 +2870,6 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
-    if ($result->ae !== null) {
-      throw $result->ae;
-    }
     throw new \Exception("getAllGateways failed: unknown result");
   }
 
@@ -2950,9 +2931,6 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
-    if ($result->ae !== null) {
-      throw $result->ae;
-    }
     throw new \Exception("isGatewayExist failed: unknown result");
   }
 
@@ -3196,21 +3174,19 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
-    if ($result->ae !== null) {
-      throw $result->ae;
-    }
     throw new \Exception("createProject failed: unknown result");
   }
 
-  public function updateProject($projectId, \Airavata\Model\Workspace\Project $updatedProject)
+  public function updateProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, \Airavata\Model\Workspace\Project $updatedProject)
   {
-    $this->send_updateProject($projectId, $updatedProject);
+    $this->send_updateProject($authzToken, $projectId, $updatedProject);
     $this->recv_updateProject();
   }
 
-  public function send_updateProject($projectId, \Airavata\Model\Workspace\Project $updatedProject)
+  public function send_updateProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId, \Airavata\Model\Workspace\Project $updatedProject)
   {
     $args = new \Airavata\API\Airavata_updateProject_args();
+    $args->authzToken = $authzToken;
     $args->projectId = $projectId;
     $args->updatedProject = $updatedProject;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -3263,15 +3239,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     return;
   }
 
-  public function getProject($projectId)
+  public function getProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId)
   {
-    $this->send_getProject($projectId);
+    $this->send_getProject($authzToken, $projectId);
     return $this->recv_getProject();
   }
 
-  public function send_getProject($projectId)
+  public function send_getProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId)
   {
     $args = new \Airavata\API\Airavata_getProject_args();
+    $args->authzToken = $authzToken;
     $args->projectId = $projectId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -3326,15 +3303,16 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getProject failed: unknown result");
   }
 
-  public function deleteProject($projectId)
+  public function deleteProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId)
   {
-    $this->send_deleteProject($projectId);
+    $this->send_deleteProject($authzToken, $projectId);
     return $this->recv_deleteProject();
   }
 
-  public function send_deleteProject($projectId)
+  public function send_deleteProject(\Airavata\Model\Security\AuthzToken $authzToken, $projectId)
   {
     $args = new \Airavata\API\Airavata_deleteProject_args();
+    $args->authzToken = $authzToken;
     $args->projectId = $projectId;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
@@ -10666,10 +10644,6 @@ class Airavata_addGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
-  /**
-   * @var \Airavata\API\Error\AuthorizationException
-   */
-  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -10693,11 +10667,6 @@ class Airavata_addGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
-        4 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
         );
     }
     if (is_array($vals)) {
@@ -10713,9 +10682,6 @@ class Airavata_addGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
-      if (isset($vals['ae'])) {
-        $this->ae = $vals['ae'];
-      }
     }
   }
 
@@ -10769,14 +10735,6 @@ class Airavata_addGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ae = new \Airavata\API\Error\AuthorizationException();
-            $xfer += $this->ae->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -10810,11 +10768,6 @@ class Airavata_addGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -10968,10 +10921,6 @@ class Airavata_updateGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
-  /**
-   * @var \Airavata\API\Error\AuthorizationException
-   */
-  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -10991,11 +10940,6 @@ class Airavata_updateGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
-        4 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
         );
     }
     if (is_array($vals)) {
@@ -11008,9 +10952,6 @@ class Airavata_updateGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
-      if (isset($vals['ae'])) {
-        $this->ae = $vals['ae'];
-      }
     }
   }
 
@@ -11057,14 +10998,6 @@ class Airavata_updateGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ae = new \Airavata\API\Error\AuthorizationException();
-            $xfer += $this->ae->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -11093,11 +11026,6 @@ class Airavata_updateGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -11227,10 +11155,6 @@ class Airavata_getGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
-  /**
-   * @var \Airavata\API\Error\AuthorizationException
-   */
-  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -11255,11 +11179,6 @@ class Airavata_getGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
-        4 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
         );
     }
     if (is_array($vals)) {
@@ -11275,9 +11194,6 @@ class Airavata_getGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
-      if (isset($vals['ae'])) {
-        $this->ae = $vals['ae'];
-      }
     }
   }
 
@@ -11332,14 +11248,6 @@ class Airavata_getGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ae = new \Airavata\API\Error\AuthorizationException();
-            $xfer += $this->ae->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -11376,11 +11284,6 @@ class Airavata_getGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -11510,10 +11413,6 @@ class Airavata_deleteGateway_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
-  /**
-   * @var \Airavata\API\Error\AuthorizationException
-   */
-  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -11537,11 +11436,6 @@ class Airavata_deleteGateway_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
-        4 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
         );
     }
     if (is_array($vals)) {
@@ -11557,9 +11451,6 @@ class Airavata_deleteGateway_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
-      if (isset($vals['ae'])) {
-        $this->ae = $vals['ae'];
-      }
     }
   }
 
@@ -11613,14 +11504,6 @@ class Airavata_deleteGateway_result {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ae = new \Airavata\API\Error\AuthorizationException();
-            $xfer += $this->ae->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -11654,11 +11537,6 @@ class Airavata_deleteGateway_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -11765,10 +11643,6 @@ class Airavata_getAllGateways_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
-  /**
-   * @var \Airavata\API\Error\AuthorizationException
-   */
-  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -11797,11 +11671,6 @@ class Airavata_getAllGateways_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
-        4 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
         );
     }
     if (is_array($vals)) {
@@ -11817,9 +11686,6 @@ class Airavata_getAllGateways_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
-      if (isset($vals['ae'])) {
-        $this->ae = $vals['ae'];
-      }
     }
   }
 
@@ -11884,14 +11750,6 @@ class Airavata_getAllGateways_result {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ae = new \Airavata\API\Error\AuthorizationException();
-            $xfer += $this->ae->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -11937,11 +11795,6 @@ class Airavata_getAllGateways_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -12071,10 +11924,6 @@ class Airavata_isGatewayExist_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
-  /**
-   * @var \Airavata\API\Error\AuthorizationException
-   */
-  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -12098,11 +11947,6 @@ class Airavata_isGatewayExist_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
-        4 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
         );
     }
     if (is_array($vals)) {
@@ -12118,9 +11962,6 @@ class Airavata_isGatewayExist_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
-      if (isset($vals['ae'])) {
-        $this->ae = $vals['ae'];
-      }
     }
   }
 
@@ -12174,14 +12015,6 @@ class Airavata_isGatewayExist_result {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ae = new \Airavata\API\Error\AuthorizationException();
-            $xfer += $this->ae->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -12215,11 +12048,6 @@ class Airavata_isGatewayExist_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -13109,10 +12937,6 @@ class Airavata_createProject_result {
    * @var \Airavata\API\Error\AiravataSystemException
    */
   public $ase = null;
-  /**
-   * @var \Airavata\API\Error\AuthorizationException
-   */
-  public $ae = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -13136,11 +12960,6 @@ class Airavata_createProject_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
-        4 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
         );
     }
     if (is_array($vals)) {
@@ -13156,9 +12975,6 @@ class Airavata_createProject_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
-      if (isset($vals['ae'])) {
-        $this->ae = $vals['ae'];
-      }
     }
   }
 
@@ -13212,14 +13028,6 @@ class Airavata_createProject_result {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ae = new \Airavata\API\Error\AuthorizationException();
-            $xfer += $this->ae->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -13253,11 +13061,6 @@ class Airavata_createProject_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -13269,6 +13072,10 @@ class Airavata_updateProject_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var string
    */
   public $projectId = null;
@@ -13281,10 +13088,15 @@ class Airavata_updateProject_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'projectId',
           'type' => TType::STRING,
           ),
-        2 => array(
+        3 => array(
           'var' => 'updatedProject',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Project',
@@ -13292,6 +13104,9 @@ class Airavata_updateProject_args {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['projectId'])) {
         $this->projectId = $vals['projectId'];
       }
@@ -13321,13 +13136,21 @@ class Airavata_updateProject_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->projectId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 2:
+        case 3:
           if ($ftype == TType::STRUCT) {
             $this->updatedProject = new \Airavata\Model\Workspace\Project();
             $xfer += $this->updatedProject->read($input);
@@ -13348,8 +13171,16 @@ class Airavata_updateProject_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_updateProject_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->projectId !== null) {
-      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
       $xfer += $output->writeString($this->projectId);
       $xfer += $output->writeFieldEnd();
     }
@@ -13357,7 +13188,7 @@ class Airavata_updateProject_args {
       if (!is_object($this->updatedProject)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('updatedProject', TType::STRUCT, 2);
+      $xfer += $output->writeFieldBegin('updatedProject', TType::STRUCT, 3);
       $xfer += $this->updatedProject->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -13524,6 +13355,10 @@ class Airavata_getProject_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var string
    */
   public $projectId = null;
@@ -13532,12 +13367,20 @@ class Airavata_getProject_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'projectId',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['projectId'])) {
         $this->projectId = $vals['projectId'];
       }
@@ -13564,6 +13407,14 @@ class Airavata_getProject_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->projectId);
           } else {
@@ -13583,8 +13434,16 @@ class Airavata_getProject_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_getProject_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->projectId !== null) {
-      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
       $xfer += $output->writeString($this->projectId);
       $xfer += $output->writeFieldEnd();
     }
@@ -13779,6 +13638,10 @@ class Airavata_deleteProject_args {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
    * @var string
    */
   public $projectId = null;
@@ -13787,12 +13650,20 @@ class Airavata_deleteProject_args {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
           'var' => 'projectId',
           'type' => TType::STRING,
           ),
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
       if (isset($vals['projectId'])) {
         $this->projectId = $vals['projectId'];
       }
@@ -13819,6 +13690,14 @@ class Airavata_deleteProject_args {
       switch ($fid)
       {
         case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->projectId);
           } else {
@@ -13838,8 +13717,16 @@ class Airavata_deleteProject_args {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('Airavata_deleteProject_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->projectId !== null) {
-      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 1);
+      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
       $xfer += $output->writeString($this->projectId);
       $xfer += $output->writeFieldEnd();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index eeebab4..05dd425 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -35,9 +35,9 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  string getSSHPubKey(string airavataCredStoreToken)')
   print('   getAllUserSSHPubKeys(string userName)')
   print('  string createProject(AuthzToken authzToken, string gatewayId, Project project)')
-  print('  void updateProject(string projectId, Project updatedProject)')
-  print('  Project getProject(string projectId)')
-  print('  bool deleteProject(string projectId)')
+  print('  void updateProject(AuthzToken authzToken, string projectId, Project updatedProject)')
+  print('  Project getProject(AuthzToken authzToken, string projectId)')
+  print('  bool deleteProject(AuthzToken authzToken, string projectId)')
   print('   getAllUserProjects(string gatewayId, string userName)')
   print('   getAllUserProjectsWithPagination(string gatewayId, string userName, i32 limit, i32 offset)')
   print('   searchProjectsByProjectName(string gatewayId, string userName, string projectName)')
@@ -274,22 +274,22 @@ elif cmd == 'createProject':
   pp.pprint(client.createProject(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'updateProject':
-  if len(args) != 2:
-    print('updateProject requires 2 args')
+  if len(args) != 3:
+    print('updateProject requires 3 args')
     sys.exit(1)
-  pp.pprint(client.updateProject(args[0],eval(args[1]),))
+  pp.pprint(client.updateProject(eval(args[0]),args[1],eval(args[2]),))
 
 elif cmd == 'getProject':
-  if len(args) != 1:
-    print('getProject requires 1 args')
+  if len(args) != 2:
+    print('getProject requires 2 args')
     sys.exit(1)
-  pp.pprint(client.getProject(args[0],))
+  pp.pprint(client.getProject(eval(args[0]),args[1],))
 
 elif cmd == 'deleteProject':
-  if len(args) != 1:
-    print('deleteProject requires 1 args')
+  if len(args) != 2:
+    print('deleteProject requires 2 args')
     sys.exit(1)
-  pp.pprint(client.deleteProject(args[0],))
+  pp.pprint(client.deleteProject(eval(args[0]),args[1],))
 
 elif cmd == 'getAllUserProjects':
   if len(args) != 2:

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index e8783f5..2fec726 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -131,30 +131,33 @@ class Iface:
     """
     pass
 
-  def updateProject(self, projectId, updatedProject):
+  def updateProject(self, authzToken, projectId, updatedProject):
     """
     Update a Project
 
 
     Parameters:
+     - authzToken
      - projectId
      - updatedProject
     """
     pass
 
-  def getProject(self, projectId):
+  def getProject(self, authzToken, projectId):
     """
     Get a Project by ID
 
 
     Parameters:
+     - authzToken
      - projectId
     """
     pass
 
-  def deleteProject(self, projectId):
+  def deleteProject(self, authzToken, projectId):
     """
     Parameters:
+     - authzToken
      - projectId
     """
     pass
@@ -2246,8 +2249,6 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
-    if result.ae is not None:
-      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "addGateway failed: unknown result");
 
   def updateGateway(self, authzToken, gatewayId, updatedGateway):
@@ -2287,8 +2288,6 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
-    if result.ae is not None:
-      raise result.ae
     return
 
   def getGateway(self, authzToken, gatewayId):
@@ -2328,8 +2327,6 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
-    if result.ae is not None:
-      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getGateway failed: unknown result");
 
   def deleteGateway(self, authzToken, gatewayId):
@@ -2369,8 +2366,6 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
-    if result.ae is not None:
-      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "deleteGateway failed: unknown result");
 
   def getAllGateways(self, authzToken):
@@ -2408,8 +2403,6 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
-    if result.ae is not None:
-      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getAllGateways failed: unknown result");
 
   def isGatewayExist(self, authzToken, gatewayId):
@@ -2449,8 +2442,6 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
-    if result.ae is not None:
-      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "isGatewayExist failed: unknown result");
 
   def generateAndRegisterSSHKeys(self, gatewayId, userName):
@@ -2630,25 +2621,25 @@ class Client(Iface):
       raise result.ace
     if result.ase is not None:
       raise result.ase
-    if result.ae is not None:
-      raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "createProject failed: unknown result");
 
-  def updateProject(self, projectId, updatedProject):
+  def updateProject(self, authzToken, projectId, updatedProject):
     """
     Update a Project
 
 
     Parameters:
+     - authzToken
      - projectId
      - updatedProject
     """
-    self.send_updateProject(projectId, updatedProject)
+    self.send_updateProject(authzToken, projectId, updatedProject)
     self.recv_updateProject()
 
-  def send_updateProject(self, projectId, updatedProject):
+  def send_updateProject(self, authzToken, projectId, updatedProject):
     self._oprot.writeMessageBegin('updateProject', TMessageType.CALL, self._seqid)
     args = updateProject_args()
+    args.authzToken = authzToken
     args.projectId = projectId
     args.updatedProject = updatedProject
     args.write(self._oprot)
@@ -2676,20 +2667,22 @@ class Client(Iface):
       raise result.pnfe
     return
 
-  def getProject(self, projectId):
+  def getProject(self, authzToken, projectId):
     """
     Get a Project by ID
 
 
     Parameters:
+     - authzToken
      - projectId
     """
-    self.send_getProject(projectId)
+    self.send_getProject(authzToken, projectId)
     return self.recv_getProject()
 
-  def send_getProject(self, projectId):
+  def send_getProject(self, authzToken, projectId):
     self._oprot.writeMessageBegin('getProject', TMessageType.CALL, self._seqid)
     args = getProject_args()
+    args.authzToken = authzToken
     args.projectId = projectId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -2718,17 +2711,19 @@ class Client(Iface):
       raise result.pnfe
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getProject failed: unknown result");
 
-  def deleteProject(self, projectId):
+  def deleteProject(self, authzToken, projectId):
     """
     Parameters:
+     - authzToken
      - projectId
     """
-    self.send_deleteProject(projectId)
+    self.send_deleteProject(authzToken, projectId)
     return self.recv_deleteProject()
 
-  def send_deleteProject(self, projectId):
+  def send_deleteProject(self, authzToken, projectId):
     self._oprot.writeMessageBegin('deleteProject', TMessageType.CALL, self._seqid)
     args = deleteProject_args()
+    args.authzToken = authzToken
     args.projectId = projectId
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
@@ -8440,8 +8435,6 @@ class Processor(Iface, TProcessor):
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
-      result.ae = ae
     oprot.writeMessageBegin("addGateway", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8460,8 +8453,6 @@ class Processor(Iface, TProcessor):
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
-      result.ae = ae
     oprot.writeMessageBegin("updateGateway", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8480,8 +8471,6 @@ class Processor(Iface, TProcessor):
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
-      result.ae = ae
     oprot.writeMessageBegin("getGateway", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8500,8 +8489,6 @@ class Processor(Iface, TProcessor):
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
-      result.ae = ae
     oprot.writeMessageBegin("deleteGateway", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8520,8 +8507,6 @@ class Processor(Iface, TProcessor):
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
-      result.ae = ae
     oprot.writeMessageBegin("getAllGateways", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8540,8 +8525,6 @@ class Processor(Iface, TProcessor):
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
-      result.ae = ae
     oprot.writeMessageBegin("isGatewayExist", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8614,8 +8597,6 @@ class Processor(Iface, TProcessor):
       result.ace = ace
     except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
       result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
-      result.ae = ae
     oprot.writeMessageBegin("createProject", TMessageType.REPLY, seqid)
     result.write(oprot)
     oprot.writeMessageEnd()
@@ -8627,7 +8608,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = updateProject_result()
     try:
-      self._handler.updateProject(args.projectId, args.updatedProject)
+      self._handler.updateProject(args.authzToken, args.projectId, args.updatedProject)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
@@ -8647,7 +8628,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = getProject_result()
     try:
-      result.success = self._handler.getProject(args.projectId)
+      result.success = self._handler.getProject(args.authzToken, args.projectId)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
@@ -8667,7 +8648,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = deleteProject_result()
     try:
-      result.success = self._handler.deleteProject(args.projectId)
+      result.success = self._handler.deleteProject(args.authzToken, args.projectId)
     except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
       result.ire = ire
     except apache.airavata.api.error.ttypes.AiravataClientException, ace:
@@ -11009,7 +10990,6 @@ class addGateway_result:
    - ire
    - ace
    - ase
-   - ae
   """
 
   thrift_spec = (
@@ -11017,15 +10997,13 @@ class addGateway_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
-    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -11059,12 +11037,6 @@ class addGateway_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRUCT:
-          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
-          self.ae.read(iprot)
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11091,10 +11063,6 @@ class addGateway_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
-    if self.ae is not None:
-      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
-      self.ae.write(oprot)
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11108,7 +11076,6 @@ class addGateway_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
-    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -11227,7 +11194,6 @@ class updateGateway_result:
    - ire
    - ace
    - ase
-   - ae
   """
 
   thrift_spec = (
@@ -11235,14 +11201,12 @@ class updateGateway_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, ire=None, ace=None, ase=None, ae=None,):
+  def __init__(self, ire=None, ace=None, ase=None,):
     self.ire = ire
     self.ace = ace
     self.ase = ase
-    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -11271,12 +11235,6 @@ class updateGateway_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRUCT:
-          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
-          self.ae.read(iprot)
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11299,10 +11257,6 @@ class updateGateway_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
-    if self.ae is not None:
-      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
-      self.ae.write(oprot)
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11315,7 +11269,6 @@ class updateGateway_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
-    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -11419,7 +11372,6 @@ class getGateway_result:
    - ire
    - ace
    - ase
-   - ae
   """
 
   thrift_spec = (
@@ -11427,15 +11379,13 @@ class getGateway_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
-    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -11470,12 +11420,6 @@ class getGateway_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRUCT:
-          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
-          self.ae.read(iprot)
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11502,10 +11446,6 @@ class getGateway_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
-    if self.ae is not None:
-      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
-      self.ae.write(oprot)
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11519,7 +11459,6 @@ class getGateway_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
-    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -11623,7 +11562,6 @@ class deleteGateway_result:
    - ire
    - ace
    - ase
-   - ae
   """
 
   thrift_spec = (
@@ -11631,15 +11569,13 @@ class deleteGateway_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
-    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -11673,12 +11609,6 @@ class deleteGateway_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRUCT:
-          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
-          self.ae.read(iprot)
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11705,10 +11635,6 @@ class deleteGateway_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
-    if self.ae is not None:
-      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
-      self.ae.write(oprot)
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11722,7 +11648,6 @@ class deleteGateway_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
-    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -11811,7 +11736,6 @@ class getAllGateways_result:
    - ire
    - ace
    - ase
-   - ae
   """
 
   thrift_spec = (
@@ -11819,15 +11743,13 @@ class getAllGateways_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
-    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -11867,12 +11789,6 @@ class getAllGateways_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRUCT:
-          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
-          self.ae.read(iprot)
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -11902,10 +11818,6 @@ class getAllGateways_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
-    if self.ae is not None:
-      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
-      self.ae.write(oprot)
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -11919,7 +11831,6 @@ class getAllGateways_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
-    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -12023,7 +11934,6 @@ class isGatewayExist_result:
    - ire
    - ace
    - ase
-   - ae
   """
 
   thrift_spec = (
@@ -12031,15 +11941,13 @@ class isGatewayExist_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
-    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -12073,12 +11981,6 @@ class isGatewayExist_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRUCT:
-          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
-          self.ae.read(iprot)
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -12105,10 +12007,6 @@ class isGatewayExist_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
-    if self.ae is not None:
-      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
-      self.ae.write(oprot)
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -12122,7 +12020,6 @@ class isGatewayExist_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
-    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -12786,7 +12683,6 @@ class createProject_result:
    - ire
    - ace
    - ase
-   - ae
   """
 
   thrift_spec = (
@@ -12794,15 +12690,13 @@ class createProject_result:
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
   )
 
-  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
+  def __init__(self, success=None, ire=None, ace=None, ase=None,):
     self.success = success
     self.ire = ire
     self.ace = ace
     self.ase = ase
-    self.ae = ae
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -12836,12 +12730,6 @@ class createProject_result:
           self.ase.read(iprot)
         else:
           iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRUCT:
-          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
-          self.ae.read(iprot)
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -12868,10 +12756,6 @@ class createProject_result:
       oprot.writeFieldBegin('ase', TType.STRUCT, 3)
       self.ase.write(oprot)
       oprot.writeFieldEnd()
-    if self.ae is not None:
-      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
-      self.ae.write(oprot)
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -12885,7 +12769,6 @@ class createProject_result:
     value = (value * 31) ^ hash(self.ire)
     value = (value * 31) ^ hash(self.ace)
     value = (value * 31) ^ hash(self.ase)
-    value = (value * 31) ^ hash(self.ae)
     return value
 
   def __repr__(self):
@@ -12902,17 +12785,20 @@ class createProject_result:
 class updateProject_args:
   """
   Attributes:
+   - authzToken
    - projectId
    - updatedProject
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'projectId', None, None, ), # 1
-    (2, TType.STRUCT, 'updatedProject', (apache.airavata.model.workspace.ttypes.Project, apache.airavata.model.workspace.ttypes.Project.thrift_spec), None, ), # 2
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'projectId', None, None, ), # 2
+    (3, TType.STRUCT, 'updatedProject', (apache.airavata.model.workspace.ttypes.Project, apache.airavata.model.workspace.ttypes.Project.thrift_spec), None, ), # 3
   )
 
-  def __init__(self, projectId=None, updatedProject=None,):
+  def __init__(self, authzToken=None, projectId=None, updatedProject=None,):
+    self.authzToken = authzToken
     self.projectId = projectId
     self.updatedProject = updatedProject
 
@@ -12926,11 +12812,17 @@ class updateProject_args:
       if ftype == TType.STOP:
         break
       if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
         if ftype == TType.STRING:
           self.projectId = iprot.readString();
         else:
           iprot.skip(ftype)
-      elif fid == 2:
+      elif fid == 3:
         if ftype == TType.STRUCT:
           self.updatedProject = apache.airavata.model.workspace.ttypes.Project()
           self.updatedProject.read(iprot)
@@ -12946,18 +12838,24 @@ class updateProject_args:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('updateProject_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
     if self.projectId is not None:
-      oprot.writeFieldBegin('projectId', TType.STRING, 1)
+      oprot.writeFieldBegin('projectId', TType.STRING, 2)
       oprot.writeString(self.projectId)
       oprot.writeFieldEnd()
     if self.updatedProject is not None:
-      oprot.writeFieldBegin('updatedProject', TType.STRUCT, 2)
+      oprot.writeFieldBegin('updatedProject', TType.STRUCT, 3)
       self.updatedProject.write(oprot)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.projectId is None:
       raise TProtocol.TProtocolException(message='Required field projectId is unset!')
     if self.updatedProject is None:
@@ -12967,6 +12865,7 @@ class updateProject_args:
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.projectId)
     value = (value * 31) ^ hash(self.updatedProject)
     return value
@@ -13093,15 +12992,18 @@ class updateProject_result:
 class getProject_args:
   """
   Attributes:
+   - authzToken
    - projectId
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'projectId', None, None, ), # 1
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'projectId', None, None, ), # 2
   )
 
-  def __init__(self, projectId=None,):
+  def __init__(self, authzToken=None, projectId=None,):
+    self.authzToken = authzToken
     self.projectId = projectId
 
   def read(self, iprot):
@@ -13114,6 +13016,12 @@ class getProject_args:
       if ftype == TType.STOP:
         break
       if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
         if ftype == TType.STRING:
           self.projectId = iprot.readString();
         else:
@@ -13128,14 +13036,20 @@ class getProject_args:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('getProject_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
     if self.projectId is not None:
-      oprot.writeFieldBegin('projectId', TType.STRING, 1)
+      oprot.writeFieldBegin('projectId', TType.STRING, 2)
       oprot.writeString(self.projectId)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.projectId is None:
       raise TProtocol.TProtocolException(message='Required field projectId is unset!')
     return
@@ -13143,6 +13057,7 @@ class getProject_args:
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.projectId)
     return value
 
@@ -13281,15 +13196,18 @@ class getProject_result:
 class deleteProject_args:
   """
   Attributes:
+   - authzToken
    - projectId
   """
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'projectId', None, None, ), # 1
+    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
+    (2, TType.STRING, 'projectId', None, None, ), # 2
   )
 
-  def __init__(self, projectId=None,):
+  def __init__(self, authzToken=None, projectId=None,):
+    self.authzToken = authzToken
     self.projectId = projectId
 
   def read(self, iprot):
@@ -13302,6 +13220,12 @@ class deleteProject_args:
       if ftype == TType.STOP:
         break
       if fid == 1:
+        if ftype == TType.STRUCT:
+          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
+          self.authzToken.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
         if ftype == TType.STRING:
           self.projectId = iprot.readString();
         else:
@@ -13316,14 +13240,20 @@ class deleteProject_args:
       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
       return
     oprot.writeStructBegin('deleteProject_args')
+    if self.authzToken is not None:
+      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
+      self.authzToken.write(oprot)
+      oprot.writeFieldEnd()
     if self.projectId is not None:
-      oprot.writeFieldBegin('projectId', TType.STRING, 1)
+      oprot.writeFieldBegin('projectId', TType.STRING, 2)
       oprot.writeString(self.projectId)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.authzToken is None:
+      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.projectId is None:
       raise TProtocol.TProtocolException(message='Required field projectId is unset!')
     return
@@ -13331,6 +13261,7 @@ class deleteProject_args:
 
   def __hash__(self):
     value = 17
+    value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.projectId)
     return value
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
index 0628e03..e24a5c6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class Workflow implements org.apache.thrift.TBase<Workflow, Workflow._Fields>, java.io.Serializable, Cloneable, Comparable<Workflow> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Workflow");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index 2799e44..7e9d8af 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *  assigns to the environment variable "NAME" the value
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ApplicationDeploymentDescription implements org.apache.thrift.TBase<ApplicationDeploymentDescription, ApplicationDeploymentDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationDeploymentDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationDeploymentDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
index 39e2167..81e8ee9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
  *    Descriprion of the Module
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ApplicationModule implements org.apache.thrift.TBase<ApplicationModule, ApplicationModule._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationModule> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationModule");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
index 0202bb8..ccbbe1f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * value:
  *   Value of the environment variable to set
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class SetEnvPaths implements org.apache.thrift.TBase<SetEnvPaths, SetEnvPaths._Fields>, java.io.Serializable, Cloneable, Comparable<SetEnvPaths> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SetEnvPaths");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
index a4cd0c4..ff4d131 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *   Outputs generated from the application
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ApplicationInterfaceDescription implements org.apache.thrift.TBase<ApplicationInterfaceDescription, ApplicationInterfaceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationInterfaceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationInterfaceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index a61a4b7..f2a2f20 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * maxRunTime:
  *  Maximum allowed run time in hours.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueue._Fields>, java.io.Serializable, Cloneable, Comparable<BatchQueue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchQueue");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
index 05ecef1..16d5788 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmission, CloudJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<CloudJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloudJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index 86d1534..2fcc11b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -80,7 +80,7 @@ import org.slf4j.LoggerFactory;
  *  Map of file systems type and the path.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ComputeResourceDescription implements org.apache.thrift.TBase<ComputeResourceDescription, ComputeResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DataMovementInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DataMovementInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DataMovementInterface.java
index 9301399..568cf15 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DataMovementInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DataMovementInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  *   Lower the numerical number, higher the priority
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class DataMovementInterface implements org.apache.thrift.TBase<DataMovementInterface, DataMovementInterface._Fields>, java.io.Serializable, Cloneable, Comparable<DataMovementInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataMovementInterface");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
index 2c45163..f95a174 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class GlobusJobSubmission implements org.apache.thrift.TBase<GlobusJobSubmission, GlobusJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<GlobusJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GlobusJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GridFTPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GridFTPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GridFTPDataMovement.java
index 3f122ce..56c710a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GridFTPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GridFTPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class GridFTPDataMovement implements org.apache.thrift.TBase<GridFTPDataMovement, GridFTPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<GridFTPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GridFTPDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
index 042734c..97843f2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  *   Lower the numerical number, higher the priority
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class JobSubmissionInterface implements org.apache.thrift.TBase<JobSubmissionInterface, JobSubmissionInterface._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionInterface");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALDataMovement.java
index 8a6bd2b..45f9b0d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-defualt port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class LOCALDataMovement implements org.apache.thrift.TBase<LOCALDataMovement, LOCALDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
index 2bcdd06..ed026ff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class LOCALSubmission implements org.apache.thrift.TBase<LOCALSubmission, LOCALSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fae741d/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
index 871bc52..e784895 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
  *  An enumeration of commonly used manager commands.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-15")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-17")
 public class ResourceJobManager implements org.apache.thrift.TBase<ResourceJobManager, ResourceJobManager._Fields>, java.io.Serializable, Cloneable, Comparable<ResourceJobManager> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ResourceJobManager");