You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2014/04/17 04:17:10 UTC

[01/31] AIRAVATA-1143

Repository: airavata
Updated Branches:
  refs/heads/master d3fb569bc -> dd7617fa2


http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Thrift.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Thrift.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Thrift.php
new file mode 100644
index 0000000..c845395
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Thrift.php
@@ -0,0 +1,789 @@
+<?php
+/*
+ * 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 thrift
+ */
+
+
+/**
+ * Data types that can be sent via Thrift
+ */
+class TType {
+  const STOP   = 0;
+  const VOID   = 1;
+  const BOOL   = 2;
+  const BYTE   = 3;
+  const I08    = 3;
+  const DOUBLE = 4;
+  const I16    = 6;
+  const I32    = 8;
+  const I64    = 10;
+  const STRING = 11;
+  const UTF7   = 11;
+  const STRUCT = 12;
+  const MAP    = 13;
+  const SET    = 14;
+  const LST    = 15;    // N.B. cannot use LIST keyword in PHP!
+  const UTF8   = 16;
+  const UTF16  = 17;
+}
+
+/**
+ * Message types for RPC
+ */
+class TMessageType {
+  const CALL  = 1;
+  const REPLY = 2;
+  const EXCEPTION = 3;
+  const ONEWAY = 4;
+}
+
+/**
+ * NOTE(mcslee): This currently contains a ton of duplicated code from TBase
+ * because we need to save CPU cycles and this is not yet in an extension.
+ * Ideally we'd multiply-inherit TException from both Exception and Base, but
+ * that's not possible in PHP and there are no modules either, so for now we
+ * apologetically take a trip to HackTown.
+ *
+ * Can be called with standard Exception constructor (message, code) or with
+ * Thrift Base object constructor (spec, vals).
+ *
+ * @param mixed $p1 Message (string) or type-spec (array)
+ * @param mixed $p2 Code (integer) or values (array)
+ */
+class TException extends Exception {
+  function __construct($p1=null, $p2=0) {
+    if (is_array($p1) && is_array($p2)) {
+      $spec = $p1;
+      $vals = $p2;
+      foreach ($spec as $fid => $fspec) {
+        $var = $fspec['var'];
+        if (isset($vals[$var])) {
+          $this->$var = $vals[$var];
+        }
+      }
+    } else {
+      parent::__construct($p1, $p2);
+    }
+  }
+
+  static $tmethod = array(TType::BOOL   => 'Bool',
+                          TType::BYTE   => 'Byte',
+                          TType::I16    => 'I16',
+                          TType::I32    => 'I32',
+                          TType::I64    => 'I64',
+                          TType::DOUBLE => 'Double',
+                          TType::STRING => 'String');
+
+  private function _readMap(&$var, $spec, $input) {
+    $xfer = 0;
+    $ktype = $spec['ktype'];
+    $vtype = $spec['vtype'];
+    $kread = $vread = null;
+    if (isset(TBase::$tmethod[$ktype])) {
+      $kread = 'read'.TBase::$tmethod[$ktype];
+    } else {
+      $kspec = $spec['key'];
+    }
+    if (isset(TBase::$tmethod[$vtype])) {
+      $vread = 'read'.TBase::$tmethod[$vtype];
+    } else {
+      $vspec = $spec['val'];
+    }
+    $var = array();
+    $_ktype = $_vtype = $size = 0;
+    $xfer += $input->readMapBegin($_ktype, $_vtype, $size);
+    for ($i = 0; $i < $size; ++$i) {
+      $key = $val = null;
+      if ($kread !== null) {
+        $xfer += $input->$kread($key);
+      } else {
+        switch ($ktype) {
+        case TType::STRUCT:
+          $class = $kspec['class'];
+          $key = new $class();
+          $xfer += $key->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($key, $kspec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($key, $kspec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($key, $kspec, $input, true);
+          break;
+        }
+      }
+      if ($vread !== null) {
+        $xfer += $input->$vread($val);
+      } else {
+        switch ($vtype) {
+        case TType::STRUCT:
+          $class = $vspec['class'];
+          $val = new $class();
+          $xfer += $val->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($val, $vspec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($val, $vspec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($val, $vspec, $input, true);
+          break;
+        }
+      }
+      $var[$key] = $val;
+    }
+    $xfer += $input->readMapEnd();
+    return $xfer;
+  }
+
+  private function _readList(&$var, $spec, $input, $set=false) {
+    $xfer = 0;
+    $etype = $spec['etype'];
+    $eread = $vread = null;
+    if (isset(TBase::$tmethod[$etype])) {
+      $eread = 'read'.TBase::$tmethod[$etype];
+    } else {
+      $espec = $spec['elem'];
+    }
+    $var = array();
+    $_etype = $size = 0;
+    if ($set) {
+      $xfer += $input->readSetBegin($_etype, $size);
+    } else {
+      $xfer += $input->readListBegin($_etype, $size);
+    }
+    for ($i = 0; $i < $size; ++$i) {
+      $elem = null;
+      if ($eread !== null) {
+        $xfer += $input->$eread($elem);
+      } else {
+        $espec = $spec['elem'];
+        switch ($etype) {
+        case TType::STRUCT:
+          $class = $espec['class'];
+          $elem = new $class();
+          $xfer += $elem->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($elem, $espec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($elem, $espec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($elem, $espec, $input, true);
+          break;
+        }
+      }
+      if ($set) {
+        $var[$elem] = true;
+      } else {
+        $var []= $elem;
+      }
+    }
+    if ($set) {
+      $xfer += $input->readSetEnd();
+    } else {
+      $xfer += $input->readListEnd();
+    }
+    return $xfer;
+  }
+
+  protected function _read($class, $spec, $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;
+      }
+      if (isset($spec[$fid])) {
+        $fspec = $spec[$fid];
+        $var = $fspec['var'];
+        if ($ftype == $fspec['type']) {
+          $xfer = 0;
+          if (isset(TBase::$tmethod[$ftype])) {
+            $func = 'read'.TBase::$tmethod[$ftype];
+            $xfer += $input->$func($this->$var);
+          } else {
+            switch ($ftype) {
+            case TType::STRUCT:
+              $class = $fspec['class'];
+              $this->$var = new $class();
+              $xfer += $this->$var->read($input);
+              break;
+            case TType::MAP:
+              $xfer += $this->_readMap($this->$var, $fspec, $input);
+              break;
+            case TType::LST:
+              $xfer += $this->_readList($this->$var, $fspec, $input, false);
+              break;
+            case TType::SET:
+              $xfer += $this->_readList($this->$var, $fspec, $input, true);
+              break;
+            }
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+      } else {
+        $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  private function _writeMap($var, $spec, $output) {
+    $xfer = 0;
+    $ktype = $spec['ktype'];
+    $vtype = $spec['vtype'];
+    $kwrite = $vwrite = null;
+    if (isset(TBase::$tmethod[$ktype])) {
+      $kwrite = 'write'.TBase::$tmethod[$ktype];
+    } else {
+      $kspec = $spec['key'];
+    }
+    if (isset(TBase::$tmethod[$vtype])) {
+      $vwrite = 'write'.TBase::$tmethod[$vtype];
+    } else {
+      $vspec = $spec['val'];
+    }
+    $xfer += $output->writeMapBegin($ktype, $vtype, count($var));
+    foreach ($var as $key => $val) {
+      if (isset($kwrite)) {
+        $xfer += $output->$kwrite($key);
+      } else {
+        switch ($ktype) {
+        case TType::STRUCT:
+          $xfer += $key->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($key, $kspec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($key, $kspec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($key, $kspec, $output, true);
+          break;
+        }
+      }
+      if (isset($vwrite)) {
+        $xfer += $output->$vwrite($val);
+      } else {
+        switch ($vtype) {
+        case TType::STRUCT:
+          $xfer += $val->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($val, $vspec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($val, $vspec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($val, $vspec, $output, true);
+          break;
+        }
+      }
+    }
+    $xfer += $output->writeMapEnd();
+    return $xfer;
+  }
+
+  private function _writeList($var, $spec, $output, $set=false) {
+    $xfer = 0;
+    $etype = $spec['etype'];
+    $ewrite = null;
+    if (isset(TBase::$tmethod[$etype])) {
+      $ewrite = 'write'.TBase::$tmethod[$etype];
+    } else {
+      $espec = $spec['elem'];
+    }
+    if ($set) {
+      $xfer += $output->writeSetBegin($etype, count($var));
+    } else {
+      $xfer += $output->writeListBegin($etype, count($var));
+    }
+    foreach ($var as $key => $val) {
+      $elem = $set ? $key : $val;
+      if (isset($ewrite)) {
+        $xfer += $output->$ewrite($elem);
+      } else {
+        switch ($etype) {
+        case TType::STRUCT:
+          $xfer += $elem->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($elem, $espec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($elem, $espec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($elem, $espec, $output, true);
+          break;
+        }
+      }
+    }
+    if ($set) {
+      $xfer += $output->writeSetEnd();
+    } else {
+      $xfer += $output->writeListEnd();
+    }
+    return $xfer;
+  }
+
+  protected function _write($class, $spec, $output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin($class);
+    foreach ($spec as $fid => $fspec) {
+      $var = $fspec['var'];
+      if ($this->$var !== null) {
+        $ftype = $fspec['type'];
+        $xfer += $output->writeFieldBegin($var, $ftype, $fid);
+        if (isset(TBase::$tmethod[$ftype])) {
+          $func = 'write'.TBase::$tmethod[$ftype];
+          $xfer += $output->$func($this->$var);
+        } else {
+          switch ($ftype) {
+          case TType::STRUCT:
+            $xfer += $this->$var->write($output);
+            break;
+          case TType::MAP:
+            $xfer += $this->_writeMap($this->$var, $fspec, $output);
+            break;
+          case TType::LST:
+            $xfer += $this->_writeList($this->$var, $fspec, $output, false);
+            break;
+          case TType::SET:
+            $xfer += $this->_writeList($this->$var, $fspec, $output, true);
+            break;
+          }
+        }
+        $xfer += $output->writeFieldEnd();
+      }
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * Base class from which other Thrift structs extend. This is so that we can
+ * cut back on the size of the generated code which is turning out to have a
+ * nontrivial cost just to load thanks to the wondrously abysmal implementation
+ * of PHP. Note that code is intentionally duplicated in here to avoid making
+ * function calls for every field or member of a container..
+ */
+abstract class TBase {
+
+  static $tmethod = array(TType::BOOL   => 'Bool',
+                          TType::BYTE   => 'Byte',
+                          TType::I16    => 'I16',
+                          TType::I32    => 'I32',
+                          TType::I64    => 'I64',
+                          TType::DOUBLE => 'Double',
+                          TType::STRING => 'String');
+
+  abstract function read($input);
+
+  abstract function write($output);
+
+  public function __construct($spec=null, $vals=null) {
+    if (is_array($spec) && is_array($vals)) {
+      foreach ($spec as $fid => $fspec) {
+        $var = $fspec['var'];
+        if (isset($vals[$var])) {
+          $this->$var = $vals[$var];
+        }
+      }
+    }
+  }
+
+  private function _readMap(&$var, $spec, $input) {
+    $xfer = 0;
+    $ktype = $spec['ktype'];
+    $vtype = $spec['vtype'];
+    $kread = $vread = null;
+    if (isset(TBase::$tmethod[$ktype])) {
+      $kread = 'read'.TBase::$tmethod[$ktype];
+    } else {
+      $kspec = $spec['key'];
+    }
+    if (isset(TBase::$tmethod[$vtype])) {
+      $vread = 'read'.TBase::$tmethod[$vtype];
+    } else {
+      $vspec = $spec['val'];
+    }
+    $var = array();
+    $_ktype = $_vtype = $size = 0;
+    $xfer += $input->readMapBegin($_ktype, $_vtype, $size);
+    for ($i = 0; $i < $size; ++$i) {
+      $key = $val = null;
+      if ($kread !== null) {
+        $xfer += $input->$kread($key);
+      } else {
+        switch ($ktype) {
+        case TType::STRUCT:
+          $class = $kspec['class'];
+          $key = new $class();
+          $xfer += $key->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($key, $kspec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($key, $kspec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($key, $kspec, $input, true);
+          break;
+        }
+      }
+      if ($vread !== null) {
+        $xfer += $input->$vread($val);
+      } else {
+        switch ($vtype) {
+        case TType::STRUCT:
+          $class = $vspec['class'];
+          $val = new $class();
+          $xfer += $val->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($val, $vspec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($val, $vspec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($val, $vspec, $input, true);
+          break;
+        }
+      }
+      $var[$key] = $val;
+    }
+    $xfer += $input->readMapEnd();
+    return $xfer;
+  }
+
+  private function _readList(&$var, $spec, $input, $set=false) {
+    $xfer = 0;
+    $etype = $spec['etype'];
+    $eread = $vread = null;
+    if (isset(TBase::$tmethod[$etype])) {
+      $eread = 'read'.TBase::$tmethod[$etype];
+    } else {
+      $espec = $spec['elem'];
+    }
+    $var = array();
+    $_etype = $size = 0;
+    if ($set) {
+      $xfer += $input->readSetBegin($_etype, $size);
+    } else {
+      $xfer += $input->readListBegin($_etype, $size);
+    }
+    for ($i = 0; $i < $size; ++$i) {
+      $elem = null;
+      if ($eread !== null) {
+        $xfer += $input->$eread($elem);
+      } else {
+        $espec = $spec['elem'];
+        switch ($etype) {
+        case TType::STRUCT:
+          $class = $espec['class'];
+          $elem = new $class();
+          $xfer += $elem->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($elem, $espec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($elem, $espec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($elem, $espec, $input, true);
+          break;
+        }
+      }
+      if ($set) {
+        $var[$elem] = true;
+      } else {
+        $var []= $elem;
+      }
+    }
+    if ($set) {
+      $xfer += $input->readSetEnd();
+    } else {
+      $xfer += $input->readListEnd();
+    }
+    return $xfer;
+  }
+
+  protected function _read($class, $spec, $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;
+      }
+      if (isset($spec[$fid])) {
+        $fspec = $spec[$fid];
+        $var = $fspec['var'];
+        if ($ftype == $fspec['type']) {
+          $xfer = 0;
+          if (isset(TBase::$tmethod[$ftype])) {
+            $func = 'read'.TBase::$tmethod[$ftype];
+            $xfer += $input->$func($this->$var);
+          } else {
+            switch ($ftype) {
+            case TType::STRUCT:
+              $class = $fspec['class'];
+              $this->$var = new $class();
+              $xfer += $this->$var->read($input);
+              break;
+            case TType::MAP:
+              $xfer += $this->_readMap($this->$var, $fspec, $input);
+              break;
+            case TType::LST:
+              $xfer += $this->_readList($this->$var, $fspec, $input, false);
+              break;
+            case TType::SET:
+              $xfer += $this->_readList($this->$var, $fspec, $input, true);
+              break;
+            }
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+      } else {
+        $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  private function _writeMap($var, $spec, $output) {
+    $xfer = 0;
+    $ktype = $spec['ktype'];
+    $vtype = $spec['vtype'];
+    $kwrite = $vwrite = null;
+    if (isset(TBase::$tmethod[$ktype])) {
+      $kwrite = 'write'.TBase::$tmethod[$ktype];
+    } else {
+      $kspec = $spec['key'];
+    }
+    if (isset(TBase::$tmethod[$vtype])) {
+      $vwrite = 'write'.TBase::$tmethod[$vtype];
+    } else {
+      $vspec = $spec['val'];
+    }
+    $xfer += $output->writeMapBegin($ktype, $vtype, count($var));
+    foreach ($var as $key => $val) {
+      if (isset($kwrite)) {
+        $xfer += $output->$kwrite($key);
+      } else {
+        switch ($ktype) {
+        case TType::STRUCT:
+          $xfer += $key->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($key, $kspec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($key, $kspec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($key, $kspec, $output, true);
+          break;
+        }
+      }
+      if (isset($vwrite)) {
+        $xfer += $output->$vwrite($val);
+      } else {
+        switch ($vtype) {
+        case TType::STRUCT:
+          $xfer += $val->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($val, $vspec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($val, $vspec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($val, $vspec, $output, true);
+          break;
+        }
+      }
+    }
+    $xfer += $output->writeMapEnd();
+    return $xfer;
+  }
+
+  private function _writeList($var, $spec, $output, $set=false) {
+    $xfer = 0;
+    $etype = $spec['etype'];
+    $ewrite = null;
+    if (isset(TBase::$tmethod[$etype])) {
+      $ewrite = 'write'.TBase::$tmethod[$etype];
+    } else {
+      $espec = $spec['elem'];
+    }
+    if ($set) {
+      $xfer += $output->writeSetBegin($etype, count($var));
+    } else {
+      $xfer += $output->writeListBegin($etype, count($var));
+    }
+    foreach ($var as $key => $val) {
+      $elem = $set ? $key : $val;
+      if (isset($ewrite)) {
+        $xfer += $output->$ewrite($elem);
+      } else {
+        switch ($etype) {
+        case TType::STRUCT:
+          $xfer += $elem->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($elem, $espec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($elem, $espec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($elem, $espec, $output, true);
+          break;
+        }
+      }
+    }
+    if ($set) {
+      $xfer += $output->writeSetEnd();
+    } else {
+      $xfer += $output->writeListEnd();
+    }
+    return $xfer;
+  }
+
+  protected function _write($class, $spec, $output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin($class);
+    foreach ($spec as $fid => $fspec) {
+      $var = $fspec['var'];
+      if ($this->$var !== null) {
+        $ftype = $fspec['type'];
+        $xfer += $output->writeFieldBegin($var, $ftype, $fid);
+        if (isset(TBase::$tmethod[$ftype])) {
+          $func = 'write'.TBase::$tmethod[$ftype];
+          $xfer += $output->$func($this->$var);
+        } else {
+          switch ($ftype) {
+          case TType::STRUCT:
+            $xfer += $this->$var->write($output);
+            break;
+          case TType::MAP:
+            $xfer += $this->_writeMap($this->$var, $fspec, $output);
+            break;
+          case TType::LST:
+            $xfer += $this->_writeList($this->$var, $fspec, $output, false);
+            break;
+          case TType::SET:
+            $xfer += $this->_writeList($this->$var, $fspec, $output, true);
+            break;
+          }
+        }
+        $xfer += $output->writeFieldEnd();
+      }
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+}
+
+class TApplicationException extends TException {
+  static $_TSPEC =
+    array(1 => array('var' => 'message',
+                     'type' => TType::STRING),
+          2 => array('var' => 'code',
+                     'type' => TType::I32));
+
+  const UNKNOWN = 0;
+  const UNKNOWN_METHOD = 1;
+  const INVALID_MESSAGE_TYPE = 2;
+  const WRONG_METHOD_NAME = 3;
+  const BAD_SEQUENCE_ID = 4;
+  const MISSING_RESULT = 5;
+  const INTERNAL_ERROR = 6;
+  const PROTOCOL_ERROR = 7;
+
+  function __construct($message=null, $code=0) {
+    parent::__construct($message, $code);
+  }
+
+  public function read($output) {
+    return $this->_read('TApplicationException', self::$_TSPEC, $output);
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('TApplicationException');
+    if ($message = $this->getMessage()) {
+      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
+      $xfer += $output->writeString($message);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($code = $this->getCode()) {
+      $xfer += $output->writeFieldBegin('type', TType::I32, 2);
+      $xfer += $output->writeI32($code);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+}
+
+/**
+ * Set global THRIFT ROOT automatically via inclusion here
+ */
+if (!isset($GLOBALS['THRIFT_ROOT'])) {
+  $GLOBALS['THRIFT_ROOT'] = dirname(__FILE__);
+}
+include_once $GLOBALS['THRIFT_ROOT'].'/protocol/TProtocol.php';
+include_once $GLOBALS['THRIFT_ROOT'].'/transport/TTransport.php';
+include_once $GLOBALS['THRIFT_ROOT'].'/TStringUtils.php';
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TBufferedTransport.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TBufferedTransport.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TBufferedTransport.php
new file mode 100644
index 0000000..0d3ad98
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TBufferedTransport.php
@@ -0,0 +1,165 @@
+<?php
+/*
+ * 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 thrift.transport
+ */
+
+namespace Thrift\Transport;
+
+use Thrift\Transport\TTransport;
+use Thrift\Factory\TStringFuncFactory;
+
+/**
+ * Buffered transport. Stores data to an internal buffer that it doesn't
+ * actually write out until flush is called. For reading, we do a greedy
+ * read and then serve data out of the internal buffer.
+ *
+ * @package thrift.transport
+ */
+class TBufferedTransport extends TTransport {
+
+  /**
+   * Constructor. Creates a buffered transport around an underlying transport
+   */
+  public function __construct($transport=null, $rBufSize=512, $wBufSize=512) {
+    $this->transport_ = $transport;
+    $this->rBufSize_ = $rBufSize;
+    $this->wBufSize_ = $wBufSize;
+  }
+
+  /**
+   * The underlying transport
+   *
+   * @var TTransport
+   */
+  protected $transport_ = null;
+
+  /**
+   * The receive buffer size
+   *
+   * @var int
+   */
+  protected $rBufSize_ = 512;
+
+  /**
+   * The write buffer size
+   *
+   * @var int
+   */
+  protected $wBufSize_ = 512;
+
+  /**
+   * The write buffer.
+   *
+   * @var string
+   */
+  protected $wBuf_ = '';
+
+  /**
+   * The read buffer.
+   *
+   * @var string
+   */
+  protected $rBuf_ = '';
+
+  public function isOpen() {
+    return $this->transport_->isOpen();
+  }
+
+  public function open() {
+    $this->transport_->open();
+  }
+
+  public function close() {
+    $this->transport_->close();
+  }
+
+  public function putBack($data) {
+    if (TStringFuncFactory::create()->strlen($this->rBuf_) === 0) {
+      $this->rBuf_ = $data;
+    } else {
+      $this->rBuf_ = ($data . $this->rBuf_);
+    }
+  }
+
+  /**
+   * The reason that we customize readAll here is that the majority of PHP
+   * streams are already internally buffered by PHP. The socket stream, for
+   * example, buffers internally and blocks if you call read with $len greater
+   * than the amount of data available, unlike recv() in C.
+   *
+   * Therefore, use the readAll method of the wrapped transport inside
+   * the buffered readAll.
+   */
+  public function readAll($len) {
+    $have = TStringFuncFactory::create()->strlen($this->rBuf_);
+    if ($have == 0) {
+      $data = $this->transport_->readAll($len);
+    } else if ($have < $len) {
+      $data = $this->rBuf_;
+      $this->rBuf_ = '';
+      $data .= $this->transport_->readAll($len - $have);
+    } else if ($have == $len) {
+      $data = $this->rBuf_;
+      $this->rBuf_ = '';
+    } else if ($have > $len) {
+      $data = TStringFuncFactory::create()->substr($this->rBuf_, 0, $len);
+      $this->rBuf_ = TStringFuncFactory::create()->substr($this->rBuf_, $len);
+    }
+    return $data;
+  }
+
+  public function read($len) {
+    if (TStringFuncFactory::create()->strlen($this->rBuf_) === 0) {
+      $this->rBuf_ = $this->transport_->read($this->rBufSize_);
+    }
+
+    if (TStringFuncFactory::create()->strlen($this->rBuf_) <= $len) {
+      $ret = $this->rBuf_;
+      $this->rBuf_ = '';
+      return $ret;
+    }
+
+    $ret = TStringFuncFactory::create()->substr($this->rBuf_, 0, $len);
+    $this->rBuf_ = TStringFuncFactory::create()->substr($this->rBuf_, $len);
+    return $ret;
+  }
+
+  public function write($buf) {
+    $this->wBuf_ .= $buf;
+    if (TStringFuncFactory::create()->strlen($this->wBuf_) >= $this->wBufSize_) {
+      $out = $this->wBuf_;
+
+      // Note that we clear the internal wBuf_ prior to the underlying write
+      // to ensure we're in a sane state (i.e. internal buffer cleaned)
+      // if the underlying write throws up an exception
+      $this->wBuf_ = '';
+      $this->transport_->write($out);
+    }
+  }
+
+  public function flush() {
+    if (TStringFuncFactory::create()->strlen($this->wBuf_) > 0) {
+      $this->transport_->write($this->wBuf_);
+      $this->wBuf_ = '';
+    }
+    $this->transport_->flush();
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TFramedTransport.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TFramedTransport.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TFramedTransport.php
new file mode 100644
index 0000000..d80d548
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TFramedTransport.php
@@ -0,0 +1,183 @@
+<?php
+/*
+ * 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 thrift.transport
+ */
+
+namespace Thrift\Transport;
+
+use Thrift\Transport\TTransport;
+use Thrift\Factory\TStringFuncFactory;
+
+/**
+ * Framed transport. Writes and reads data in chunks that are stamped with
+ * their length.
+ *
+ * @package thrift.transport
+ */
+class TFramedTransport extends TTransport {
+
+  /**
+   * Underlying transport object.
+   *
+   * @var TTransport
+   */
+  private $transport_;
+
+  /**
+   * Buffer for read data.
+   *
+   * @var string
+   */
+  private $rBuf_;
+
+  /**
+   * Buffer for queued output data
+   *
+   * @var string
+   */
+  private $wBuf_;
+
+  /**
+   * Whether to frame reads
+   *
+   * @var bool
+   */
+  private $read_;
+
+  /**
+   * Whether to frame writes
+   *
+   * @var bool
+   */
+  private $write_;
+
+  /**
+   * Constructor.
+   *
+   * @param TTransport $transport Underlying transport
+   */
+  public function __construct($transport=null, $read=true, $write=true) {
+    $this->transport_ = $transport;
+    $this->read_ = $read;
+    $this->write_ = $write;
+  }
+
+  public function isOpen() {
+    return $this->transport_->isOpen();
+  }
+
+  public function open() {
+    $this->transport_->open();
+  }
+
+  public function close() {
+    $this->transport_->close();
+  }
+
+  /**
+   * Reads from the buffer. When more data is required reads another entire
+   * chunk and serves future reads out of that.
+   *
+   * @param int $len How much data
+   */
+  public function read($len) {
+    if (!$this->read_) {
+      return $this->transport_->read($len);
+    }
+
+    if (TStringFuncFactory::create()->strlen($this->rBuf_) === 0) {
+      $this->readFrame();
+    }
+
+    // Just return full buff
+    if ($len >= TStringFuncFactory::create()->strlen($this->rBuf_)) {
+      $out = $this->rBuf_;
+      $this->rBuf_ = null;
+      return $out;
+    }
+
+    // Return TStringFuncFactory::create()->substr
+    $out = TStringFuncFactory::create()->substr($this->rBuf_, 0, $len);
+    $this->rBuf_ = TStringFuncFactory::create()->substr($this->rBuf_, $len);
+    return $out;
+  }
+
+  /**
+   * Put previously read data back into the buffer
+   *
+   * @param string $data data to return
+   */
+  public function putBack($data) {
+    if (TStringFuncFactory::create()->strlen($this->rBuf_) === 0) {
+      $this->rBuf_ = $data;
+    } else {
+      $this->rBuf_ = ($data . $this->rBuf_);
+    }
+  }
+
+  /**
+   * Reads a chunk of data into the internal read buffer.
+   */
+  private function readFrame() {
+    $buf = $this->transport_->readAll(4);
+    $val = unpack('N', $buf);
+    $sz = $val[1];
+
+    $this->rBuf_ = $this->transport_->readAll($sz);
+  }
+
+  /**
+   * Writes some data to the pending output buffer.
+   *
+   * @param string $buf The data
+   * @param int    $len Limit of bytes to write
+   */
+  public function write($buf, $len=null) {
+    if (!$this->write_) {
+      return $this->transport_->write($buf, $len);
+    }
+
+    if ($len !== null && $len < TStringFuncFactory::create()->strlen($buf)) {
+      $buf = TStringFuncFactory::create()->substr($buf, 0, $len);
+    }
+    $this->wBuf_ .= $buf;
+  }
+
+  /**
+   * Writes the output buffer to the stream in the format of a 4-byte length
+   * followed by the actual data.
+   */
+  public function flush() {
+    if (!$this->write_ || TStringFuncFactory::create()->strlen($this->wBuf_) == 0) {
+      return $this->transport_->flush();
+    }
+
+    $out = pack('N', TStringFuncFactory::create()->strlen($this->wBuf_));
+    $out .= $this->wBuf_;
+
+    // Note that we clear the internal wBuf_ prior to the underlying write
+    // to ensure we're in a sane state (i.e. internal buffer cleaned)
+    // if the underlying write throws up an exception
+    $this->wBuf_ = '';
+    $this->transport_->write($out);
+    $this->transport_->flush();
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/THttpClient.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/THttpClient.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/THttpClient.php
new file mode 100644
index 0000000..f46b18a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/THttpClient.php
@@ -0,0 +1,221 @@
+<?php
+/*
+ * 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 thrift.transport
+ */
+
+namespace Thrift\Transport;
+
+use Thrift\Transport\TTransport;
+use Thrift\Exception\TTransportException;
+use Thrift\Factory\TStringFuncFactory;
+
+/**
+ * HTTP client for Thrift
+ *
+ * @package thrift.transport
+ */
+class THttpClient extends TTransport {
+
+  /**
+   * The host to connect to
+   *
+   * @var string
+   */
+  protected $host_;
+
+  /**
+   * The port to connect on
+   *
+   * @var int
+   */
+  protected $port_;
+
+  /**
+   * The URI to request
+   *
+   * @var string
+   */
+  protected $uri_;
+
+  /**
+   * The scheme to use for the request, i.e. http, https
+   *
+   * @var string
+   */
+  protected $scheme_;
+
+  /**
+   * Buffer for the HTTP request data
+   *
+   * @var string
+   */
+  protected $buf_;
+
+  /**
+   * Input socket stream.
+   *
+   * @var resource
+   */
+  protected $handle_;
+
+  /**
+   * Read timeout
+   *
+   * @var float
+   */
+  protected $timeout_;
+
+  /**
+   * http headers
+   *
+   * @var array
+   */
+  protected $headers_;
+
+  /**
+   * Make a new HTTP client.
+   *
+   * @param string $host
+   * @param int    $port
+   * @param string $uri
+   */
+  public function __construct($host, $port=80, $uri='', $scheme = 'http') {
+    if ((TStringFuncFactory::create()->strlen($uri) > 0) && ($uri{0} != '/')) {
+      $uri = '/'.$uri;
+    }
+    $this->scheme_ = $scheme;
+    $this->host_ = $host;
+    $this->port_ = $port;
+    $this->uri_ = $uri;
+    $this->buf_ = '';
+    $this->handle_ = null;
+    $this->timeout_ = null;
+    $this->headers_ = array();
+  }
+
+  /**
+   * Set read timeout
+   *
+   * @param float $timeout
+   */
+  public function setTimeoutSecs($timeout) {
+    $this->timeout_ = $timeout;
+  }
+
+  /**
+   * Whether this transport is open.
+   *
+   * @return boolean true if open
+   */
+  public function isOpen() {
+    return true;
+  }
+
+  /**
+   * Open the transport for reading/writing
+   *
+   * @throws TTransportException if cannot open
+   */
+  public function open() {}
+
+  /**
+   * Close the transport.
+   */
+  public function close() {
+    if ($this->handle_) {
+      @fclose($this->handle_);
+      $this->handle_ = null;
+    }
+  }
+
+  /**
+   * Read some data into the array.
+   *
+   * @param int    $len How much to read
+   * @return string The data that has been read
+   * @throws TTransportException if cannot read any more data
+   */
+  public function read($len) {
+    $data = @fread($this->handle_, $len);
+    if ($data === FALSE || $data === '') {
+      $md = stream_get_meta_data($this->handle_);
+      if ($md['timed_out']) {
+        throw new TTransportException('THttpClient: timed out reading '.$len.' bytes from '.$this->host_.':'.$this->port_.$this->uri_, TTransportException::TIMED_OUT);
+      } else {
+        throw new TTransportException('THttpClient: Could not read '.$len.' bytes from '.$this->host_.':'.$this->port_.$this->uri_, TTransportException::UNKNOWN);
+      }
+    }
+    return $data;
+  }
+
+  /**
+   * Writes some data into the pending buffer
+   *
+   * @param string $buf  The data to write
+   * @throws TTransportException if writing fails
+   */
+  public function write($buf) {
+    $this->buf_ .= $buf;
+  }
+
+  /**
+   * Opens and sends the actual request over the HTTP connection
+   *
+   * @throws TTransportException if a writing error occurs
+   */
+  public function flush() {
+    // God, PHP really has some esoteric ways of doing simple things.
+    $host = $this->host_.($this->port_ != 80 ? ':'.$this->port_ : '');
+
+    $headers = array();
+    $defaultHeaders = array('Host' => $host,
+                            'Accept' => 'application/x-thrift',
+                            'User-Agent' => 'PHP/THttpClient',
+                            'Content-Type' => 'application/x-thrift',
+                            'Content-Length' => TStringFuncFactory::create()->strlen($this->buf_));
+    foreach (array_merge($defaultHeaders, $this->headers_) as $key => $value) {
+        $headers[] = "$key: $value";
+    }
+
+    $options = array('method' => 'POST',
+                     'header' => implode("\r\n", $headers),
+                     'max_redirects' => 1,
+                     'content' => $this->buf_);
+    if ($this->timeout_ > 0) {
+      $options['timeout'] = $this->timeout_;
+    }
+    $this->buf_ = '';
+
+    $contextid = stream_context_create(array('http' => $options));
+    $this->handle_ = @fopen($this->scheme_.'://'.$host.$this->uri_, 'r', false, $contextid);
+
+    // Connect failed?
+    if ($this->handle_ === FALSE) {
+      $this->handle_ = null;
+      $error = 'THttpClient: Could not connect to '.$host.$this->uri_;
+      throw new TTransportException($error, TTransportException::NOT_OPEN);
+    }
+  }
+
+  public function addHeaders($headers) {
+    $this->headers_ = array_merge($this->headers_, $headers);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TMemoryBuffer.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TMemoryBuffer.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TMemoryBuffer.php
new file mode 100644
index 0000000..911fab6
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TMemoryBuffer.php
@@ -0,0 +1,89 @@
+<?php
+/*
+ * 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 thrift.transport
+ */
+
+namespace Thrift\Transport;
+
+use Thrift\Transport\TTransport;
+use Thrift\Exception\TTransportException;
+use Thrift\Factory\TStringFuncFactory;
+
+/**
+ * A memory buffer is a tranpsort that simply reads from and writes to an
+ * in-memory string buffer. Anytime you call write on it, the data is simply
+ * placed into a buffer, and anytime you call read, data is read from that
+ * buffer.
+ *
+ * @package thrift.transport
+ */
+class TMemoryBuffer extends TTransport {
+
+  /**
+   * Constructor. Optionally pass an initial value
+   * for the buffer.
+   */
+  public function __construct($buf = '') {
+    $this->buf_ = $buf;
+  }
+
+  protected $buf_ = '';
+
+  public function isOpen() {
+    return true;
+  }
+
+  public function open() {}
+
+  public function close() {}
+
+  public function write($buf) {
+    $this->buf_ .= $buf;
+  }
+
+  public function read($len) {
+    $bufLength = TStringFuncFactory::create()->strlen($this->buf_);
+
+    if ($bufLength === 0) {
+      throw new TTransportException('TMemoryBuffer: Could not read ' .
+                                    $len . ' bytes from buffer.',
+                                    TTransportException::UNKNOWN);
+    }
+
+    if ($bufLength <= $len) {
+      $ret = $this->buf_;
+      $this->buf_ = '';
+      return $ret;
+    }
+
+    $ret = TStringFuncFactory::create()->substr($this->buf_, 0, $len);
+    $this->buf_ = TStringFuncFactory::create()->substr($this->buf_, $len);
+
+    return $ret;
+  }
+
+  function getBuffer() {
+    return $this->buf_;
+  }
+
+  public function available() {
+    return TStringFuncFactory::create()->strlen($this->buf_);
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TNullTransport.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TNullTransport.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TNullTransport.php
new file mode 100644
index 0000000..4bf10ed
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TNullTransport.php
@@ -0,0 +1,50 @@
+<?php
+/*
+ * 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 thrift.transport
+ */
+
+namespace Thrift\Transport;
+
+use Thrift\Transport\TTransport;
+use Thrift\Exception\TTransportException;
+
+/**
+ * Transport that only accepts writes and ignores them.
+ * This is useful for measuring the serialized size of structures.
+ *
+ * @package thrift.transport
+ */
+class TNullTransport extends TTransport {
+
+  public function isOpen() {
+    return true;
+  }
+
+  public function open() {}
+
+  public function close() {}
+
+  public function read($len) {
+    throw new TTransportException("Can't read from TNullTransport.");
+  }
+
+  public function write($buf) {}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TPhpStream.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TPhpStream.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TPhpStream.php
new file mode 100644
index 0000000..691d0cf
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TPhpStream.php
@@ -0,0 +1,114 @@
+<?php
+/*
+ * 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 thrift.transport
+ */
+
+namespace Thrift\Transport;
+
+use Thrift\Transport\TTransport;
+use Thrift\Exception\TException;
+use Thrift\Factory\TStringFuncFactory;
+
+/**
+ * Php stream transport. Reads to and writes from the php standard streams
+ * php://input and php://output
+ *
+ * @package thrift.transport
+ */
+class TPhpStream extends TTransport {
+
+  const MODE_R = 1;
+  const MODE_W = 2;
+
+  private $inStream_ = null;
+
+  private $outStream_ = null;
+
+  private $read_ = false;
+
+  private $write_ = false;
+
+  public function __construct($mode) {
+    $this->read_ = $mode & self::MODE_R;
+    $this->write_ = $mode & self::MODE_W;
+  }
+
+  public function open() {
+    if ($this->read_) {
+      $this->inStream_ = @fopen(self::inStreamName(), 'r');
+      if (!is_resource($this->inStream_)) {
+        throw new TException('TPhpStream: Could not open php://input');
+      }
+    }
+    if ($this->write_) {
+      $this->outStream_ = @fopen('php://output', 'w');
+      if (!is_resource($this->outStream_)) {
+        throw new TException('TPhpStream: Could not open php://output');
+      }
+    }
+  }
+
+  public function close() {
+    if ($this->read_) {
+      @fclose($this->inStream_);
+      $this->inStream_ = null;
+    }
+    if ($this->write_) {
+      @fclose($this->outStream_);
+      $this->outStream_ = null;
+    }
+  }
+
+  public function isOpen() {
+    return
+      (!$this->read_ || is_resource($this->inStream_)) &&
+      (!$this->write_ || is_resource($this->outStream_));
+  }
+
+  public function read($len) {
+    $data = @fread($this->inStream_, $len);
+    if ($data === FALSE || $data === '') {
+      throw new TException('TPhpStream: Could not read '.$len.' bytes');
+    }
+    return $data;
+  }
+
+  public function write($buf) {
+    while (TStringFuncFactory::create()->strlen($buf) > 0) {
+      $got = @fwrite($this->outStream_, $buf);
+      if ($got === 0 || $got === FALSE) {
+        throw new TException('TPhpStream: Could not write '.TStringFuncFactory::create()->strlen($buf).' bytes');
+      }
+      $buf = TStringFuncFactory::create()->substr($buf, $got);
+    }
+  }
+
+  public function flush() {
+    @fflush($this->outStream_);
+  }
+
+  private static function inStreamName() {
+    if (php_sapi_name() == 'cli') {
+      return 'php://stdin';
+    }
+    return 'php://input';
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TSocket.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TSocket.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TSocket.php
new file mode 100644
index 0000000..3ad3bf7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TSocket.php
@@ -0,0 +1,326 @@
+<?php
+/*
+ * 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 thrift.transport
+ */
+
+namespace Thrift\Transport;
+
+use Thrift\Transport\TTransport;
+use Thrift\Exception\TException;
+use Thrift\Exception\TTransportException;
+use Thrift\Factory\TStringFuncFactory;
+
+/**
+ * Sockets implementation of the TTransport interface.
+ *
+ * @package thrift.transport
+ */
+class TSocket extends TTransport {
+
+  /**
+   * Handle to PHP socket
+   *
+   * @var resource
+   */
+  private $handle_ = null;
+
+  /**
+   * Remote hostname
+   *
+   * @var string
+   */
+  protected $host_ = 'localhost';
+
+  /**
+   * Remote port
+   *
+   * @var int
+   */
+  protected $port_ = '9090';
+
+  /**
+   * Send timeout in seconds.
+   *
+   * Combined with sendTimeoutUsec this is used for send timeouts.
+   *
+   * @var int
+   */
+  private $sendTimeoutSec_ = 0;
+
+  /**
+   * Send timeout in microseconds.
+   *
+   * Combined with sendTimeoutSec this is used for send timeouts.
+   *
+   * @var int
+   */
+  private $sendTimeoutUsec_ = 100000;
+
+  /**
+   * Recv timeout in seconds
+   *
+   * Combined with recvTimeoutUsec this is used for recv timeouts.
+   *
+   * @var int
+   */
+  private $recvTimeoutSec_ = 0;
+
+  /**
+   * Recv timeout in microseconds
+   *
+   * Combined with recvTimeoutSec this is used for recv timeouts.
+   *
+   * @var int
+   */
+  private $recvTimeoutUsec_ = 750000;
+
+  /**
+   * Persistent socket or plain?
+   *
+   * @var bool
+   */
+  protected $persist_ = FALSE;
+
+  /**
+   * Debugging on?
+   *
+   * @var bool
+   */
+  protected $debug_ = FALSE;
+
+  /**
+   * Debug handler
+   *
+   * @var mixed
+   */
+  protected $debugHandler_ = null;
+
+  /**
+   * Socket constructor
+   *
+   * @param string $host         Remote hostname
+   * @param int    $port         Remote port
+   * @param bool   $persist      Whether to use a persistent socket
+   * @param string $debugHandler Function to call for error logging
+   */
+  public function __construct($host='localhost',
+                              $port=9090,
+                              $persist=FALSE,
+                              $debugHandler=null) {
+    $this->host_ = $host;
+    $this->port_ = $port;
+    $this->persist_ = $persist;
+    $this->debugHandler_ = $debugHandler ? $debugHandler : 'error_log';
+  }
+
+  /**
+   * @param resource $handle
+   * @return void
+   */
+  public function setHandle($handle) {
+    $this->handle_ = $handle;
+  }
+
+  /**
+   * Sets the send timeout.
+   *
+   * @param int $timeout  Timeout in milliseconds.
+   */
+  public function setSendTimeout($timeout) {
+    $this->sendTimeoutSec_ = floor($timeout / 1000);
+    $this->sendTimeoutUsec_ =
+            ($timeout - ($this->sendTimeoutSec_ * 1000)) * 1000;
+  }
+
+  /**
+   * Sets the receive timeout.
+   *
+   * @param int $timeout  Timeout in milliseconds.
+   */
+  public function setRecvTimeout($timeout) {
+    $this->recvTimeoutSec_ = floor($timeout / 1000);
+    $this->recvTimeoutUsec_ =
+            ($timeout - ($this->recvTimeoutSec_ * 1000)) * 1000;
+  }
+
+  /**
+   * Sets debugging output on or off
+   *
+   * @param bool $debug
+   */
+  public function setDebug($debug) {
+    $this->debug_ = $debug;
+  }
+
+  /**
+   * Get the host that this socket is connected to
+   *
+   * @return string host
+   */
+  public function getHost() {
+    return $this->host_;
+  }
+
+  /**
+   * Get the remote port that this socket is connected to
+   *
+   * @return int port
+   */
+  public function getPort() {
+    return $this->port_;
+  }
+
+  /**
+   * Tests whether this is open
+   *
+   * @return bool true if the socket is open
+   */
+  public function isOpen() {
+    return is_resource($this->handle_);
+  }
+
+  /**
+   * Connects the socket.
+   */
+  public function open() {
+    if ($this->isOpen()) {
+      throw new TTransportException('Socket already connected', TTransportException::ALREADY_OPEN);
+    }
+
+    if (empty($this->host_)) {
+      throw new TTransportException('Cannot open null host', TTransportException::NOT_OPEN);
+    }
+
+    if ($this->port_ <= 0) {
+      throw new TTransportException('Cannot open without port', TTransportException::NOT_OPEN);
+    }
+
+    if ($this->persist_) {
+      $this->handle_ = @pfsockopen($this->host_,
+                                   $this->port_,
+                                   $errno,
+                                   $errstr,
+                                   $this->sendTimeoutSec_ + ($this->sendTimeoutUsec_ / 1000000));
+    } else {
+      $this->handle_ = @fsockopen($this->host_,
+                                  $this->port_,
+                                  $errno,
+                                  $errstr,
+                                  $this->sendTimeoutSec_ + ($this->sendTimeoutUsec_ / 1000000));
+    }
+
+    // Connect failed?
+    if ($this->handle_ === FALSE) {
+      $error = 'TSocket: Could not connect to '.$this->host_.':'.$this->port_.' ('.$errstr.' ['.$errno.'])';
+      if ($this->debug_) {
+        call_user_func($this->debugHandler_, $error);
+      }
+      throw new TException($error);
+    }
+  }
+
+  /**
+   * Closes the socket.
+   */
+  public function close() {
+    if (!$this->persist_) {
+      @fclose($this->handle_);
+      $this->handle_ = null;
+    }
+  }
+
+  /**
+   * Read from the socket at most $len bytes.
+   *
+   * This method will not wait for all the requested data, it will return as
+   * soon as any data is received.
+   *
+   * @param int $len Maximum number of bytes to read.
+   * @return string Binary data
+   */
+  public function read($len) {
+    $null = null;
+    $read = array($this->handle_);
+    $readable = @stream_select($read, $null, $null, $this->recvTimeoutSec_, $this->recvTimeoutUsec_);
+
+    if ($readable > 0) {
+      $data = @stream_socket_recvfrom($this->handle_, $len);
+      if ($data === false) {
+          throw new TTransportException('TSocket: Could not read '.$len.' bytes from '.
+                               $this->host_.':'.$this->port_);
+      } elseif($data == '' && feof($this->handle_)) {
+          throw new TTransportException('TSocket read 0 bytes');
+        }
+
+      return $data;
+    } else if ($readable === 0) {
+        throw new TTransportException('TSocket: timed out reading '.$len.' bytes from '.
+                             $this->host_.':'.$this->port_);
+      } else {
+        throw new TTransportException('TSocket: Could not read '.$len.' bytes from '.
+                             $this->host_.':'.$this->port_);
+      }
+    }
+
+  /**
+   * Write to the socket.
+   *
+   * @param string $buf The data to write
+   */
+  public function write($buf) {
+    $null = null;
+    $write = array($this->handle_);
+
+    // keep writing until all the data has been written
+    while (TStringFuncFactory::create()->strlen($buf) > 0) {
+      // wait for stream to become available for writing
+      $writable = @stream_select($null, $write, $null, $this->sendTimeoutSec_, $this->sendTimeoutUsec_);
+      if ($writable > 0) {
+        // write buffer to stream
+        $written = @stream_socket_sendto($this->handle_, $buf);
+        if ($written === -1 || $written === false) {
+          throw new TTransportException('TSocket: Could not write '.TStringFuncFactory::create()->strlen($buf).' bytes '.
+                                   $this->host_.':'.$this->port_);
+        }
+        // determine how much of the buffer is left to write
+        $buf = TStringFuncFactory::create()->substr($buf, $written);
+      } else if ($writable === 0) {
+          throw new TTransportException('TSocket: timed out writing '.TStringFuncFactory::create()->strlen($buf).' bytes from '.
+                               $this->host_.':'.$this->port_);
+        } else {
+            throw new TTransportException('TSocket: Could not write '.TStringFuncFactory::create()->strlen($buf).' bytes '.
+                                 $this->host_.':'.$this->port_);
+        }
+      }
+    }
+
+  /**
+   * Flush output to the socket.
+   *
+   * Since read(), readAll() and write() operate on the sockets directly,
+   * this is a no-op
+   *
+   * If you wish to have flushable buffering behaviour, wrap this TSocket
+   * in a TBufferedTransport.
+   */
+  public function flush() {
+    // no-op
+    }
+  }

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TSocketPool.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TSocketPool.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TSocketPool.php
new file mode 100644
index 0000000..e1610cb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TSocketPool.php
@@ -0,0 +1,295 @@
+<?php
+/*
+ * 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 thrift.transport
+ */
+
+namespace Thrift\Transport;
+
+use Thrift\Transport\TSocket;
+use Thrift\Exception\TException;
+
+/**
+ * This library makes use of APC cache to make hosts as down in a web
+ * environment. If you are running from the CLI or on a system without APC
+ * installed, then these null functions will step in and act like cache
+ * misses.
+ */
+if (!function_exists('apc_fetch')) {
+  function apc_fetch($key) { return FALSE; }
+  function apc_store($key, $var, $ttl=0) { return FALSE; }
+}
+
+/**
+ * Sockets implementation of the TTransport interface that allows connection
+ * to a pool of servers.
+ *
+ * @package thrift.transport
+ */
+class TSocketPool extends TSocket {
+
+  /**
+   * Remote servers. Array of associative arrays with 'host' and 'port' keys
+   */
+  private $servers_ = array();
+
+  /**
+   * How many times to retry each host in connect
+   *
+   * @var int
+   */
+  private $numRetries_ = 1;
+
+  /**
+   * Retry interval in seconds, how long to not try a host if it has been
+   * marked as down.
+   *
+   * @var int
+   */
+  private $retryInterval_ = 60;
+
+  /**
+   * Max consecutive failures before marking a host down.
+   *
+   * @var int
+   */
+  private $maxConsecutiveFailures_ = 1;
+
+  /**
+   * Try hosts in order? or Randomized?
+   *
+   * @var bool
+   */
+  private $randomize_ = TRUE;
+
+  /**
+   * Always try last host, even if marked down?
+   *
+   * @var bool
+   */
+  private $alwaysTryLast_ = TRUE;
+
+  /**
+   * Socket pool constructor
+   *
+   * @param array  $hosts        List of remote hostnames
+   * @param mixed  $ports        Array of remote ports, or a single common port
+   * @param bool   $persist      Whether to use a persistent socket
+   * @param mixed  $debugHandler Function for error logging
+   */
+  public function __construct($hosts=array('localhost'),
+                              $ports=array(9090),
+                              $persist=FALSE,
+                              $debugHandler=null) {
+    parent::__construct(null, 0, $persist, $debugHandler);
+
+    if (!is_array($ports)) {
+      $port = $ports;
+      $ports = array();
+      foreach ($hosts as $key => $val) {
+        $ports[$key] = $port;
+      }
+    }
+
+    foreach ($hosts as $key => $host) {
+      $this->servers_ []= array('host' => $host,
+                                'port' => $ports[$key]);
+    }
+  }
+
+  /**
+   * Add a server to the pool
+   *
+   * This function does not prevent you from adding a duplicate server entry.
+   *
+   * @param string $host hostname or IP
+   * @param int $port port
+   */
+  public function addServer($host, $port) {
+    $this->servers_[] = array('host' => $host, 'port' => $port);
+  }
+
+  /**
+   * Sets how many time to keep retrying a host in the connect function.
+   *
+   * @param int $numRetries
+   */
+  public function setNumRetries($numRetries) {
+    $this->numRetries_ = $numRetries;
+  }
+
+  /**
+   * Sets how long to wait until retrying a host if it was marked down
+   *
+   * @param int $numRetries
+   */
+  public function setRetryInterval($retryInterval) {
+    $this->retryInterval_ = $retryInterval;
+  }
+
+  /**
+   * Sets how many time to keep retrying a host before marking it as down.
+   *
+   * @param int $numRetries
+   */
+  public function setMaxConsecutiveFailures($maxConsecutiveFailures) {
+    $this->maxConsecutiveFailures_ = $maxConsecutiveFailures;
+  }
+
+  /**
+   * Turns randomization in connect order on or off.
+   *
+   * @param bool $randomize
+   */
+  public function setRandomize($randomize) {
+    $this->randomize_ = $randomize;
+  }
+
+  /**
+   * Whether to always try the last server.
+   *
+   * @param bool $alwaysTryLast
+   */
+  public function setAlwaysTryLast($alwaysTryLast) {
+    $this->alwaysTryLast_ = $alwaysTryLast;
+  }
+
+
+  /**
+   * Connects the socket by iterating through all the servers in the pool
+   * and trying to find one that works.
+   */
+  public function open() {
+    // Check if we want order randomization
+    if ($this->randomize_) {
+      shuffle($this->servers_);
+    }
+
+    // Count servers to identify the "last" one
+    $numServers = count($this->servers_);
+
+    for ($i = 0; $i < $numServers; ++$i) {
+
+      // This extracts the $host and $port variables
+      extract($this->servers_[$i]);
+
+      // Check APC cache for a record of this server being down
+      $failtimeKey = 'thrift_failtime:'.$host.':'.$port.'~';
+
+      // Cache miss? Assume it's OK
+      $lastFailtime = apc_fetch($failtimeKey);
+      if ($lastFailtime === FALSE) {
+        $lastFailtime = 0;
+      }
+
+      $retryIntervalPassed = FALSE;
+
+      // Cache hit...make sure enough the retry interval has elapsed
+      if ($lastFailtime > 0) {
+        $elapsed = time() - $lastFailtime;
+        if ($elapsed > $this->retryInterval_) {
+          $retryIntervalPassed = TRUE;
+          if ($this->debug_) {
+            call_user_func($this->debugHandler_,
+                           'TSocketPool: retryInterval '.
+                           '('.$this->retryInterval_.') '.
+                           'has passed for host '.$host.':'.$port);
+          }
+        }
+      }
+
+      // Only connect if not in the middle of a fail interval, OR if this
+      // is the LAST server we are trying, just hammer away on it
+      $isLastServer = FALSE;
+      if ($this->alwaysTryLast_) {
+        $isLastServer = ($i == ($numServers - 1));
+      }
+
+      if (($lastFailtime === 0) ||
+          ($isLastServer) ||
+          ($lastFailtime > 0 && $retryIntervalPassed)) {
+
+        // Set underlying TSocket params to this one
+        $this->host_ = $host;
+        $this->port_ = $port;
+
+        // Try up to numRetries_ connections per server
+        for ($attempt = 0; $attempt < $this->numRetries_; $attempt++) {
+          try {
+            // Use the underlying TSocket open function
+            parent::open();
+
+            // Only clear the failure counts if required to do so
+            if ($lastFailtime > 0) {
+              apc_store($failtimeKey, 0);
+            }
+
+            // Successful connection, return now
+            return;
+
+          } catch (TException $tx) {
+            // Connection failed
+          }
+        }
+
+        // Mark failure of this host in the cache
+        $consecfailsKey = 'thrift_consecfails:'.$host.':'.$port.'~';
+
+        // Ignore cache misses
+        $consecfails = apc_fetch($consecfailsKey);
+        if ($consecfails === FALSE) {
+          $consecfails = 0;
+        }
+
+        // Increment by one
+        $consecfails++;
+
+        // Log and cache this failure
+        if ($consecfails >= $this->maxConsecutiveFailures_) {
+          if ($this->debug_) {
+            call_user_func($this->debugHandler_,
+                           'TSocketPool: marking '.$host.':'.$port.
+                           ' as down for '.$this->retryInterval_.' secs '.
+                           'after '.$consecfails.' failed attempts.');
+          }
+          // Store the failure time
+          apc_store($failtimeKey, time());
+
+          // Clear the count of consecutive failures
+          apc_store($consecfailsKey, 0);
+        } else {
+          apc_store($consecfailsKey, $consecfails);
+        }
+      }
+    }
+
+    // Oh no; we failed them all. The system is totally ill!
+    $error = 'TSocketPool: All hosts in pool are down. ';
+    $hosts = array();
+    foreach ($this->servers_ as $server) {
+      $hosts []= $server['host'].':'.$server['port'];
+    }
+    $hostlist = implode(',', $hosts);
+    $error .= '('.$hostlist.')';
+    if ($this->debug_) {
+      call_user_func($this->debugHandler_, $error);
+    }
+    throw new TException($error);
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TTransport.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TTransport.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TTransport.php
new file mode 100644
index 0000000..2e44366
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Transport/TTransport.php
@@ -0,0 +1,93 @@
+<?php
+/*
+ * 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 thrift.transport
+ */
+
+namespace Thrift\Transport;
+
+use Thrift\Factory\TStringFuncFactory;
+
+/**
+ * Base interface for a transport agent.
+ *
+ * @package thrift.transport
+ */
+abstract class TTransport {
+
+  /**
+   * Whether this transport is open.
+   *
+   * @return boolean true if open
+   */
+  public abstract function isOpen();
+
+  /**
+   * Open the transport for reading/writing
+   *
+   * @throws TTransportException if cannot open
+   */
+  public abstract function open();
+
+  /**
+   * Close the transport.
+   */
+  public abstract function close();
+
+  /**
+   * Read some data into the array.
+   *
+   * @param int    $len How much to read
+   * @return string The data that has been read
+   * @throws TTransportException if cannot read any more data
+   */
+  public abstract function read($len);
+
+  /**
+   * Guarantees that the full amount of data is read.
+   *
+   * @return string The data, of exact length
+   * @throws TTransportException if cannot read data
+   */
+  public function readAll($len) {
+    // return $this->read($len);
+
+    $data = '';
+    $got = 0;
+    while (($got = TStringFuncFactory::create()->strlen($data)) < $len) {
+      $data .= $this->read($len - $got);
+    }
+    return $data;
+  }
+
+  /**
+   * Writes the given data out.
+   *
+   * @param string $buf  The data to write
+   * @throws TTransportException if writing fails
+   */
+  public abstract function write($buf);
+
+  /**
+   * Flushes any pending data out of a buffer
+   *
+   * @throws TTransportException if a writing error occurs
+   */
+  public function flush() {}
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Type/TMessageType.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Type/TMessageType.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Type/TMessageType.php
new file mode 100644
index 0000000..681c45c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Type/TMessageType.php
@@ -0,0 +1,33 @@
+<?php
+/*
+ * 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 thrift
+ */
+
+namespace Thrift\Type;
+
+/**
+ * Message types for RPC
+ */
+class TMessageType {
+  const CALL  = 1;
+  const REPLY = 2;
+  const EXCEPTION = 3;
+  const ONEWAY = 4;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Type/TType.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Type/TType.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Type/TType.php
new file mode 100644
index 0000000..c1cf228
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Type/TType.php
@@ -0,0 +1,46 @@
+<?php
+/*
+ * 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 thrift
+ */
+
+namespace Thrift\Type;
+
+/**
+ * Data types that can be sent via Thrift
+ */
+class TType {
+  const STOP   = 0;
+  const VOID   = 1;
+  const BOOL   = 2;
+  const BYTE   = 3;
+  const I08    = 3;
+  const DOUBLE = 4;
+  const I16    = 6;
+  const I32    = 8;
+  const I64    = 10;
+  const STRING = 11;
+  const UTF7   = 11;
+  const STRUCT = 12;
+  const MAP    = 13;
+  const SET    = 14;
+  const LST    = 15;    // N.B. cannot use LIST keyword in PHP!
+  const UTF8   = 16;
+  const UTF16  = 17;
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/autoload.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/autoload.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/autoload.php
new file mode 100644
index 0000000..3a35545
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/autoload.php
@@ -0,0 +1,51 @@
+<?php
+/*
+ * 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 thrift
+ */
+
+
+/**
+ * Include this file if you wish to use autoload with your PHP generated Thrift
+ * code. The generated code will *not* include any defined Thrift classes by
+ * default, except for the service interfaces. The generated code will populate
+ * values into $GLOBALS['THRIFT_AUTOLOAD'] which can be used by the autoload
+ * method below. If you have your own autoload system already in place, rename your
+ * __autoload function to something else and then do:
+ * $GLOBALS['AUTOLOAD_HOOKS'][] = 'my_autoload_func';
+ *
+ * Generate this code using the --gen php:autoload Thrift generator flag.
+ */
+
+$GLOBALS['THRIFT_AUTOLOAD'] = array();
+$GLOBALS['AUTOLOAD_HOOKS'] = array();
+
+if (!function_exists('__autoload')) {
+  function __autoload($class) {
+    global $THRIFT_AUTOLOAD;
+    $classl = strtolower($class);
+    if (isset($THRIFT_AUTOLOAD[$classl])) {
+      include_once $GLOBALS['THRIFT_ROOT'].'/packages/'.$THRIFT_AUTOLOAD[$classl];
+    } else if (!empty($GLOBALS['AUTOLOAD_HOOKS'])) {
+      foreach ($GLOBALS['AUTOLOAD_HOOKS'] as $hook) {
+        $hook($class);
+      }
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/samples/GetAiravataVersion.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/samples/GetAiravataVersion.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/samples/GetAiravataVersion.php
new file mode 100644
index 0000000..c1cd799
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/samples/GetAiravataVersion.php
@@ -0,0 +1,18 @@
+<?php
+
+//use Airavata\Client;
+
+ini_set("include_path", ini_get("include_path") . PATH_SEPARATOR . "../lib" . PATH_SEPARATOR .
+    "../lib/Thrift" . PATH_SEPARATOR . "../lib/Airavata/" . PATH_SEPARATOR);
+require_once 'autoload.php';
+
+require_once 'AiravataClientFactory.php';
+
+use Airavata\Client\AiravataClientFactory;
+
+$airavataClientFactory = new AiravataClientFactory(array('airavataServerHost' => "gw111.iu.xsede.org", 'airavataServerPort' => "8930"));
+
+$airavata = $airavataClientFactory->getAiravataClient();
+
+echo "Airavata Server Version is: " . $airavata->GetAPIVersion() . "\n";
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/samples/airavata-client-sample.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/samples/airavata-client-sample.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/samples/airavata-client-sample.php
new file mode 100644
index 0000000..4953cee
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/samples/airavata-client-sample.php
@@ -0,0 +1,93 @@
+<?php
+namespace Airavata\Client\Samples;
+
+$GLOBALS['THRIFT_ROOT'] = '../lib/Thrift/';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Transport/TTransport.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Transport/TSocket.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Protocol/TProtocol.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Protocol/TBinaryProtocol.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Exception/TException.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Exception/TApplicationException.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Exception/TProtocolException.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Base/TBase.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Type/TType.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Type/TMessageType.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Factory/TStringFuncFactory.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'StringFunc/TStringFunc.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'StringFunc/Core.php';
+
+$GLOBALS['AIRAVATA_ROOT'] = '../lib/Airavata/';
+require_once $GLOBALS['AIRAVATA_ROOT'] . 'API/Airavata.php';
+require_once $GLOBALS['AIRAVATA_ROOT'] . 'Model/Workspace/Experiment/Types.php';
+require_once $GLOBALS['AIRAVATA_ROOT'] . 'API/Error/Types.php';
+
+use Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling;
+use Airavata\Model\Workspace\Experiment\DataObjectType;
+use Airavata\Model\Workspace\Experiment\UserConfigurationData;
+use Thrift\Protocol\TBinaryProtocol;
+use Thrift\Transport\TSocket;
+use Airavata\API\AiravataClient;
+use Airavata\Model\Workspace\Experiment\Experiment;
+
+$transport = new TSocket('gw111.iu.xsede.org', 8930);
+$protocol = new TBinaryProtocol($transport);
+
+$airavataclient = new AiravataClient($protocol);
+$transport->open();
+
+echo "Airavata Server Version is: " . $airavataclient->GetAPIVersion();
+
+echo "<br><br>"."Creating New Experiment.... "."<br>";
+
+//Create a Experiment
+$experiment = new Experiment();
+$experiment->name = "PHPTest";
+$experiment->description = "Testingfromphp";
+$experiment->userName = "admin";
+$experiment->projectID = "project1";
+$experiment->applicationId = "US3AppTrestles";
+
+$experimentInputs = new DataObjectType();
+$experimentInputs->key = "input";
+$experimentInputs->value = "file:///home/airavata/input/hpcinput.tar";
+$experiment->experimentInputs = array($experimentInputs);
+
+$scheduling = new ComputationalResourceScheduling();
+$scheduling->resourceHostId = "gsissh-trestles";
+
+$userConfigData = new UserConfigurationData();
+$userConfigData->computationalResourceScheduling = $scheduling;
+$userConfigData->overrideManualScheduledParams = False;
+$userConfigData->airavataAutoSchedule = False;
+$experiment->userConfigurationData = $userConfigData;
+
+try {
+
+    $expId = $airavataclient->createExperiment($experiment);
+    echo "Experiment Id created is: " . $expId;
+
+    echo "<br><br>"."Launching Experiment.... "."<br>";
+    $airavataclient->launchExperiment($expId, "airavataToken");
+    echo "....Launched Experiment ".$expId."<br>";
+
+    echo "<br><br>"."Checking Experiment Status.... "."<br>";
+    $experimentStatus = $airavataclient->getExperimentStatus($expId);
+    echo "Experiment Status: "."<br>";
+    echo "State: ".$experimentStatus->ExperimentState ."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
+        "Time of last state change:". $experimentStatus->timeOfStateChange;
+
+    echo "<br><br>"."Checking Job Status.... "."<br>";
+    $jobStatus = $airavataclient->getJobStatuses($expId);
+    echo "Job Status: "."<br>";
+    echo "State: "."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
+        "Time of last state change:";
+
+} catch (TException $texp) {
+    print 'Exception: ' . $texp->getMessage()."\n";
+} catch (AiravataSystemException $ase) {
+    print 'Airavata System Exception: ' . $ase->getMessage()."\n";
+}
+$transport->close();
+
+?>
+


[19/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
new file mode 100644
index 0000000..683c900
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
@@ -0,0 +1,2714 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef Airavata_H
+#define Airavata_H
+
+#include <thrift/TDispatchProcessor.h>
+#include "airavataAPI_types.h"
+
+namespace airavata { namespace api {
+
+class AiravataIf {
+ public:
+  virtual ~AiravataIf() {}
+  virtual void GetAPIVersion(std::string& _return) = 0;
+  virtual void createProject(std::string& _return, const  ::Project& project, const std::string& userName) = 0;
+  virtual void updateProject(const  ::Project& project) = 0;
+  virtual void getProject( ::Project& _return, const std::string& projectId) = 0;
+  virtual void getAllUserProjects(std::vector< ::Project> & _return, const std::string& userName) = 0;
+  virtual void getAllExperimentsInProject(std::vector< ::Experiment> & _return, const std::string& projectId) = 0;
+  virtual void getAllUserExperiments(std::vector< ::Experiment> & _return, const std::string& userName) = 0;
+  virtual void createExperiment(std::string& _return, const  ::Experiment& experiment) = 0;
+  virtual void getExperiment( ::Experiment& _return, const std::string& airavataExperimentId) = 0;
+  virtual void updateExperiment(const std::string& airavataExperimentId, const  ::Experiment& experiment) = 0;
+  virtual void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::UserConfigurationData& userConfiguration) = 0;
+  virtual void updateResourceScheduleing(const std::string& airavataExperimentId, const  ::ComputationalResourceScheduling& resourceScheduling) = 0;
+  virtual void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) = 0;
+  virtual void getExperimentStatus( ::ExperimentStatus& _return, const std::string& airavataExperimentId) = 0;
+  virtual void getExperimentOutputs(std::vector< ::DataObjectType> & _return, const std::string& airavataExperimentId) = 0;
+  virtual void getJobStatuses(std::map<std::string,  ::JobStatus> & _return, const std::string& airavataExperimentId) = 0;
+  virtual void cloneExperiment(std::string& _return, const std::string& airavataExperimentIdToBeCloned, const  ::Experiment& updatedExperiment) = 0;
+  virtual void terminateExperiment(const std::string& airavataExperimentId) = 0;
+};
+
+class AiravataIfFactory {
+ public:
+  typedef AiravataIf Handler;
+
+  virtual ~AiravataIfFactory() {}
+
+  virtual AiravataIf* getHandler(const ::apache::thrift::TConnectionInfo& connInfo) = 0;
+  virtual void releaseHandler(AiravataIf* /* handler */) = 0;
+};
+
+class AiravataIfSingletonFactory : virtual public AiravataIfFactory {
+ public:
+  AiravataIfSingletonFactory(const boost::shared_ptr<AiravataIf>& iface) : iface_(iface) {}
+  virtual ~AiravataIfSingletonFactory() {}
+
+  virtual AiravataIf* getHandler(const ::apache::thrift::TConnectionInfo&) {
+    return iface_.get();
+  }
+  virtual void releaseHandler(AiravataIf* /* handler */) {}
+
+ protected:
+  boost::shared_ptr<AiravataIf> iface_;
+};
+
+class AiravataNull : virtual public AiravataIf {
+ public:
+  virtual ~AiravataNull() {}
+  void GetAPIVersion(std::string& /* _return */) {
+    return;
+  }
+  void createProject(std::string& /* _return */, const  ::Project& /* project */, const std::string& /* userName */) {
+    return;
+  }
+  void updateProject(const  ::Project& /* project */) {
+    return;
+  }
+  void getProject( ::Project& /* _return */, const std::string& /* projectId */) {
+    return;
+  }
+  void getAllUserProjects(std::vector< ::Project> & /* _return */, const std::string& /* userName */) {
+    return;
+  }
+  void getAllExperimentsInProject(std::vector< ::Experiment> & /* _return */, const std::string& /* projectId */) {
+    return;
+  }
+  void getAllUserExperiments(std::vector< ::Experiment> & /* _return */, const std::string& /* userName */) {
+    return;
+  }
+  void createExperiment(std::string& /* _return */, const  ::Experiment& /* experiment */) {
+    return;
+  }
+  void getExperiment( ::Experiment& /* _return */, const std::string& /* airavataExperimentId */) {
+    return;
+  }
+  void updateExperiment(const std::string& /* airavataExperimentId */, const  ::Experiment& /* experiment */) {
+    return;
+  }
+  void updateExperimentConfiguration(const std::string& /* airavataExperimentId */, const  ::UserConfigurationData& /* userConfiguration */) {
+    return;
+  }
+  void updateResourceScheduleing(const std::string& /* airavataExperimentId */, const  ::ComputationalResourceScheduling& /* resourceScheduling */) {
+    return;
+  }
+  void launchExperiment(const std::string& /* airavataExperimentId */, const std::string& /* airavataCredStoreToken */) {
+    return;
+  }
+  void getExperimentStatus( ::ExperimentStatus& /* _return */, const std::string& /* airavataExperimentId */) {
+    return;
+  }
+  void getExperimentOutputs(std::vector< ::DataObjectType> & /* _return */, const std::string& /* airavataExperimentId */) {
+    return;
+  }
+  void getJobStatuses(std::map<std::string,  ::JobStatus> & /* _return */, const std::string& /* airavataExperimentId */) {
+    return;
+  }
+  void cloneExperiment(std::string& /* _return */, const std::string& /* airavataExperimentIdToBeCloned */, const  ::Experiment& /* updatedExperiment */) {
+    return;
+  }
+  void terminateExperiment(const std::string& /* airavataExperimentId */) {
+    return;
+  }
+};
+
+
+class Airavata_GetAPIVersion_args {
+ public:
+
+  Airavata_GetAPIVersion_args() {
+  }
+
+  virtual ~Airavata_GetAPIVersion_args() throw() {}
+
+
+  bool operator == (const Airavata_GetAPIVersion_args & /* rhs */) const
+  {
+    return true;
+  }
+  bool operator != (const Airavata_GetAPIVersion_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_GetAPIVersion_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_GetAPIVersion_pargs {
+ public:
+
+
+  virtual ~Airavata_GetAPIVersion_pargs() throw() {}
+
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_GetAPIVersion_result__isset {
+  _Airavata_GetAPIVersion_result__isset() : success(false) {}
+  bool success;
+} _Airavata_GetAPIVersion_result__isset;
+
+class Airavata_GetAPIVersion_result {
+ public:
+
+  Airavata_GetAPIVersion_result() : success() {
+  }
+
+  virtual ~Airavata_GetAPIVersion_result() throw() {}
+
+  std::string success;
+
+  _Airavata_GetAPIVersion_result__isset __isset;
+
+  void __set_success(const std::string& val) {
+    success = val;
+  }
+
+  bool operator == (const Airavata_GetAPIVersion_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_GetAPIVersion_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_GetAPIVersion_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_GetAPIVersion_presult__isset {
+  _Airavata_GetAPIVersion_presult__isset() : success(false) {}
+  bool success;
+} _Airavata_GetAPIVersion_presult__isset;
+
+class Airavata_GetAPIVersion_presult {
+ public:
+
+
+  virtual ~Airavata_GetAPIVersion_presult() throw() {}
+
+  std::string* success;
+
+  _Airavata_GetAPIVersion_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_createProject_args {
+ public:
+
+  Airavata_createProject_args() : userName() {
+  }
+
+  virtual ~Airavata_createProject_args() throw() {}
+
+   ::Project project;
+  std::string userName;
+
+  void __set_project(const  ::Project& val) {
+    project = val;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  bool operator == (const Airavata_createProject_args & rhs) const
+  {
+    if (!(project == rhs.project))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_createProject_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_createProject_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_createProject_pargs {
+ public:
+
+
+  virtual ~Airavata_createProject_pargs() throw() {}
+
+  const  ::Project* project;
+  const std::string* userName;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_createProject_result__isset {
+  _Airavata_createProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_createProject_result__isset;
+
+class Airavata_createProject_result {
+ public:
+
+  Airavata_createProject_result() : success() {
+  }
+
+  virtual ~Airavata_createProject_result() throw() {}
+
+  std::string success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_createProject_result__isset __isset;
+
+  void __set_success(const std::string& val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_createProject_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_createProject_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_createProject_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_createProject_presult__isset {
+  _Airavata_createProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_createProject_presult__isset;
+
+class Airavata_createProject_presult {
+ public:
+
+
+  virtual ~Airavata_createProject_presult() throw() {}
+
+  std::string* success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_createProject_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_updateProject_args {
+ public:
+
+  Airavata_updateProject_args() {
+  }
+
+  virtual ~Airavata_updateProject_args() throw() {}
+
+   ::Project project;
+
+  void __set_project(const  ::Project& val) {
+    project = val;
+  }
+
+  bool operator == (const Airavata_updateProject_args & rhs) const
+  {
+    if (!(project == rhs.project))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_updateProject_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateProject_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateProject_pargs {
+ public:
+
+
+  virtual ~Airavata_updateProject_pargs() throw() {}
+
+  const  ::Project* project;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateProject_result__isset {
+  _Airavata_updateProject_result__isset() : ire(false), ace(false), ase(false) {}
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_updateProject_result__isset;
+
+class Airavata_updateProject_result {
+ public:
+
+  Airavata_updateProject_result() {
+  }
+
+  virtual ~Airavata_updateProject_result() throw() {}
+
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_updateProject_result__isset __isset;
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_updateProject_result & rhs) const
+  {
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_updateProject_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateProject_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateProject_presult__isset {
+  _Airavata_updateProject_presult__isset() : ire(false), ace(false), ase(false) {}
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_updateProject_presult__isset;
+
+class Airavata_updateProject_presult {
+ public:
+
+
+  virtual ~Airavata_updateProject_presult() throw() {}
+
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_updateProject_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getProject_args {
+ public:
+
+  Airavata_getProject_args() : projectId() {
+  }
+
+  virtual ~Airavata_getProject_args() throw() {}
+
+  std::string projectId;
+
+  void __set_projectId(const std::string& val) {
+    projectId = val;
+  }
+
+  bool operator == (const Airavata_getProject_args & rhs) const
+  {
+    if (!(projectId == rhs.projectId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getProject_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getProject_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getProject_pargs {
+ public:
+
+
+  virtual ~Airavata_getProject_pargs() throw() {}
+
+  const std::string* projectId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getProject_result__isset {
+  _Airavata_getProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_getProject_result__isset;
+
+class Airavata_getProject_result {
+ public:
+
+  Airavata_getProject_result() {
+  }
+
+  virtual ~Airavata_getProject_result() throw() {}
+
+   ::Project success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getProject_result__isset __isset;
+
+  void __set_success(const  ::Project& val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_getProject_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getProject_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getProject_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getProject_presult__isset {
+  _Airavata_getProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_getProject_presult__isset;
+
+class Airavata_getProject_presult {
+ public:
+
+
+  virtual ~Airavata_getProject_presult() throw() {}
+
+   ::Project* success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getProject_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getAllUserProjects_args {
+ public:
+
+  Airavata_getAllUserProjects_args() : userName() {
+  }
+
+  virtual ~Airavata_getAllUserProjects_args() throw() {}
+
+  std::string userName;
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  bool operator == (const Airavata_getAllUserProjects_args & rhs) const
+  {
+    if (!(userName == rhs.userName))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllUserProjects_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllUserProjects_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getAllUserProjects_pargs {
+ public:
+
+
+  virtual ~Airavata_getAllUserProjects_pargs() throw() {}
+
+  const std::string* userName;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllUserProjects_result__isset {
+  _Airavata_getAllUserProjects_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_getAllUserProjects_result__isset;
+
+class Airavata_getAllUserProjects_result {
+ public:
+
+  Airavata_getAllUserProjects_result() {
+  }
+
+  virtual ~Airavata_getAllUserProjects_result() throw() {}
+
+  std::vector< ::Project>  success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getAllUserProjects_result__isset __isset;
+
+  void __set_success(const std::vector< ::Project> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_getAllUserProjects_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllUserProjects_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllUserProjects_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllUserProjects_presult__isset {
+  _Airavata_getAllUserProjects_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_getAllUserProjects_presult__isset;
+
+class Airavata_getAllUserProjects_presult {
+ public:
+
+
+  virtual ~Airavata_getAllUserProjects_presult() throw() {}
+
+  std::vector< ::Project> * success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getAllUserProjects_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getAllExperimentsInProject_args {
+ public:
+
+  Airavata_getAllExperimentsInProject_args() : projectId() {
+  }
+
+  virtual ~Airavata_getAllExperimentsInProject_args() throw() {}
+
+  std::string projectId;
+
+  void __set_projectId(const std::string& val) {
+    projectId = val;
+  }
+
+  bool operator == (const Airavata_getAllExperimentsInProject_args & rhs) const
+  {
+    if (!(projectId == rhs.projectId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllExperimentsInProject_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllExperimentsInProject_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getAllExperimentsInProject_pargs {
+ public:
+
+
+  virtual ~Airavata_getAllExperimentsInProject_pargs() throw() {}
+
+  const std::string* projectId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllExperimentsInProject_result__isset {
+  _Airavata_getAllExperimentsInProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_getAllExperimentsInProject_result__isset;
+
+class Airavata_getAllExperimentsInProject_result {
+ public:
+
+  Airavata_getAllExperimentsInProject_result() {
+  }
+
+  virtual ~Airavata_getAllExperimentsInProject_result() throw() {}
+
+  std::vector< ::Experiment>  success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getAllExperimentsInProject_result__isset __isset;
+
+  void __set_success(const std::vector< ::Experiment> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_getAllExperimentsInProject_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllExperimentsInProject_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllExperimentsInProject_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllExperimentsInProject_presult__isset {
+  _Airavata_getAllExperimentsInProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_getAllExperimentsInProject_presult__isset;
+
+class Airavata_getAllExperimentsInProject_presult {
+ public:
+
+
+  virtual ~Airavata_getAllExperimentsInProject_presult() throw() {}
+
+  std::vector< ::Experiment> * success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getAllExperimentsInProject_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getAllUserExperiments_args {
+ public:
+
+  Airavata_getAllUserExperiments_args() : userName() {
+  }
+
+  virtual ~Airavata_getAllUserExperiments_args() throw() {}
+
+  std::string userName;
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  bool operator == (const Airavata_getAllUserExperiments_args & rhs) const
+  {
+    if (!(userName == rhs.userName))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllUserExperiments_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllUserExperiments_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getAllUserExperiments_pargs {
+ public:
+
+
+  virtual ~Airavata_getAllUserExperiments_pargs() throw() {}
+
+  const std::string* userName;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllUserExperiments_result__isset {
+  _Airavata_getAllUserExperiments_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_getAllUserExperiments_result__isset;
+
+class Airavata_getAllUserExperiments_result {
+ public:
+
+  Airavata_getAllUserExperiments_result() {
+  }
+
+  virtual ~Airavata_getAllUserExperiments_result() throw() {}
+
+  std::vector< ::Experiment>  success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getAllUserExperiments_result__isset __isset;
+
+  void __set_success(const std::vector< ::Experiment> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_getAllUserExperiments_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getAllUserExperiments_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getAllUserExperiments_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllUserExperiments_presult__isset {
+  _Airavata_getAllUserExperiments_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_getAllUserExperiments_presult__isset;
+
+class Airavata_getAllUserExperiments_presult {
+ public:
+
+
+  virtual ~Airavata_getAllUserExperiments_presult() throw() {}
+
+  std::vector< ::Experiment> * success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getAllUserExperiments_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_createExperiment_args {
+ public:
+
+  Airavata_createExperiment_args() {
+  }
+
+  virtual ~Airavata_createExperiment_args() throw() {}
+
+   ::Experiment experiment;
+
+  void __set_experiment(const  ::Experiment& val) {
+    experiment = val;
+  }
+
+  bool operator == (const Airavata_createExperiment_args & rhs) const
+  {
+    if (!(experiment == rhs.experiment))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_createExperiment_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_createExperiment_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_createExperiment_pargs {
+ public:
+
+
+  virtual ~Airavata_createExperiment_pargs() throw() {}
+
+  const  ::Experiment* experiment;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_createExperiment_result__isset {
+  _Airavata_createExperiment_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_createExperiment_result__isset;
+
+class Airavata_createExperiment_result {
+ public:
+
+  Airavata_createExperiment_result() : success() {
+  }
+
+  virtual ~Airavata_createExperiment_result() throw() {}
+
+  std::string success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_createExperiment_result__isset __isset;
+
+  void __set_success(const std::string& val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_createExperiment_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_createExperiment_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_createExperiment_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_createExperiment_presult__isset {
+  _Airavata_createExperiment_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_createExperiment_presult__isset;
+
+class Airavata_createExperiment_presult {
+ public:
+
+
+  virtual ~Airavata_createExperiment_presult() throw() {}
+
+  std::string* success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_createExperiment_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getExperiment_args {
+ public:
+
+  Airavata_getExperiment_args() : airavataExperimentId() {
+  }
+
+  virtual ~Airavata_getExperiment_args() throw() {}
+
+  std::string airavataExperimentId;
+
+  void __set_airavataExperimentId(const std::string& val) {
+    airavataExperimentId = val;
+  }
+
+  bool operator == (const Airavata_getExperiment_args & rhs) const
+  {
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getExperiment_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getExperiment_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getExperiment_pargs {
+ public:
+
+
+  virtual ~Airavata_getExperiment_pargs() throw() {}
+
+  const std::string* airavataExperimentId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getExperiment_result__isset {
+  _Airavata_getExperiment_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_getExperiment_result__isset;
+
+class Airavata_getExperiment_result {
+ public:
+
+  Airavata_getExperiment_result() {
+  }
+
+  virtual ~Airavata_getExperiment_result() throw() {}
+
+   ::Experiment success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getExperiment_result__isset __isset;
+
+  void __set_success(const  ::Experiment& val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
+    enf = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_getExperiment_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(enf == rhs.enf))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getExperiment_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getExperiment_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getExperiment_presult__isset {
+  _Airavata_getExperiment_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_getExperiment_presult__isset;
+
+class Airavata_getExperiment_presult {
+ public:
+
+
+  virtual ~Airavata_getExperiment_presult() throw() {}
+
+   ::Experiment* success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getExperiment_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_updateExperiment_args {
+ public:
+
+  Airavata_updateExperiment_args() : airavataExperimentId() {
+  }
+
+  virtual ~Airavata_updateExperiment_args() throw() {}
+
+  std::string airavataExperimentId;
+   ::Experiment experiment;
+
+  void __set_airavataExperimentId(const std::string& val) {
+    airavataExperimentId = val;
+  }
+
+  void __set_experiment(const  ::Experiment& val) {
+    experiment = val;
+  }
+
+  bool operator == (const Airavata_updateExperiment_args & rhs) const
+  {
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    if (!(experiment == rhs.experiment))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_updateExperiment_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateExperiment_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateExperiment_pargs {
+ public:
+
+
+  virtual ~Airavata_updateExperiment_pargs() throw() {}
+
+  const std::string* airavataExperimentId;
+  const  ::Experiment* experiment;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateExperiment_result__isset {
+  _Airavata_updateExperiment_result__isset() : ire(false), enf(false), ace(false), ase(false) {}
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_updateExperiment_result__isset;
+
+class Airavata_updateExperiment_result {
+ public:
+
+  Airavata_updateExperiment_result() {
+  }
+
+  virtual ~Airavata_updateExperiment_result() throw() {}
+
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_updateExperiment_result__isset __isset;
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
+    enf = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_updateExperiment_result & rhs) const
+  {
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(enf == rhs.enf))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_updateExperiment_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateExperiment_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateExperiment_presult__isset {
+  _Airavata_updateExperiment_presult__isset() : ire(false), enf(false), ace(false), ase(false) {}
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_updateExperiment_presult__isset;
+
+class Airavata_updateExperiment_presult {
+ public:
+
+
+  virtual ~Airavata_updateExperiment_presult() throw() {}
+
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_updateExperiment_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_updateExperimentConfiguration_args {
+ public:
+
+  Airavata_updateExperimentConfiguration_args() : airavataExperimentId() {
+  }
+
+  virtual ~Airavata_updateExperimentConfiguration_args() throw() {}
+
+  std::string airavataExperimentId;
+   ::UserConfigurationData userConfiguration;
+
+  void __set_airavataExperimentId(const std::string& val) {
+    airavataExperimentId = val;
+  }
+
+  void __set_userConfiguration(const  ::UserConfigurationData& val) {
+    userConfiguration = val;
+  }
+
+  bool operator == (const Airavata_updateExperimentConfiguration_args & rhs) const
+  {
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    if (!(userConfiguration == rhs.userConfiguration))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_updateExperimentConfiguration_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateExperimentConfiguration_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateExperimentConfiguration_pargs {
+ public:
+
+
+  virtual ~Airavata_updateExperimentConfiguration_pargs() throw() {}
+
+  const std::string* airavataExperimentId;
+  const  ::UserConfigurationData* userConfiguration;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateExperimentConfiguration_result {
+ public:
+
+  Airavata_updateExperimentConfiguration_result() {
+  }
+
+  virtual ~Airavata_updateExperimentConfiguration_result() throw() {}
+
+
+  bool operator == (const Airavata_updateExperimentConfiguration_result & /* rhs */) const
+  {
+    return true;
+  }
+  bool operator != (const Airavata_updateExperimentConfiguration_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateExperimentConfiguration_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateExperimentConfiguration_presult {
+ public:
+
+
+  virtual ~Airavata_updateExperimentConfiguration_presult() throw() {}
+
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_updateResourceScheduleing_args {
+ public:
+
+  Airavata_updateResourceScheduleing_args() : airavataExperimentId() {
+  }
+
+  virtual ~Airavata_updateResourceScheduleing_args() throw() {}
+
+  std::string airavataExperimentId;
+   ::ComputationalResourceScheduling resourceScheduling;
+
+  void __set_airavataExperimentId(const std::string& val) {
+    airavataExperimentId = val;
+  }
+
+  void __set_resourceScheduling(const  ::ComputationalResourceScheduling& val) {
+    resourceScheduling = val;
+  }
+
+  bool operator == (const Airavata_updateResourceScheduleing_args & rhs) const
+  {
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    if (!(resourceScheduling == rhs.resourceScheduling))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_updateResourceScheduleing_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateResourceScheduleing_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateResourceScheduleing_pargs {
+ public:
+
+
+  virtual ~Airavata_updateResourceScheduleing_pargs() throw() {}
+
+  const std::string* airavataExperimentId;
+  const  ::ComputationalResourceScheduling* resourceScheduling;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateResourceScheduleing_result {
+ public:
+
+  Airavata_updateResourceScheduleing_result() {
+  }
+
+  virtual ~Airavata_updateResourceScheduleing_result() throw() {}
+
+
+  bool operator == (const Airavata_updateResourceScheduleing_result & /* rhs */) const
+  {
+    return true;
+  }
+  bool operator != (const Airavata_updateResourceScheduleing_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_updateResourceScheduleing_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateResourceScheduleing_presult {
+ public:
+
+
+  virtual ~Airavata_updateResourceScheduleing_presult() throw() {}
+
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_launchExperiment_args {
+ public:
+
+  Airavata_launchExperiment_args() : airavataExperimentId(), airavataCredStoreToken() {
+  }
+
+  virtual ~Airavata_launchExperiment_args() throw() {}
+
+  std::string airavataExperimentId;
+  std::string airavataCredStoreToken;
+
+  void __set_airavataExperimentId(const std::string& val) {
+    airavataExperimentId = val;
+  }
+
+  void __set_airavataCredStoreToken(const std::string& val) {
+    airavataCredStoreToken = val;
+  }
+
+  bool operator == (const Airavata_launchExperiment_args & rhs) const
+  {
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    if (!(airavataCredStoreToken == rhs.airavataCredStoreToken))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_launchExperiment_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_launchExperiment_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_launchExperiment_pargs {
+ public:
+
+
+  virtual ~Airavata_launchExperiment_pargs() throw() {}
+
+  const std::string* airavataExperimentId;
+  const std::string* airavataCredStoreToken;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_launchExperiment_result__isset {
+  _Airavata_launchExperiment_result__isset() : ire(false), enf(false), ace(false), ase(false) {}
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_launchExperiment_result__isset;
+
+class Airavata_launchExperiment_result {
+ public:
+
+  Airavata_launchExperiment_result() {
+  }
+
+  virtual ~Airavata_launchExperiment_result() throw() {}
+
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_launchExperiment_result__isset __isset;
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
+    enf = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_launchExperiment_result & rhs) const
+  {
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(enf == rhs.enf))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_launchExperiment_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_launchExperiment_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_launchExperiment_presult__isset {
+  _Airavata_launchExperiment_presult__isset() : ire(false), enf(false), ace(false), ase(false) {}
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_launchExperiment_presult__isset;
+
+class Airavata_launchExperiment_presult {
+ public:
+
+
+  virtual ~Airavata_launchExperiment_presult() throw() {}
+
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_launchExperiment_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getExperimentStatus_args {
+ public:
+
+  Airavata_getExperimentStatus_args() : airavataExperimentId() {
+  }
+
+  virtual ~Airavata_getExperimentStatus_args() throw() {}
+
+  std::string airavataExperimentId;
+
+  void __set_airavataExperimentId(const std::string& val) {
+    airavataExperimentId = val;
+  }
+
+  bool operator == (const Airavata_getExperimentStatus_args & rhs) const
+  {
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getExperimentStatus_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getExperimentStatus_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getExperimentStatus_pargs {
+ public:
+
+
+  virtual ~Airavata_getExperimentStatus_pargs() throw() {}
+
+  const std::string* airavataExperimentId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getExperimentStatus_result__isset {
+  _Airavata_getExperimentStatus_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_getExperimentStatus_result__isset;
+
+class Airavata_getExperimentStatus_result {
+ public:
+
+  Airavata_getExperimentStatus_result() {
+  }
+
+  virtual ~Airavata_getExperimentStatus_result() throw() {}
+
+   ::ExperimentStatus success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getExperimentStatus_result__isset __isset;
+
+  void __set_success(const  ::ExperimentStatus& val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
+    enf = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_getExperimentStatus_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(enf == rhs.enf))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getExperimentStatus_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getExperimentStatus_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getExperimentStatus_presult__isset {
+  _Airavata_getExperimentStatus_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_getExperimentStatus_presult__isset;
+
+class Airavata_getExperimentStatus_presult {
+ public:
+
+
+  virtual ~Airavata_getExperimentStatus_presult() throw() {}
+
+   ::ExperimentStatus* success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_getExperimentStatus_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getExperimentOutputs_args {
+ public:
+
+  Airavata_getExperimentOutputs_args() : airavataExperimentId() {
+  }
+
+  virtual ~Airavata_getExperimentOutputs_args() throw() {}
+
+  std::string airavataExperimentId;
+
+  void __set_airavataExperimentId(const std::string& val) {
+    airavataExperimentId = val;
+  }
+
+  bool operator == (const Airavata_getExperimentOutputs_args & rhs) const
+  {
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getExperimentOutputs_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getExperimentOutputs_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getExperimentOutputs_pargs {
+ public:
+
+
+  virtual ~Airavata_getExperimentOutputs_pargs() throw() {}
+
+  const std::string* airavataExperimentId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getExperimentOutputs_result__isset {
+  _Airavata_getExperimentOutputs_result__isset() : success(false) {}
+  bool success;
+} _Airavata_getExperimentOutputs_result__isset;
+
+class Airavata_getExperimentOutputs_result {
+ public:
+
+  Airavata_getExperimentOutputs_result() {
+  }
+
+  virtual ~Airavata_getExperimentOutputs_result() throw() {}
+
+  std::vector< ::DataObjectType>  success;
+
+  _Airavata_getExperimentOutputs_result__isset __isset;
+
+  void __set_success(const std::vector< ::DataObjectType> & val) {
+    success = val;
+  }
+
+  bool operator == (const Airavata_getExperimentOutputs_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getExperimentOutputs_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getExperimentOutputs_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getExperimentOutputs_presult__isset {
+  _Airavata_getExperimentOutputs_presult__isset() : success(false) {}
+  bool success;
+} _Airavata_getExperimentOutputs_presult__isset;
+
+class Airavata_getExperimentOutputs_presult {
+ public:
+
+
+  virtual ~Airavata_getExperimentOutputs_presult() throw() {}
+
+  std::vector< ::DataObjectType> * success;
+
+  _Airavata_getExperimentOutputs_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getJobStatuses_args {
+ public:
+
+  Airavata_getJobStatuses_args() : airavataExperimentId() {
+  }
+
+  virtual ~Airavata_getJobStatuses_args() throw() {}
+
+  std::string airavataExperimentId;
+
+  void __set_airavataExperimentId(const std::string& val) {
+    airavataExperimentId = val;
+  }
+
+  bool operator == (const Airavata_getJobStatuses_args & rhs) const
+  {
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getJobStatuses_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getJobStatuses_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getJobStatuses_pargs {
+ public:
+
+
+  virtual ~Airavata_getJobStatuses_pargs() throw() {}
+
+  const std::string* airavataExperimentId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getJobStatuses_result__isset {
+  _Airavata_getJobStatuses_result__isset() : success(false) {}
+  bool success;
+} _Airavata_getJobStatuses_result__isset;
+
+class Airavata_getJobStatuses_result {
+ public:
+
+  Airavata_getJobStatuses_result() {
+  }
+
+  virtual ~Airavata_getJobStatuses_result() throw() {}
+
+  std::map<std::string,  ::JobStatus>  success;
+
+  _Airavata_getJobStatuses_result__isset __isset;
+
+  void __set_success(const std::map<std::string,  ::JobStatus> & val) {
+    success = val;
+  }
+
+  bool operator == (const Airavata_getJobStatuses_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getJobStatuses_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getJobStatuses_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getJobStatuses_presult__isset {
+  _Airavata_getJobStatuses_presult__isset() : success(false) {}
+  bool success;
+} _Airavata_getJobStatuses_presult__isset;
+
+class Airavata_getJobStatuses_presult {
+ public:
+
+
+  virtual ~Airavata_getJobStatuses_presult() throw() {}
+
+  std::map<std::string,  ::JobStatus> * success;
+
+  _Airavata_getJobStatuses_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+typedef struct _Airavata_cloneExperiment_args__isset {
+  _Airavata_cloneExperiment_args__isset() : airavataExperimentIdToBeCloned(false), updatedExperiment(false) {}
+  bool airavataExperimentIdToBeCloned;
+  bool updatedExperiment;
+} _Airavata_cloneExperiment_args__isset;
+
+class Airavata_cloneExperiment_args {
+ public:
+
+  Airavata_cloneExperiment_args() : airavataExperimentIdToBeCloned() {
+  }
+
+  virtual ~Airavata_cloneExperiment_args() throw() {}
+
+  std::string airavataExperimentIdToBeCloned;
+   ::Experiment updatedExperiment;
+
+  _Airavata_cloneExperiment_args__isset __isset;
+
+  void __set_airavataExperimentIdToBeCloned(const std::string& val) {
+    airavataExperimentIdToBeCloned = val;
+  }
+
+  void __set_updatedExperiment(const  ::Experiment& val) {
+    updatedExperiment = val;
+  }
+
+  bool operator == (const Airavata_cloneExperiment_args & rhs) const
+  {
+    if (!(airavataExperimentIdToBeCloned == rhs.airavataExperimentIdToBeCloned))
+      return false;
+    if (!(updatedExperiment == rhs.updatedExperiment))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_cloneExperiment_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_cloneExperiment_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_cloneExperiment_pargs {
+ public:
+
+
+  virtual ~Airavata_cloneExperiment_pargs() throw() {}
+
+  const std::string* airavataExperimentIdToBeCloned;
+  const  ::Experiment* updatedExperiment;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_cloneExperiment_result__isset {
+  _Airavata_cloneExperiment_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_cloneExperiment_result__isset;
+
+class Airavata_cloneExperiment_result {
+ public:
+
+  Airavata_cloneExperiment_result() : success() {
+  }
+
+  virtual ~Airavata_cloneExperiment_result() throw() {}
+
+  std::string success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_cloneExperiment_result__isset __isset;
+
+  void __set_success(const std::string& val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
+    enf = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_cloneExperiment_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(enf == rhs.enf))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_cloneExperiment_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_cloneExperiment_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_cloneExperiment_presult__isset {
+  _Airavata_cloneExperiment_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_cloneExperiment_presult__isset;
+
+class Airavata_cloneExperiment_presult {
+ public:
+
+
+  virtual ~Airavata_cloneExperiment_presult() throw() {}
+
+  std::string* success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_cloneExperiment_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+typedef struct _Airavata_terminateExperiment_args__isset {
+  _Airavata_terminateExperiment_args__isset() : airavataExperimentId(false) {}
+  bool airavataExperimentId;
+} _Airavata_terminateExperiment_args__isset;
+
+class Airavata_terminateExperiment_args {
+ public:
+
+  Airavata_terminateExperiment_args() : airavataExperimentId() {
+  }
+
+  virtual ~Airavata_terminateExperiment_args() throw() {}
+
+  std::string airavataExperimentId;
+
+  _Airavata_terminateExperiment_args__isset __isset;
+
+  void __set_airavataExperimentId(const std::string& val) {
+    airavataExperimentId = val;
+  }
+
+  bool operator == (const Airavata_terminateExperiment_args & rhs) const
+  {
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_terminateExperiment_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_terminateExperiment_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_terminateExperiment_pargs {
+ public:
+
+
+  virtual ~Airavata_terminateExperiment_pargs() throw() {}
+
+  const std::string* airavataExperimentId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_terminateExperiment_result__isset {
+  _Airavata_terminateExperiment_result__isset() : ire(false), enf(false), ace(false), ase(false) {}
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_terminateExperiment_result__isset;
+
+class Airavata_terminateExperiment_result {
+ public:
+
+  Airavata_terminateExperiment_result() {
+  }
+
+  virtual ~Airavata_terminateExperiment_result() throw() {}
+
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_terminateExperiment_result__isset __isset;
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
+    enf = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_terminateExperiment_result & rhs) const
+  {
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(enf == rhs.enf))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_terminateExperiment_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_terminateExperiment_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_terminateExperiment_presult__isset {
+  _Airavata_terminateExperiment_presult__isset() : ire(false), enf(false), ace(false), ase(false) {}
+  bool ire;
+  bool enf;
+  bool ace;
+  bool ase;
+} _Airavata_terminateExperiment_presult__isset;
+
+class Airavata_terminateExperiment_presult {
+ public:
+
+
+  virtual ~Airavata_terminateExperiment_presult() throw() {}
+
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::ExperimentNotFoundException enf;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_terminateExperiment_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+class AiravataClient : virtual public AiravataIf {
+ public:
+  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) :
+    piprot_(prot),
+    poprot_(prot) {
+    iprot_ = prot.get();
+    oprot_ = prot.get();
+  }
+  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) :
+    piprot_(iprot),
+    poprot_(oprot) {
+    iprot_ = iprot.get();
+    oprot_ = oprot.get();
+  }
+  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getInputProtocol() {
+    return piprot_;
+  }
+  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getOutputProtocol() {
+    return poprot_;
+  }
+  void GetAPIVersion(std::string& _return);
+  void send_GetAPIVersion();
+  void recv_GetAPIVersion(std::string& _return);
+  void createProject(std::string& _return, const  ::Project& project, const std::string& userName);
+  void send_createProject(const  ::Project& project, const std::string& userName);
+  void recv_createProject(std::string& _return);
+  void updateProject(const  ::Project& project);
+  void send_updateProject(const  ::Project& project);
+  void recv_updateProject();
+  void getProject( ::Project& _return, const std::string& projectId);
+  void send_getProject(const std::string& projectId);
+  void recv_getProject( ::Project& _return);
+  void getAllUserProjects(std::vector< ::Project> & _return, const std::string& userName);
+  void send_getAllUserProjects(const std::string& userName);
+  void recv_getAllUserProjects(std::vector< ::Project> & _return);
+  void getAllExperimentsInProject(std::vector< ::Experiment> & _return, const std::string& projectId);
+  void send_getAllExperimentsInProject(const std::string& projectId);
+  void recv_getAllExperimentsInProject(std::vector< ::Experiment> & _return);
+  void getAllUserExperiments(std::vector< ::Experiment> & _return, const std::string& userName);
+  void send_getAllUserExperiments(const std::string& userName);
+  void recv_getAllUserExperiments(std::vector< ::Experiment> & _return);
+  void createExperiment(std::string& _return, const  ::Experiment& experiment);
+  void send_createExperiment(const  ::Experiment& experiment);
+  void recv_createExperiment(std::string& _return);
+  void getExperiment( ::Experiment& _return, const std::string& airavataExperimentId);
+  void send_getExperiment(const std::string& airavataExperimentId);
+  void recv_getExperiment( ::Experiment& _return);
+  void updateExperiment(const std::string& airavataExperimentId, const  ::Experiment& experiment);
+  void send_updateExperiment(const std::string& airavataExperimentId, const  ::Experiment& experiment);
+  void recv_updateExperiment();
+  void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::UserConfigurationData& userConfiguration);
+  void send_updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::UserConfigurationData& userConfiguration);
+  void recv_updateExperimentConfiguration();
+  void updateResourceScheduleing(const std::string& airavataExperimentId, const  ::ComputationalResourceScheduling& resourceScheduling);
+  void send_updateResourceScheduleing(const std::string& airavataExperimentId, const  ::ComputationalResourceScheduling& resourceScheduling);
+  void recv_updateResourceScheduleing();
+  void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken);
+  void send_launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken);
+  void recv_launchExperiment();
+  void getExperimentStatus( ::ExperimentStatus& _return, const std::string& airavataExperimentId);
+  void send_getExperimentStatus(const std::string& airavataExperimentId);
+  void recv_getExperimentStatus( ::ExperimentStatus& _return);
+  void getExperimentOutputs(std::vector< ::DataObjectType> & _return, const std::string& airavataExperimentId);
+  void send_getExperimentOutputs(const std::string& airavataExperimentId);
+  void recv_getExperimentOutputs(std::vector< ::DataObjectType> & _return);
+  void getJobStatuses(std::map<std::string,  ::JobStatus> & _return, const std::string& airavataExperimentId);
+  void send_getJobStatuses(const std::string& airavataExperimentId);
+  void recv_getJobStatuses(std::map<std::string,  ::JobStatus> & _return);
+  void cloneExperiment(std::string& _return, const std::string& airavataExperimentIdToBeCloned, const  ::Experiment& updatedExperiment);
+  void send_cloneExperiment(const std::string& airavataExperimentIdToBeCloned, const  ::Experiment& updatedExperiment);
+  void recv_cloneExperiment(std::string& _return);
+  void terminateExperiment(const std::string& airavataExperimentId);
+  void send_terminateExperiment(const std::string& airavataExperimentId);
+  void recv_terminateExperiment();
+ protected:
+  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
+  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;
+  ::apache::thrift::protocol::TProtocol* iprot_;
+  ::apache::thrift::protocol::TProtocol* oprot_;
+};
+
+class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
+ protected:
+  boost::shared_ptr<AiravataIf> iface_;
+  virtual bool dispatchCall(::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, const std::string& fname, int32_t seqid, void* callContext);
+ private:
+  typedef  void (AiravataProcessor::*ProcessFunction)(int32_t, ::apache::thrift::protocol::TProtocol*, ::apache::thrift::protocol::TProtocol*, void*);
+  typedef std::map<std::string, ProcessFunction> ProcessMap;
+  ProcessMap processMap_;
+  void process_GetAPIVersion(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_createProject(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_updateProject(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getProject(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getAllUserProjects(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getAllExperimentsInProject(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getAllUserExperiments(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_createExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_updateExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_updateExperimentConfiguration(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_updateResourceScheduleing(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_launchExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getExperimentStatus(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getExperimentOutputs(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getJobStatuses(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_cloneExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_terminateExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+ public:
+  AiravataProcessor(boost::shared_ptr<AiravataIf> iface) :
+    iface_(iface) {
+    processMap_["GetAPIVersion"] = &AiravataProcessor::process_GetAPIVersion;
+    processMap_["createProject"] = &AiravataProcessor::process_createProject;
+    processMap_["updateProject"] = &AiravataProcessor::process_updateProject;
+    processMap_["getProject"] = &AiravataProcessor::process_getProject;
+    processMap_["getAllUserProjects"] = &AiravataProcessor::process_getAllUserProjects;
+    processMap_["getAllExperimentsInProject"] = &AiravataProcessor::process_getAllExperimentsInProject;
+    processMap_["getAllUserExperiments"] = &AiravataProcessor::process_getAllUserExperiments;
+    processMap_["createExperiment"] = &AiravataProcessor::process_createExperiment;
+    processMap_["getExperiment"] = &AiravataProcessor::process_getExperiment;
+    processMap_["updateExperiment"] = &AiravataProcessor::process_updateExperiment;
+    processMap_["updateExperimentConfiguration"] = &AiravataProcessor::process_updateExperimentConfiguration;
+    processMap_["updateResourceScheduleing"] = &AiravataProcessor::process_updateResourceScheduleing;
+    processMap_["launchExperiment"] = &AiravataProcessor::process_launchExperiment;
+    processMap_["getExperimentStatus"] = &AiravataProcessor::process_getExperimentStatus;
+    processMap_["getExperimentOutputs"] = &AiravataProcessor::process_getExperimentOutputs;
+    processMap_["getJobStatuses"] = &AiravataProcessor::process_getJobStatuses;
+    processMap_["cloneExperiment"] = &AiravataProcessor::process_cloneExperiment;
+    processMap_["terminateExperiment"] = &AiravataProcessor::process_terminateExperiment;
+  }
+
+  virtual ~AiravataProcessor() {}
+};
+
+class AiravataProcessorFactory : public ::apache::thrift::TProcessorFactory {
+ public:
+  AiravataProcessorFactory(const ::boost::shared_ptr< AiravataIfFactory >& handlerFactory) :
+      handlerFactory_(handlerFactory) {}
+
+  ::boost::shared_ptr< ::apache::thrift::TProcessor > getProcessor(const ::apache::thrift::TConnectionInfo& connInfo);
+
+ protected:
+  ::boost::shared_ptr< AiravataIfFactory > handlerFactory_;
+};
+
+class AiravataMultiface : virtual public AiravataIf {
+ public:
+  AiravataMultiface(std::vector<boost::shared_ptr<AiravataIf> >& ifaces) : ifaces_(ifaces) {
+  }
+  virtual ~AiravataMultiface() {}
+ protected:
+  std::vector<boost::shared_ptr<AiravataIf> > ifaces_;
+  AiravataMultiface() {}
+  void add(boost::shared_ptr<AiravataIf> iface) {
+    ifaces_.push_back(iface);
+  }
+ public:
+  void GetAPIVersion(std::string& _return) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->GetAPIVersion(_return);
+    }
+    ifaces_[i]->GetAPIVersion(_return);
+    return;
+  }
+
+  void createProject(std::string& _return, const  ::Project& project, const std::string& userName) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->createProject(_return, project, userName);
+    }
+    ifaces_[i]->createProject(_return, project, userName);
+    return;
+  }
+
+  void updateProject(const  ::Project& project) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->updateProject(project);
+    }
+    ifaces_[i]->updateProject(project);
+  }
+
+  void getProject( ::Project& _return, 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, projectId);
+    return;
+  }
+
+  void getAllUserProjects(std::vector< ::Project> & _return, const std::string& userName) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getAllUserProjects(_return, userName);
+    }
+    ifaces_[i]->getAllUserProjects(_return, userName);
+    return;
+  }
+
+  void getAllExperimentsInProject(std::vector< ::Experiment> & _return, const std::string& projectId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getAllExperimentsInProject(_return, projectId);
+    }
+    ifaces_[i]->getAllExperimentsInProject(_return, projectId);
+    return;
+  }
+
+  void getAllUserExperiments(std::vector< ::Experiment> & _return, const std::string& userName) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getAllUserExperiments(_return, userName);
+    }
+    ifaces_[i]->getAllUserExperiments(_return, userName);
+    return;
+  }
+
+  void createExperiment(std::string& _return, const  ::Experiment& experiment) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->createExperiment(_return, experiment);
+    }
+    ifaces_[i]->createExperiment(_return, experiment);
+    return;
+  }
+
+  void getExperiment( ::Experiment& _return, const std::string& airavataExperimentId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getExperiment(_return, airavataExperimentId);
+    }
+    ifaces_[i]->getExperiment(_return, airavataExperimentId);
+    return;
+  }
+
+  void updateExperiment(const std::string& airavataExperimentId, const  ::Experiment& experiment) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->updateExperiment(airavataExperimentId, experiment);
+    }
+    ifaces_[i]->updateExperiment(airavataExperimentId, experiment);
+  }
+
+  void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::UserConfigurationData& userConfiguration) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->updateExperimentConfiguration(airavataExperimentId, userConfiguration);
+    }
+    ifaces_[i]->updateExperimentConfiguration(airavataExperimentId, userConfiguration);
+  }
+
+  void updateResourceScheduleing(const std::string& airavataExperimentId, const  ::ComputationalResourceScheduling& resourceScheduling) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->updateResourceScheduleing(airavataExperimentId, resourceScheduling);
+    }
+    ifaces_[i]->updateResourceScheduleing(airavataExperimentId, resourceScheduling);
+  }
+
+  void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->launchExperiment(airavataExperimentId, airavataCredStoreToken);
+    }
+    ifaces_[i]->launchExperiment(airavataExperimentId, airavataCredStoreToken);
+  }
+
+  void getExperimentStatus( ::ExperimentStatus& _return, const std::string& airavataExperimentId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getExperimentStatus(_return, airavataExperimentId);
+    }
+    ifaces_[i]->getExperimentStatus(_return, airavataExperimentId);
+    return;
+  }
+
+  void getExperimentOutputs(std::vector< ::DataObjectType> & _return, const std::string& airavataExperimentId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getExperimentOutputs(_return, airavataExperimentId);
+    }
+    ifaces_[i]->getExperimentOutputs(_return, airavataExperimentId);
+    return;
+  }
+
+  void getJobStatuses(std::map<std::string,  ::JobStatus> & _return, const std::string& airavataExperimentId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getJobStatuses(_return, airavataExperimentId);
+    }
+    ifaces_[i]->getJobStatuses(_return, airavataExperimentId);
+    return;
+  }
+
+  void cloneExperiment(std::string& _return, const std::string& airavataExperimentIdToBeCloned, const  ::Experiment& updatedExperiment) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->cloneExperiment(_return, airavataExperimentIdToBeCloned, updatedExperiment);
+    }
+    ifaces_[i]->cloneExperiment(_return, airavataExperimentIdToBeCloned, updatedExperiment);
+    return;
+  }
+
+  void terminateExperiment(const std::string& airavataExperimentId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->terminateExperiment(airavataExperimentId);
+    }
+    ifaces_[i]->terminateExperiment(airavataExperimentId);
+  }
+
+};
+
+}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp
new file mode 100644
index 0000000..ed071e6
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp
@@ -0,0 +1,129 @@
+// This autogenerated skeleton file illustrates how to build a server.
+// You should copy it to another filename to avoid overwriting it.
+
+#include "Airavata.h"
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/server/TSimpleServer.h>
+#include <thrift/transport/TServerSocket.h>
+#include <thrift/transport/TBufferTransports.h>
+
+using namespace ::apache::thrift;
+using namespace ::apache::thrift::protocol;
+using namespace ::apache::thrift::transport;
+using namespace ::apache::thrift::server;
+
+using boost::shared_ptr;
+
+using namespace  ::airavata::api;
+
+class AiravataHandler : virtual public AiravataIf {
+ public:
+  AiravataHandler() {
+    // Your initialization goes here
+  }
+
+  void GetAPIVersion(std::string& _return) {
+    // Your implementation goes here
+    printf("GetAPIVersion\n");
+  }
+
+  void createProject(std::string& _return, const  ::Project& project, const std::string& userName) {
+    // Your implementation goes here
+    printf("createProject\n");
+  }
+
+  void updateProject(const  ::Project& project) {
+    // Your implementation goes here
+    printf("updateProject\n");
+  }
+
+  void getProject( ::Project& _return, const std::string& projectId) {
+    // Your implementation goes here
+    printf("getProject\n");
+  }
+
+  void getAllUserProjects(std::vector< ::Project> & _return, const std::string& userName) {
+    // Your implementation goes here
+    printf("getAllUserProjects\n");
+  }
+
+  void getAllExperimentsInProject(std::vector< ::Experiment> & _return, const std::string& projectId) {
+    // Your implementation goes here
+    printf("getAllExperimentsInProject\n");
+  }
+
+  void getAllUserExperiments(std::vector< ::Experiment> & _return, const std::string& userName) {
+    // Your implementation goes here
+    printf("getAllUserExperiments\n");
+  }
+
+  void createExperiment(std::string& _return, const  ::Experiment& experiment) {
+    // Your implementation goes here
+    printf("createExperiment\n");
+  }
+
+  void getExperiment( ::Experiment& _return, const std::string& airavataExperimentId) {
+    // Your implementation goes here
+    printf("getExperiment\n");
+  }
+
+  void updateExperiment(const std::string& airavataExperimentId, const  ::Experiment& experiment) {
+    // Your implementation goes here
+    printf("updateExperiment\n");
+  }
+
+  void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::UserConfigurationData& userConfiguration) {
+    // Your implementation goes here
+    printf("updateExperimentConfiguration\n");
+  }
+
+  void updateResourceScheduleing(const std::string& airavataExperimentId, const  ::ComputationalResourceScheduling& resourceScheduling) {
+    // Your implementation goes here
+    printf("updateResourceScheduleing\n");
+  }
+
+  void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) {
+    // Your implementation goes here
+    printf("launchExperiment\n");
+  }
+
+  void getExperimentStatus( ::ExperimentStatus& _return, const std::string& airavataExperimentId) {
+    // Your implementation goes here
+    printf("getExperimentStatus\n");
+  }
+
+  void getExperimentOutputs(std::vector< ::DataObjectType> & _return, const std::string& airavataExperimentId) {
+    // Your implementation goes here
+    printf("getExperimentOutputs\n");
+  }
+
+  void getJobStatuses(std::map<std::string,  ::JobStatus> & _return, const std::string& airavataExperimentId) {
+    // Your implementation goes here
+    printf("getJobStatuses\n");
+  }
+
+  void cloneExperiment(std::string& _return, const std::string& airavataExperimentIdToBeCloned, const  ::Experiment& updatedExperiment) {
+    // Your implementation goes here
+    printf("cloneExperiment\n");
+  }
+
+  void terminateExperiment(const std::string& airavataExperimentId) {
+    // Your implementation goes here
+    printf("terminateExperiment\n");
+  }
+
+};
+
+int main(int argc, char **argv) {
+  int port = 9090;
+  shared_ptr<AiravataHandler> handler(new AiravataHandler());
+  shared_ptr<TProcessor> processor(new AiravataProcessor(handler));
+  shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
+  shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
+  shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
+
+  TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
+  server.serve();
+  return 0;
+}
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.cpp
new file mode 100644
index 0000000..4f61277
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavataAPI_constants.h"
+
+namespace airavata { namespace api {
+
+const airavataAPIConstants g_airavataAPI_constants;
+
+airavataAPIConstants::airavataAPIConstants() {
+  AIRAVATA_API_VERSION = "0.12.0";
+
+}
+
+}} // namespace
+


[05/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
new file mode 100644
index 0000000..1eeaa02
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
@@ -0,0 +1,583 @@
+<?php
+namespace Airavata\API\Error;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * 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 AiravataErrorType {
+  const UNKNOWN = 0;
+  const PERMISSION_DENIED = 1;
+  const INTERNAL_ERROR = 2;
+  const AUTHENTICATION_FAILURE = 3;
+  const INVALID_AUTHORIZATION = 4;
+  const AUTHORIZATION_EXPIRED = 5;
+  const UNKNOWN_GATEWAY_ID = 6;
+  const UNSUPPORTED_OPERATION = 7;
+  static public $__names = array(
+    0 => 'UNKNOWN',
+    1 => 'PERMISSION_DENIED',
+    2 => 'INTERNAL_ERROR',
+    3 => 'AUTHENTICATION_FAILURE',
+    4 => 'INVALID_AUTHORIZATION',
+    5 => 'AUTHORIZATION_EXPIRED',
+    6 => 'UNKNOWN_GATEWAY_ID',
+    7 => 'UNSUPPORTED_OPERATION',
+  );
+}
+
+class ExperimentNotFoundException extends TException {
+  static $_TSPEC;
+
+  public $identifier = null;
+  public $key = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'identifier',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'key',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['identifier'])) {
+        $this->identifier = $vals['identifier'];
+      }
+      if (isset($vals['key'])) {
+        $this->key = $vals['key'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ExperimentNotFoundException';
+  }
+
+  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->identifier);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->key);
+          } 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('ExperimentNotFoundException');
+    if ($this->identifier !== null) {
+      $xfer += $output->writeFieldBegin('identifier', TType::STRING, 1);
+      $xfer += $output->writeString($this->identifier);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->key !== null) {
+      $xfer += $output->writeFieldBegin('key', TType::STRING, 2);
+      $xfer += $output->writeString($this->key);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class InvalidRequestException extends TException {
+  static $_TSPEC;
+
+  public $message = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'message',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['message'])) {
+        $this->message = $vals['message'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'InvalidRequestException';
+  }
+
+  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->message);
+          } 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('InvalidRequestException');
+    if ($this->message !== null) {
+      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
+      $xfer += $output->writeString($this->message);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class TimedOutException extends TException {
+  static $_TSPEC;
+
+
+  public function __construct() {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        );
+    }
+  }
+
+  public function getName() {
+    return 'TimedOutException';
+  }
+
+  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)
+      {
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('TimedOutException');
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class AuthenticationException extends TException {
+  static $_TSPEC;
+
+  public $message = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'message',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['message'])) {
+        $this->message = $vals['message'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'AuthenticationException';
+  }
+
+  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->message);
+          } 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('AuthenticationException');
+    if ($this->message !== null) {
+      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
+      $xfer += $output->writeString($this->message);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class AuthorizationException extends TException {
+  static $_TSPEC;
+
+  public $message = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'message',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['message'])) {
+        $this->message = $vals['message'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'AuthorizationException';
+  }
+
+  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->message);
+          } 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('AuthorizationException');
+    if ($this->message !== null) {
+      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
+      $xfer += $output->writeString($this->message);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class AiravataClientException extends TException {
+  static $_TSPEC;
+
+  public $airavataErrorType = null;
+  public $parameter = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'airavataErrorType',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'parameter',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['airavataErrorType'])) {
+        $this->airavataErrorType = $vals['airavataErrorType'];
+      }
+      if (isset($vals['parameter'])) {
+        $this->parameter = $vals['parameter'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'AiravataClientException';
+  }
+
+  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->airavataErrorType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->parameter);
+          } 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('AiravataClientException');
+    if ($this->airavataErrorType !== null) {
+      $xfer += $output->writeFieldBegin('airavataErrorType', TType::I32, 1);
+      $xfer += $output->writeI32($this->airavataErrorType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->parameter !== null) {
+      $xfer += $output->writeFieldBegin('parameter', TType::STRING, 2);
+      $xfer += $output->writeString($this->parameter);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class AiravataSystemException extends TException {
+  static $_TSPEC;
+
+  public $airavataErrorType = null;
+  public $message = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'airavataErrorType',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'message',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['airavataErrorType'])) {
+        $this->airavataErrorType = $vals['airavataErrorType'];
+      }
+      if (isset($vals['message'])) {
+        $this->message = $vals['message'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'AiravataSystemException';
+  }
+
+  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->airavataErrorType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->message);
+          } 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('AiravataSystemException');
+    if ($this->airavataErrorType !== null) {
+      $xfer += $output->writeFieldBegin('airavataErrorType', TType::I32, 1);
+      $xfer += $output->writeI32($this->airavataErrorType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->message !== null) {
+      $xfer += $output->writeFieldBegin('message', TType::STRING, 2);
+      $xfer += $output->writeString($this->message);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php
new file mode 100644
index 0000000..5590a42
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php
@@ -0,0 +1,22 @@
+<?php
+namespace Airavata\API;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * 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;
+
+
+$GLOBALS['airavataAPI_CONSTANTS']['AIRAVATA_API_VERSION'] = "0.12.0";
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/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
new file mode 100644
index 0000000..c53ef52
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
@@ -0,0 +1,20 @@
+<?php
+namespace Airavata\Model;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * 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;
+
+
+


[27/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata.h
deleted file mode 100644
index 683c900..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata.h
+++ /dev/null
@@ -1,2714 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef Airavata_H
-#define Airavata_H
-
-#include <thrift/TDispatchProcessor.h>
-#include "airavataAPI_types.h"
-
-namespace airavata { namespace api {
-
-class AiravataIf {
- public:
-  virtual ~AiravataIf() {}
-  virtual void GetAPIVersion(std::string& _return) = 0;
-  virtual void createProject(std::string& _return, const  ::Project& project, const std::string& userName) = 0;
-  virtual void updateProject(const  ::Project& project) = 0;
-  virtual void getProject( ::Project& _return, const std::string& projectId) = 0;
-  virtual void getAllUserProjects(std::vector< ::Project> & _return, const std::string& userName) = 0;
-  virtual void getAllExperimentsInProject(std::vector< ::Experiment> & _return, const std::string& projectId) = 0;
-  virtual void getAllUserExperiments(std::vector< ::Experiment> & _return, const std::string& userName) = 0;
-  virtual void createExperiment(std::string& _return, const  ::Experiment& experiment) = 0;
-  virtual void getExperiment( ::Experiment& _return, const std::string& airavataExperimentId) = 0;
-  virtual void updateExperiment(const std::string& airavataExperimentId, const  ::Experiment& experiment) = 0;
-  virtual void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::UserConfigurationData& userConfiguration) = 0;
-  virtual void updateResourceScheduleing(const std::string& airavataExperimentId, const  ::ComputationalResourceScheduling& resourceScheduling) = 0;
-  virtual void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) = 0;
-  virtual void getExperimentStatus( ::ExperimentStatus& _return, const std::string& airavataExperimentId) = 0;
-  virtual void getExperimentOutputs(std::vector< ::DataObjectType> & _return, const std::string& airavataExperimentId) = 0;
-  virtual void getJobStatuses(std::map<std::string,  ::JobStatus> & _return, const std::string& airavataExperimentId) = 0;
-  virtual void cloneExperiment(std::string& _return, const std::string& airavataExperimentIdToBeCloned, const  ::Experiment& updatedExperiment) = 0;
-  virtual void terminateExperiment(const std::string& airavataExperimentId) = 0;
-};
-
-class AiravataIfFactory {
- public:
-  typedef AiravataIf Handler;
-
-  virtual ~AiravataIfFactory() {}
-
-  virtual AiravataIf* getHandler(const ::apache::thrift::TConnectionInfo& connInfo) = 0;
-  virtual void releaseHandler(AiravataIf* /* handler */) = 0;
-};
-
-class AiravataIfSingletonFactory : virtual public AiravataIfFactory {
- public:
-  AiravataIfSingletonFactory(const boost::shared_ptr<AiravataIf>& iface) : iface_(iface) {}
-  virtual ~AiravataIfSingletonFactory() {}
-
-  virtual AiravataIf* getHandler(const ::apache::thrift::TConnectionInfo&) {
-    return iface_.get();
-  }
-  virtual void releaseHandler(AiravataIf* /* handler */) {}
-
- protected:
-  boost::shared_ptr<AiravataIf> iface_;
-};
-
-class AiravataNull : virtual public AiravataIf {
- public:
-  virtual ~AiravataNull() {}
-  void GetAPIVersion(std::string& /* _return */) {
-    return;
-  }
-  void createProject(std::string& /* _return */, const  ::Project& /* project */, const std::string& /* userName */) {
-    return;
-  }
-  void updateProject(const  ::Project& /* project */) {
-    return;
-  }
-  void getProject( ::Project& /* _return */, const std::string& /* projectId */) {
-    return;
-  }
-  void getAllUserProjects(std::vector< ::Project> & /* _return */, const std::string& /* userName */) {
-    return;
-  }
-  void getAllExperimentsInProject(std::vector< ::Experiment> & /* _return */, const std::string& /* projectId */) {
-    return;
-  }
-  void getAllUserExperiments(std::vector< ::Experiment> & /* _return */, const std::string& /* userName */) {
-    return;
-  }
-  void createExperiment(std::string& /* _return */, const  ::Experiment& /* experiment */) {
-    return;
-  }
-  void getExperiment( ::Experiment& /* _return */, const std::string& /* airavataExperimentId */) {
-    return;
-  }
-  void updateExperiment(const std::string& /* airavataExperimentId */, const  ::Experiment& /* experiment */) {
-    return;
-  }
-  void updateExperimentConfiguration(const std::string& /* airavataExperimentId */, const  ::UserConfigurationData& /* userConfiguration */) {
-    return;
-  }
-  void updateResourceScheduleing(const std::string& /* airavataExperimentId */, const  ::ComputationalResourceScheduling& /* resourceScheduling */) {
-    return;
-  }
-  void launchExperiment(const std::string& /* airavataExperimentId */, const std::string& /* airavataCredStoreToken */) {
-    return;
-  }
-  void getExperimentStatus( ::ExperimentStatus& /* _return */, const std::string& /* airavataExperimentId */) {
-    return;
-  }
-  void getExperimentOutputs(std::vector< ::DataObjectType> & /* _return */, const std::string& /* airavataExperimentId */) {
-    return;
-  }
-  void getJobStatuses(std::map<std::string,  ::JobStatus> & /* _return */, const std::string& /* airavataExperimentId */) {
-    return;
-  }
-  void cloneExperiment(std::string& /* _return */, const std::string& /* airavataExperimentIdToBeCloned */, const  ::Experiment& /* updatedExperiment */) {
-    return;
-  }
-  void terminateExperiment(const std::string& /* airavataExperimentId */) {
-    return;
-  }
-};
-
-
-class Airavata_GetAPIVersion_args {
- public:
-
-  Airavata_GetAPIVersion_args() {
-  }
-
-  virtual ~Airavata_GetAPIVersion_args() throw() {}
-
-
-  bool operator == (const Airavata_GetAPIVersion_args & /* rhs */) const
-  {
-    return true;
-  }
-  bool operator != (const Airavata_GetAPIVersion_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_GetAPIVersion_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_GetAPIVersion_pargs {
- public:
-
-
-  virtual ~Airavata_GetAPIVersion_pargs() throw() {}
-
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_GetAPIVersion_result__isset {
-  _Airavata_GetAPIVersion_result__isset() : success(false) {}
-  bool success;
-} _Airavata_GetAPIVersion_result__isset;
-
-class Airavata_GetAPIVersion_result {
- public:
-
-  Airavata_GetAPIVersion_result() : success() {
-  }
-
-  virtual ~Airavata_GetAPIVersion_result() throw() {}
-
-  std::string success;
-
-  _Airavata_GetAPIVersion_result__isset __isset;
-
-  void __set_success(const std::string& val) {
-    success = val;
-  }
-
-  bool operator == (const Airavata_GetAPIVersion_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_GetAPIVersion_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_GetAPIVersion_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_GetAPIVersion_presult__isset {
-  _Airavata_GetAPIVersion_presult__isset() : success(false) {}
-  bool success;
-} _Airavata_GetAPIVersion_presult__isset;
-
-class Airavata_GetAPIVersion_presult {
- public:
-
-
-  virtual ~Airavata_GetAPIVersion_presult() throw() {}
-
-  std::string* success;
-
-  _Airavata_GetAPIVersion_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_createProject_args {
- public:
-
-  Airavata_createProject_args() : userName() {
-  }
-
-  virtual ~Airavata_createProject_args() throw() {}
-
-   ::Project project;
-  std::string userName;
-
-  void __set_project(const  ::Project& val) {
-    project = val;
-  }
-
-  void __set_userName(const std::string& val) {
-    userName = val;
-  }
-
-  bool operator == (const Airavata_createProject_args & rhs) const
-  {
-    if (!(project == rhs.project))
-      return false;
-    if (!(userName == rhs.userName))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_createProject_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_createProject_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_createProject_pargs {
- public:
-
-
-  virtual ~Airavata_createProject_pargs() throw() {}
-
-  const  ::Project* project;
-  const std::string* userName;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_createProject_result__isset {
-  _Airavata_createProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_createProject_result__isset;
-
-class Airavata_createProject_result {
- public:
-
-  Airavata_createProject_result() : success() {
-  }
-
-  virtual ~Airavata_createProject_result() throw() {}
-
-  std::string success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_createProject_result__isset __isset;
-
-  void __set_success(const std::string& val) {
-    success = val;
-  }
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_createProject_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_createProject_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_createProject_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_createProject_presult__isset {
-  _Airavata_createProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_createProject_presult__isset;
-
-class Airavata_createProject_presult {
- public:
-
-
-  virtual ~Airavata_createProject_presult() throw() {}
-
-  std::string* success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_createProject_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_updateProject_args {
- public:
-
-  Airavata_updateProject_args() {
-  }
-
-  virtual ~Airavata_updateProject_args() throw() {}
-
-   ::Project project;
-
-  void __set_project(const  ::Project& val) {
-    project = val;
-  }
-
-  bool operator == (const Airavata_updateProject_args & rhs) const
-  {
-    if (!(project == rhs.project))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_updateProject_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_updateProject_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateProject_pargs {
- public:
-
-
-  virtual ~Airavata_updateProject_pargs() throw() {}
-
-  const  ::Project* project;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_updateProject_result__isset {
-  _Airavata_updateProject_result__isset() : ire(false), ace(false), ase(false) {}
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_updateProject_result__isset;
-
-class Airavata_updateProject_result {
- public:
-
-  Airavata_updateProject_result() {
-  }
-
-  virtual ~Airavata_updateProject_result() throw() {}
-
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_updateProject_result__isset __isset;
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_updateProject_result & rhs) const
-  {
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_updateProject_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_updateProject_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_updateProject_presult__isset {
-  _Airavata_updateProject_presult__isset() : ire(false), ace(false), ase(false) {}
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_updateProject_presult__isset;
-
-class Airavata_updateProject_presult {
- public:
-
-
-  virtual ~Airavata_updateProject_presult() throw() {}
-
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_updateProject_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getProject_args {
- public:
-
-  Airavata_getProject_args() : projectId() {
-  }
-
-  virtual ~Airavata_getProject_args() throw() {}
-
-  std::string projectId;
-
-  void __set_projectId(const std::string& val) {
-    projectId = val;
-  }
-
-  bool operator == (const Airavata_getProject_args & rhs) const
-  {
-    if (!(projectId == rhs.projectId))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getProject_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getProject_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getProject_pargs {
- public:
-
-
-  virtual ~Airavata_getProject_pargs() throw() {}
-
-  const std::string* projectId;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getProject_result__isset {
-  _Airavata_getProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_getProject_result__isset;
-
-class Airavata_getProject_result {
- public:
-
-  Airavata_getProject_result() {
-  }
-
-  virtual ~Airavata_getProject_result() throw() {}
-
-   ::Project success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getProject_result__isset __isset;
-
-  void __set_success(const  ::Project& val) {
-    success = val;
-  }
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_getProject_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getProject_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getProject_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getProject_presult__isset {
-  _Airavata_getProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_getProject_presult__isset;
-
-class Airavata_getProject_presult {
- public:
-
-
-  virtual ~Airavata_getProject_presult() throw() {}
-
-   ::Project* success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getProject_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getAllUserProjects_args {
- public:
-
-  Airavata_getAllUserProjects_args() : userName() {
-  }
-
-  virtual ~Airavata_getAllUserProjects_args() throw() {}
-
-  std::string userName;
-
-  void __set_userName(const std::string& val) {
-    userName = val;
-  }
-
-  bool operator == (const Airavata_getAllUserProjects_args & rhs) const
-  {
-    if (!(userName == rhs.userName))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getAllUserProjects_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getAllUserProjects_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getAllUserProjects_pargs {
- public:
-
-
-  virtual ~Airavata_getAllUserProjects_pargs() throw() {}
-
-  const std::string* userName;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllUserProjects_result__isset {
-  _Airavata_getAllUserProjects_result__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_getAllUserProjects_result__isset;
-
-class Airavata_getAllUserProjects_result {
- public:
-
-  Airavata_getAllUserProjects_result() {
-  }
-
-  virtual ~Airavata_getAllUserProjects_result() throw() {}
-
-  std::vector< ::Project>  success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getAllUserProjects_result__isset __isset;
-
-  void __set_success(const std::vector< ::Project> & val) {
-    success = val;
-  }
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_getAllUserProjects_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getAllUserProjects_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getAllUserProjects_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllUserProjects_presult__isset {
-  _Airavata_getAllUserProjects_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_getAllUserProjects_presult__isset;
-
-class Airavata_getAllUserProjects_presult {
- public:
-
-
-  virtual ~Airavata_getAllUserProjects_presult() throw() {}
-
-  std::vector< ::Project> * success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getAllUserProjects_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getAllExperimentsInProject_args {
- public:
-
-  Airavata_getAllExperimentsInProject_args() : projectId() {
-  }
-
-  virtual ~Airavata_getAllExperimentsInProject_args() throw() {}
-
-  std::string projectId;
-
-  void __set_projectId(const std::string& val) {
-    projectId = val;
-  }
-
-  bool operator == (const Airavata_getAllExperimentsInProject_args & rhs) const
-  {
-    if (!(projectId == rhs.projectId))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getAllExperimentsInProject_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getAllExperimentsInProject_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getAllExperimentsInProject_pargs {
- public:
-
-
-  virtual ~Airavata_getAllExperimentsInProject_pargs() throw() {}
-
-  const std::string* projectId;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllExperimentsInProject_result__isset {
-  _Airavata_getAllExperimentsInProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_getAllExperimentsInProject_result__isset;
-
-class Airavata_getAllExperimentsInProject_result {
- public:
-
-  Airavata_getAllExperimentsInProject_result() {
-  }
-
-  virtual ~Airavata_getAllExperimentsInProject_result() throw() {}
-
-  std::vector< ::Experiment>  success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getAllExperimentsInProject_result__isset __isset;
-
-  void __set_success(const std::vector< ::Experiment> & val) {
-    success = val;
-  }
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_getAllExperimentsInProject_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getAllExperimentsInProject_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getAllExperimentsInProject_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllExperimentsInProject_presult__isset {
-  _Airavata_getAllExperimentsInProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_getAllExperimentsInProject_presult__isset;
-
-class Airavata_getAllExperimentsInProject_presult {
- public:
-
-
-  virtual ~Airavata_getAllExperimentsInProject_presult() throw() {}
-
-  std::vector< ::Experiment> * success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getAllExperimentsInProject_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getAllUserExperiments_args {
- public:
-
-  Airavata_getAllUserExperiments_args() : userName() {
-  }
-
-  virtual ~Airavata_getAllUserExperiments_args() throw() {}
-
-  std::string userName;
-
-  void __set_userName(const std::string& val) {
-    userName = val;
-  }
-
-  bool operator == (const Airavata_getAllUserExperiments_args & rhs) const
-  {
-    if (!(userName == rhs.userName))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getAllUserExperiments_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getAllUserExperiments_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getAllUserExperiments_pargs {
- public:
-
-
-  virtual ~Airavata_getAllUserExperiments_pargs() throw() {}
-
-  const std::string* userName;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllUserExperiments_result__isset {
-  _Airavata_getAllUserExperiments_result__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_getAllUserExperiments_result__isset;
-
-class Airavata_getAllUserExperiments_result {
- public:
-
-  Airavata_getAllUserExperiments_result() {
-  }
-
-  virtual ~Airavata_getAllUserExperiments_result() throw() {}
-
-  std::vector< ::Experiment>  success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getAllUserExperiments_result__isset __isset;
-
-  void __set_success(const std::vector< ::Experiment> & val) {
-    success = val;
-  }
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_getAllUserExperiments_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getAllUserExperiments_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getAllUserExperiments_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllUserExperiments_presult__isset {
-  _Airavata_getAllUserExperiments_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_getAllUserExperiments_presult__isset;
-
-class Airavata_getAllUserExperiments_presult {
- public:
-
-
-  virtual ~Airavata_getAllUserExperiments_presult() throw() {}
-
-  std::vector< ::Experiment> * success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getAllUserExperiments_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_createExperiment_args {
- public:
-
-  Airavata_createExperiment_args() {
-  }
-
-  virtual ~Airavata_createExperiment_args() throw() {}
-
-   ::Experiment experiment;
-
-  void __set_experiment(const  ::Experiment& val) {
-    experiment = val;
-  }
-
-  bool operator == (const Airavata_createExperiment_args & rhs) const
-  {
-    if (!(experiment == rhs.experiment))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_createExperiment_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_createExperiment_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_createExperiment_pargs {
- public:
-
-
-  virtual ~Airavata_createExperiment_pargs() throw() {}
-
-  const  ::Experiment* experiment;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_createExperiment_result__isset {
-  _Airavata_createExperiment_result__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_createExperiment_result__isset;
-
-class Airavata_createExperiment_result {
- public:
-
-  Airavata_createExperiment_result() : success() {
-  }
-
-  virtual ~Airavata_createExperiment_result() throw() {}
-
-  std::string success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_createExperiment_result__isset __isset;
-
-  void __set_success(const std::string& val) {
-    success = val;
-  }
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_createExperiment_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_createExperiment_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_createExperiment_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_createExperiment_presult__isset {
-  _Airavata_createExperiment_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool ace;
-  bool ase;
-} _Airavata_createExperiment_presult__isset;
-
-class Airavata_createExperiment_presult {
- public:
-
-
-  virtual ~Airavata_createExperiment_presult() throw() {}
-
-  std::string* success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_createExperiment_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getExperiment_args {
- public:
-
-  Airavata_getExperiment_args() : airavataExperimentId() {
-  }
-
-  virtual ~Airavata_getExperiment_args() throw() {}
-
-  std::string airavataExperimentId;
-
-  void __set_airavataExperimentId(const std::string& val) {
-    airavataExperimentId = val;
-  }
-
-  bool operator == (const Airavata_getExperiment_args & rhs) const
-  {
-    if (!(airavataExperimentId == rhs.airavataExperimentId))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getExperiment_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getExperiment_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getExperiment_pargs {
- public:
-
-
-  virtual ~Airavata_getExperiment_pargs() throw() {}
-
-  const std::string* airavataExperimentId;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getExperiment_result__isset {
-  _Airavata_getExperiment_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_getExperiment_result__isset;
-
-class Airavata_getExperiment_result {
- public:
-
-  Airavata_getExperiment_result() {
-  }
-
-  virtual ~Airavata_getExperiment_result() throw() {}
-
-   ::Experiment success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getExperiment_result__isset __isset;
-
-  void __set_success(const  ::Experiment& val) {
-    success = val;
-  }
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
-    enf = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_getExperiment_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(enf == rhs.enf))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getExperiment_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getExperiment_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getExperiment_presult__isset {
-  _Airavata_getExperiment_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_getExperiment_presult__isset;
-
-class Airavata_getExperiment_presult {
- public:
-
-
-  virtual ~Airavata_getExperiment_presult() throw() {}
-
-   ::Experiment* success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getExperiment_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_updateExperiment_args {
- public:
-
-  Airavata_updateExperiment_args() : airavataExperimentId() {
-  }
-
-  virtual ~Airavata_updateExperiment_args() throw() {}
-
-  std::string airavataExperimentId;
-   ::Experiment experiment;
-
-  void __set_airavataExperimentId(const std::string& val) {
-    airavataExperimentId = val;
-  }
-
-  void __set_experiment(const  ::Experiment& val) {
-    experiment = val;
-  }
-
-  bool operator == (const Airavata_updateExperiment_args & rhs) const
-  {
-    if (!(airavataExperimentId == rhs.airavataExperimentId))
-      return false;
-    if (!(experiment == rhs.experiment))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_updateExperiment_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_updateExperiment_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateExperiment_pargs {
- public:
-
-
-  virtual ~Airavata_updateExperiment_pargs() throw() {}
-
-  const std::string* airavataExperimentId;
-  const  ::Experiment* experiment;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_updateExperiment_result__isset {
-  _Airavata_updateExperiment_result__isset() : ire(false), enf(false), ace(false), ase(false) {}
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_updateExperiment_result__isset;
-
-class Airavata_updateExperiment_result {
- public:
-
-  Airavata_updateExperiment_result() {
-  }
-
-  virtual ~Airavata_updateExperiment_result() throw() {}
-
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_updateExperiment_result__isset __isset;
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
-    enf = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_updateExperiment_result & rhs) const
-  {
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(enf == rhs.enf))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_updateExperiment_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_updateExperiment_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_updateExperiment_presult__isset {
-  _Airavata_updateExperiment_presult__isset() : ire(false), enf(false), ace(false), ase(false) {}
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_updateExperiment_presult__isset;
-
-class Airavata_updateExperiment_presult {
- public:
-
-
-  virtual ~Airavata_updateExperiment_presult() throw() {}
-
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_updateExperiment_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_updateExperimentConfiguration_args {
- public:
-
-  Airavata_updateExperimentConfiguration_args() : airavataExperimentId() {
-  }
-
-  virtual ~Airavata_updateExperimentConfiguration_args() throw() {}
-
-  std::string airavataExperimentId;
-   ::UserConfigurationData userConfiguration;
-
-  void __set_airavataExperimentId(const std::string& val) {
-    airavataExperimentId = val;
-  }
-
-  void __set_userConfiguration(const  ::UserConfigurationData& val) {
-    userConfiguration = val;
-  }
-
-  bool operator == (const Airavata_updateExperimentConfiguration_args & rhs) const
-  {
-    if (!(airavataExperimentId == rhs.airavataExperimentId))
-      return false;
-    if (!(userConfiguration == rhs.userConfiguration))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_updateExperimentConfiguration_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_updateExperimentConfiguration_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateExperimentConfiguration_pargs {
- public:
-
-
-  virtual ~Airavata_updateExperimentConfiguration_pargs() throw() {}
-
-  const std::string* airavataExperimentId;
-  const  ::UserConfigurationData* userConfiguration;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateExperimentConfiguration_result {
- public:
-
-  Airavata_updateExperimentConfiguration_result() {
-  }
-
-  virtual ~Airavata_updateExperimentConfiguration_result() throw() {}
-
-
-  bool operator == (const Airavata_updateExperimentConfiguration_result & /* rhs */) const
-  {
-    return true;
-  }
-  bool operator != (const Airavata_updateExperimentConfiguration_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_updateExperimentConfiguration_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateExperimentConfiguration_presult {
- public:
-
-
-  virtual ~Airavata_updateExperimentConfiguration_presult() throw() {}
-
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_updateResourceScheduleing_args {
- public:
-
-  Airavata_updateResourceScheduleing_args() : airavataExperimentId() {
-  }
-
-  virtual ~Airavata_updateResourceScheduleing_args() throw() {}
-
-  std::string airavataExperimentId;
-   ::ComputationalResourceScheduling resourceScheduling;
-
-  void __set_airavataExperimentId(const std::string& val) {
-    airavataExperimentId = val;
-  }
-
-  void __set_resourceScheduling(const  ::ComputationalResourceScheduling& val) {
-    resourceScheduling = val;
-  }
-
-  bool operator == (const Airavata_updateResourceScheduleing_args & rhs) const
-  {
-    if (!(airavataExperimentId == rhs.airavataExperimentId))
-      return false;
-    if (!(resourceScheduling == rhs.resourceScheduling))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_updateResourceScheduleing_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_updateResourceScheduleing_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateResourceScheduleing_pargs {
- public:
-
-
-  virtual ~Airavata_updateResourceScheduleing_pargs() throw() {}
-
-  const std::string* airavataExperimentId;
-  const  ::ComputationalResourceScheduling* resourceScheduling;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateResourceScheduleing_result {
- public:
-
-  Airavata_updateResourceScheduleing_result() {
-  }
-
-  virtual ~Airavata_updateResourceScheduleing_result() throw() {}
-
-
-  bool operator == (const Airavata_updateResourceScheduleing_result & /* rhs */) const
-  {
-    return true;
-  }
-  bool operator != (const Airavata_updateResourceScheduleing_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_updateResourceScheduleing_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateResourceScheduleing_presult {
- public:
-
-
-  virtual ~Airavata_updateResourceScheduleing_presult() throw() {}
-
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_launchExperiment_args {
- public:
-
-  Airavata_launchExperiment_args() : airavataExperimentId(), airavataCredStoreToken() {
-  }
-
-  virtual ~Airavata_launchExperiment_args() throw() {}
-
-  std::string airavataExperimentId;
-  std::string airavataCredStoreToken;
-
-  void __set_airavataExperimentId(const std::string& val) {
-    airavataExperimentId = val;
-  }
-
-  void __set_airavataCredStoreToken(const std::string& val) {
-    airavataCredStoreToken = val;
-  }
-
-  bool operator == (const Airavata_launchExperiment_args & rhs) const
-  {
-    if (!(airavataExperimentId == rhs.airavataExperimentId))
-      return false;
-    if (!(airavataCredStoreToken == rhs.airavataCredStoreToken))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_launchExperiment_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_launchExperiment_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_launchExperiment_pargs {
- public:
-
-
-  virtual ~Airavata_launchExperiment_pargs() throw() {}
-
-  const std::string* airavataExperimentId;
-  const std::string* airavataCredStoreToken;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_launchExperiment_result__isset {
-  _Airavata_launchExperiment_result__isset() : ire(false), enf(false), ace(false), ase(false) {}
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_launchExperiment_result__isset;
-
-class Airavata_launchExperiment_result {
- public:
-
-  Airavata_launchExperiment_result() {
-  }
-
-  virtual ~Airavata_launchExperiment_result() throw() {}
-
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_launchExperiment_result__isset __isset;
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
-    enf = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_launchExperiment_result & rhs) const
-  {
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(enf == rhs.enf))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_launchExperiment_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_launchExperiment_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_launchExperiment_presult__isset {
-  _Airavata_launchExperiment_presult__isset() : ire(false), enf(false), ace(false), ase(false) {}
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_launchExperiment_presult__isset;
-
-class Airavata_launchExperiment_presult {
- public:
-
-
-  virtual ~Airavata_launchExperiment_presult() throw() {}
-
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_launchExperiment_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getExperimentStatus_args {
- public:
-
-  Airavata_getExperimentStatus_args() : airavataExperimentId() {
-  }
-
-  virtual ~Airavata_getExperimentStatus_args() throw() {}
-
-  std::string airavataExperimentId;
-
-  void __set_airavataExperimentId(const std::string& val) {
-    airavataExperimentId = val;
-  }
-
-  bool operator == (const Airavata_getExperimentStatus_args & rhs) const
-  {
-    if (!(airavataExperimentId == rhs.airavataExperimentId))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getExperimentStatus_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getExperimentStatus_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getExperimentStatus_pargs {
- public:
-
-
-  virtual ~Airavata_getExperimentStatus_pargs() throw() {}
-
-  const std::string* airavataExperimentId;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getExperimentStatus_result__isset {
-  _Airavata_getExperimentStatus_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_getExperimentStatus_result__isset;
-
-class Airavata_getExperimentStatus_result {
- public:
-
-  Airavata_getExperimentStatus_result() {
-  }
-
-  virtual ~Airavata_getExperimentStatus_result() throw() {}
-
-   ::ExperimentStatus success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getExperimentStatus_result__isset __isset;
-
-  void __set_success(const  ::ExperimentStatus& val) {
-    success = val;
-  }
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
-    enf = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_getExperimentStatus_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(enf == rhs.enf))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getExperimentStatus_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getExperimentStatus_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getExperimentStatus_presult__isset {
-  _Airavata_getExperimentStatus_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_getExperimentStatus_presult__isset;
-
-class Airavata_getExperimentStatus_presult {
- public:
-
-
-  virtual ~Airavata_getExperimentStatus_presult() throw() {}
-
-   ::ExperimentStatus* success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_getExperimentStatus_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getExperimentOutputs_args {
- public:
-
-  Airavata_getExperimentOutputs_args() : airavataExperimentId() {
-  }
-
-  virtual ~Airavata_getExperimentOutputs_args() throw() {}
-
-  std::string airavataExperimentId;
-
-  void __set_airavataExperimentId(const std::string& val) {
-    airavataExperimentId = val;
-  }
-
-  bool operator == (const Airavata_getExperimentOutputs_args & rhs) const
-  {
-    if (!(airavataExperimentId == rhs.airavataExperimentId))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getExperimentOutputs_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getExperimentOutputs_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getExperimentOutputs_pargs {
- public:
-
-
-  virtual ~Airavata_getExperimentOutputs_pargs() throw() {}
-
-  const std::string* airavataExperimentId;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getExperimentOutputs_result__isset {
-  _Airavata_getExperimentOutputs_result__isset() : success(false) {}
-  bool success;
-} _Airavata_getExperimentOutputs_result__isset;
-
-class Airavata_getExperimentOutputs_result {
- public:
-
-  Airavata_getExperimentOutputs_result() {
-  }
-
-  virtual ~Airavata_getExperimentOutputs_result() throw() {}
-
-  std::vector< ::DataObjectType>  success;
-
-  _Airavata_getExperimentOutputs_result__isset __isset;
-
-  void __set_success(const std::vector< ::DataObjectType> & val) {
-    success = val;
-  }
-
-  bool operator == (const Airavata_getExperimentOutputs_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getExperimentOutputs_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getExperimentOutputs_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getExperimentOutputs_presult__isset {
-  _Airavata_getExperimentOutputs_presult__isset() : success(false) {}
-  bool success;
-} _Airavata_getExperimentOutputs_presult__isset;
-
-class Airavata_getExperimentOutputs_presult {
- public:
-
-
-  virtual ~Airavata_getExperimentOutputs_presult() throw() {}
-
-  std::vector< ::DataObjectType> * success;
-
-  _Airavata_getExperimentOutputs_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getJobStatuses_args {
- public:
-
-  Airavata_getJobStatuses_args() : airavataExperimentId() {
-  }
-
-  virtual ~Airavata_getJobStatuses_args() throw() {}
-
-  std::string airavataExperimentId;
-
-  void __set_airavataExperimentId(const std::string& val) {
-    airavataExperimentId = val;
-  }
-
-  bool operator == (const Airavata_getJobStatuses_args & rhs) const
-  {
-    if (!(airavataExperimentId == rhs.airavataExperimentId))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getJobStatuses_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getJobStatuses_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getJobStatuses_pargs {
- public:
-
-
-  virtual ~Airavata_getJobStatuses_pargs() throw() {}
-
-  const std::string* airavataExperimentId;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getJobStatuses_result__isset {
-  _Airavata_getJobStatuses_result__isset() : success(false) {}
-  bool success;
-} _Airavata_getJobStatuses_result__isset;
-
-class Airavata_getJobStatuses_result {
- public:
-
-  Airavata_getJobStatuses_result() {
-  }
-
-  virtual ~Airavata_getJobStatuses_result() throw() {}
-
-  std::map<std::string,  ::JobStatus>  success;
-
-  _Airavata_getJobStatuses_result__isset __isset;
-
-  void __set_success(const std::map<std::string,  ::JobStatus> & val) {
-    success = val;
-  }
-
-  bool operator == (const Airavata_getJobStatuses_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getJobStatuses_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getJobStatuses_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getJobStatuses_presult__isset {
-  _Airavata_getJobStatuses_presult__isset() : success(false) {}
-  bool success;
-} _Airavata_getJobStatuses_presult__isset;
-
-class Airavata_getJobStatuses_presult {
- public:
-
-
-  virtual ~Airavata_getJobStatuses_presult() throw() {}
-
-  std::map<std::string,  ::JobStatus> * success;
-
-  _Airavata_getJobStatuses_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-typedef struct _Airavata_cloneExperiment_args__isset {
-  _Airavata_cloneExperiment_args__isset() : airavataExperimentIdToBeCloned(false), updatedExperiment(false) {}
-  bool airavataExperimentIdToBeCloned;
-  bool updatedExperiment;
-} _Airavata_cloneExperiment_args__isset;
-
-class Airavata_cloneExperiment_args {
- public:
-
-  Airavata_cloneExperiment_args() : airavataExperimentIdToBeCloned() {
-  }
-
-  virtual ~Airavata_cloneExperiment_args() throw() {}
-
-  std::string airavataExperimentIdToBeCloned;
-   ::Experiment updatedExperiment;
-
-  _Airavata_cloneExperiment_args__isset __isset;
-
-  void __set_airavataExperimentIdToBeCloned(const std::string& val) {
-    airavataExperimentIdToBeCloned = val;
-  }
-
-  void __set_updatedExperiment(const  ::Experiment& val) {
-    updatedExperiment = val;
-  }
-
-  bool operator == (const Airavata_cloneExperiment_args & rhs) const
-  {
-    if (!(airavataExperimentIdToBeCloned == rhs.airavataExperimentIdToBeCloned))
-      return false;
-    if (!(updatedExperiment == rhs.updatedExperiment))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_cloneExperiment_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_cloneExperiment_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_cloneExperiment_pargs {
- public:
-
-
-  virtual ~Airavata_cloneExperiment_pargs() throw() {}
-
-  const std::string* airavataExperimentIdToBeCloned;
-  const  ::Experiment* updatedExperiment;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_cloneExperiment_result__isset {
-  _Airavata_cloneExperiment_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_cloneExperiment_result__isset;
-
-class Airavata_cloneExperiment_result {
- public:
-
-  Airavata_cloneExperiment_result() : success() {
-  }
-
-  virtual ~Airavata_cloneExperiment_result() throw() {}
-
-  std::string success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_cloneExperiment_result__isset __isset;
-
-  void __set_success(const std::string& val) {
-    success = val;
-  }
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
-    enf = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_cloneExperiment_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(enf == rhs.enf))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_cloneExperiment_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_cloneExperiment_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_cloneExperiment_presult__isset {
-  _Airavata_cloneExperiment_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
-  bool success;
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_cloneExperiment_presult__isset;
-
-class Airavata_cloneExperiment_presult {
- public:
-
-
-  virtual ~Airavata_cloneExperiment_presult() throw() {}
-
-  std::string* success;
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_cloneExperiment_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-typedef struct _Airavata_terminateExperiment_args__isset {
-  _Airavata_terminateExperiment_args__isset() : airavataExperimentId(false) {}
-  bool airavataExperimentId;
-} _Airavata_terminateExperiment_args__isset;
-
-class Airavata_terminateExperiment_args {
- public:
-
-  Airavata_terminateExperiment_args() : airavataExperimentId() {
-  }
-
-  virtual ~Airavata_terminateExperiment_args() throw() {}
-
-  std::string airavataExperimentId;
-
-  _Airavata_terminateExperiment_args__isset __isset;
-
-  void __set_airavataExperimentId(const std::string& val) {
-    airavataExperimentId = val;
-  }
-
-  bool operator == (const Airavata_terminateExperiment_args & rhs) const
-  {
-    if (!(airavataExperimentId == rhs.airavataExperimentId))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_terminateExperiment_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_terminateExperiment_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_terminateExperiment_pargs {
- public:
-
-
-  virtual ~Airavata_terminateExperiment_pargs() throw() {}
-
-  const std::string* airavataExperimentId;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_terminateExperiment_result__isset {
-  _Airavata_terminateExperiment_result__isset() : ire(false), enf(false), ace(false), ase(false) {}
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_terminateExperiment_result__isset;
-
-class Airavata_terminateExperiment_result {
- public:
-
-  Airavata_terminateExperiment_result() {
-  }
-
-  virtual ~Airavata_terminateExperiment_result() throw() {}
-
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_terminateExperiment_result__isset __isset;
-
-  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
-    ire = val;
-  }
-
-  void __set_enf(const  ::airavata::api::error::ExperimentNotFoundException& val) {
-    enf = val;
-  }
-
-  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
-    ace = val;
-  }
-
-  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
-    ase = val;
-  }
-
-  bool operator == (const Airavata_terminateExperiment_result & rhs) const
-  {
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(enf == rhs.enf))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_terminateExperiment_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_terminateExperiment_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_terminateExperiment_presult__isset {
-  _Airavata_terminateExperiment_presult__isset() : ire(false), enf(false), ace(false), ase(false) {}
-  bool ire;
-  bool enf;
-  bool ace;
-  bool ase;
-} _Airavata_terminateExperiment_presult__isset;
-
-class Airavata_terminateExperiment_presult {
- public:
-
-
-  virtual ~Airavata_terminateExperiment_presult() throw() {}
-
-   ::airavata::api::error::InvalidRequestException ire;
-   ::airavata::api::error::ExperimentNotFoundException enf;
-   ::airavata::api::error::AiravataClientException ace;
-   ::airavata::api::error::AiravataSystemException ase;
-
-  _Airavata_terminateExperiment_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-class AiravataClient : virtual public AiravataIf {
- public:
-  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) :
-    piprot_(prot),
-    poprot_(prot) {
-    iprot_ = prot.get();
-    oprot_ = prot.get();
-  }
-  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) :
-    piprot_(iprot),
-    poprot_(oprot) {
-    iprot_ = iprot.get();
-    oprot_ = oprot.get();
-  }
-  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getInputProtocol() {
-    return piprot_;
-  }
-  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getOutputProtocol() {
-    return poprot_;
-  }
-  void GetAPIVersion(std::string& _return);
-  void send_GetAPIVersion();
-  void recv_GetAPIVersion(std::string& _return);
-  void createProject(std::string& _return, const  ::Project& project, const std::string& userName);
-  void send_createProject(const  ::Project& project, const std::string& userName);
-  void recv_createProject(std::string& _return);
-  void updateProject(const  ::Project& project);
-  void send_updateProject(const  ::Project& project);
-  void recv_updateProject();
-  void getProject( ::Project& _return, const std::string& projectId);
-  void send_getProject(const std::string& projectId);
-  void recv_getProject( ::Project& _return);
-  void getAllUserProjects(std::vector< ::Project> & _return, const std::string& userName);
-  void send_getAllUserProjects(const std::string& userName);
-  void recv_getAllUserProjects(std::vector< ::Project> & _return);
-  void getAllExperimentsInProject(std::vector< ::Experiment> & _return, const std::string& projectId);
-  void send_getAllExperimentsInProject(const std::string& projectId);
-  void recv_getAllExperimentsInProject(std::vector< ::Experiment> & _return);
-  void getAllUserExperiments(std::vector< ::Experiment> & _return, const std::string& userName);
-  void send_getAllUserExperiments(const std::string& userName);
-  void recv_getAllUserExperiments(std::vector< ::Experiment> & _return);
-  void createExperiment(std::string& _return, const  ::Experiment& experiment);
-  void send_createExperiment(const  ::Experiment& experiment);
-  void recv_createExperiment(std::string& _return);
-  void getExperiment( ::Experiment& _return, const std::string& airavataExperimentId);
-  void send_getExperiment(const std::string& airavataExperimentId);
-  void recv_getExperiment( ::Experiment& _return);
-  void updateExperiment(const std::string& airavataExperimentId, const  ::Experiment& experiment);
-  void send_updateExperiment(const std::string& airavataExperimentId, const  ::Experiment& experiment);
-  void recv_updateExperiment();
-  void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::UserConfigurationData& userConfiguration);
-  void send_updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::UserConfigurationData& userConfiguration);
-  void recv_updateExperimentConfiguration();
-  void updateResourceScheduleing(const std::string& airavataExperimentId, const  ::ComputationalResourceScheduling& resourceScheduling);
-  void send_updateResourceScheduleing(const std::string& airavataExperimentId, const  ::ComputationalResourceScheduling& resourceScheduling);
-  void recv_updateResourceScheduleing();
-  void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken);
-  void send_launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken);
-  void recv_launchExperiment();
-  void getExperimentStatus( ::ExperimentStatus& _return, const std::string& airavataExperimentId);
-  void send_getExperimentStatus(const std::string& airavataExperimentId);
-  void recv_getExperimentStatus( ::ExperimentStatus& _return);
-  void getExperimentOutputs(std::vector< ::DataObjectType> & _return, const std::string& airavataExperimentId);
-  void send_getExperimentOutputs(const std::string& airavataExperimentId);
-  void recv_getExperimentOutputs(std::vector< ::DataObjectType> & _return);
-  void getJobStatuses(std::map<std::string,  ::JobStatus> & _return, const std::string& airavataExperimentId);
-  void send_getJobStatuses(const std::string& airavataExperimentId);
-  void recv_getJobStatuses(std::map<std::string,  ::JobStatus> & _return);
-  void cloneExperiment(std::string& _return, const std::string& airavataExperimentIdToBeCloned, const  ::Experiment& updatedExperiment);
-  void send_cloneExperiment(const std::string& airavataExperimentIdToBeCloned, const  ::Experiment& updatedExperiment);
-  void recv_cloneExperiment(std::string& _return);
-  void terminateExperiment(const std::string& airavataExperimentId);
-  void send_terminateExperiment(const std::string& airavataExperimentId);
-  void recv_terminateExperiment();
- protected:
-  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
-  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;
-  ::apache::thrift::protocol::TProtocol* iprot_;
-  ::apache::thrift::protocol::TProtocol* oprot_;
-};
-
-class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
- protected:
-  boost::shared_ptr<AiravataIf> iface_;
-  virtual bool dispatchCall(::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, const std::string& fname, int32_t seqid, void* callContext);
- private:
-  typedef  void (AiravataProcessor::*ProcessFunction)(int32_t, ::apache::thrift::protocol::TProtocol*, ::apache::thrift::protocol::TProtocol*, void*);
-  typedef std::map<std::string, ProcessFunction> ProcessMap;
-  ProcessMap processMap_;
-  void process_GetAPIVersion(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_createProject(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_updateProject(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_getProject(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_getAllUserProjects(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_getAllExperimentsInProject(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_getAllUserExperiments(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_createExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_getExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_updateExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_updateExperimentConfiguration(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_updateResourceScheduleing(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_launchExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_getExperimentStatus(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_getExperimentOutputs(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_getJobStatuses(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_cloneExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_terminateExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
- public:
-  AiravataProcessor(boost::shared_ptr<AiravataIf> iface) :
-    iface_(iface) {
-    processMap_["GetAPIVersion"] = &AiravataProcessor::process_GetAPIVersion;
-    processMap_["createProject"] = &AiravataProcessor::process_createProject;
-    processMap_["updateProject"] = &AiravataProcessor::process_updateProject;
-    processMap_["getProject"] = &AiravataProcessor::process_getProject;
-    processMap_["getAllUserProjects"] = &AiravataProcessor::process_getAllUserProjects;
-    processMap_["getAllExperimentsInProject"] = &AiravataProcessor::process_getAllExperimentsInProject;
-    processMap_["getAllUserExperiments"] = &AiravataProcessor::process_getAllUserExperiments;
-    processMap_["createExperiment"] = &AiravataProcessor::process_createExperiment;
-    processMap_["getExperiment"] = &AiravataProcessor::process_getExperiment;
-    processMap_["updateExperiment"] = &AiravataProcessor::process_updateExperiment;
-    processMap_["updateExperimentConfiguration"] = &AiravataProcessor::process_updateExperimentConfiguration;
-    processMap_["updateResourceScheduleing"] = &AiravataProcessor::process_updateResourceScheduleing;
-    processMap_["launchExperiment"] = &AiravataProcessor::process_launchExperiment;
-    processMap_["getExperimentStatus"] = &AiravataProcessor::process_getExperimentStatus;
-    processMap_["getExperimentOutputs"] = &AiravataProcessor::process_getExperimentOutputs;
-    processMap_["getJobStatuses"] = &AiravataProcessor::process_getJobStatuses;
-    processMap_["cloneExperiment"] = &AiravataProcessor::process_cloneExperiment;
-    processMap_["terminateExperiment"] = &AiravataProcessor::process_terminateExperiment;
-  }
-
-  virtual ~AiravataProcessor() {}
-};
-
-class AiravataProcessorFactory : public ::apache::thrift::TProcessorFactory {
- public:
-  AiravataProcessorFactory(const ::boost::shared_ptr< AiravataIfFactory >& handlerFactory) :
-      handlerFactory_(handlerFactory) {}
-
-  ::boost::shared_ptr< ::apache::thrift::TProcessor > getProcessor(const ::apache::thrift::TConnectionInfo& connInfo);
-
- protected:
-  ::boost::shared_ptr< AiravataIfFactory > handlerFactory_;
-};
-
-class AiravataMultiface : virtual public AiravataIf {
- public:
-  AiravataMultiface(std::vector<boost::shared_ptr<AiravataIf> >& ifaces) : ifaces_(ifaces) {
-  }
-  virtual ~AiravataMultiface() {}
- protected:
-  std::vector<boost::shared_ptr<AiravataIf> > ifaces_;
-  AiravataMultiface() {}
-  void add(boost::shared_ptr<AiravataIf> iface) {
-    ifaces_.push_back(iface);
-  }
- public:
-  void GetAPIVersion(std::string& _return) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->GetAPIVersion(_return);
-    }
-    ifaces_[i]->GetAPIVersion(_return);
-    return;
-  }
-
-  void createProject(std::string& _return, const  ::Project& project, const std::string& userName) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->createProject(_return, project, userName);
-    }
-    ifaces_[i]->createProject(_return, project, userName);
-    return;
-  }
-
-  void updateProject(const  ::Project& project) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->updateProject(project);
-    }
-    ifaces_[i]->updateProject(project);
-  }
-
-  void getProject( ::Project& _return, 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, projectId);
-    return;
-  }
-
-  void getAllUserProjects(std::vector< ::Project> & _return, const std::string& userName) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllUserProjects(_return, userName);
-    }
-    ifaces_[i]->getAllUserProjects(_return, userName);
-    return;
-  }
-
-  void getAllExperimentsInProject(std::vector< ::Experiment> & _return, const std::string& projectId) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllExperimentsInProject(_return, projectId);
-    }
-    ifaces_[i]->getAllExperimentsInProject(_return, projectId);
-    return;
-  }
-
-  void getAllUserExperiments(std::vector< ::Experiment> & _return, const std::string& userName) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getAllUserExperiments(_return, userName);
-    }
-    ifaces_[i]->getAllUserExperiments(_return, userName);
-    return;
-  }
-
-  void createExperiment(std::string& _return, const  ::Experiment& experiment) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->createExperiment(_return, experiment);
-    }
-    ifaces_[i]->createExperiment(_return, experiment);
-    return;
-  }
-
-  void getExperiment( ::Experiment& _return, const std::string& airavataExperimentId) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getExperiment(_return, airavataExperimentId);
-    }
-    ifaces_[i]->getExperiment(_return, airavataExperimentId);
-    return;
-  }
-
-  void updateExperiment(const std::string& airavataExperimentId, const  ::Experiment& experiment) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->updateExperiment(airavataExperimentId, experiment);
-    }
-    ifaces_[i]->updateExperiment(airavataExperimentId, experiment);
-  }
-
-  void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::UserConfigurationData& userConfiguration) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->updateExperimentConfiguration(airavataExperimentId, userConfiguration);
-    }
-    ifaces_[i]->updateExperimentConfiguration(airavataExperimentId, userConfiguration);
-  }
-
-  void updateResourceScheduleing(const std::string& airavataExperimentId, const  ::ComputationalResourceScheduling& resourceScheduling) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->updateResourceScheduleing(airavataExperimentId, resourceScheduling);
-    }
-    ifaces_[i]->updateResourceScheduleing(airavataExperimentId, resourceScheduling);
-  }
-
-  void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->launchExperiment(airavataExperimentId, airavataCredStoreToken);
-    }
-    ifaces_[i]->launchExperiment(airavataExperimentId, airavataCredStoreToken);
-  }
-
-  void getExperimentStatus( ::ExperimentStatus& _return, const std::string& airavataExperimentId) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getExperimentStatus(_return, airavataExperimentId);
-    }
-    ifaces_[i]->getExperimentStatus(_return, airavataExperimentId);
-    return;
-  }
-
-  void getExperimentOutputs(std::vector< ::DataObjectType> & _return, const std::string& airavataExperimentId) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getExperimentOutputs(_return, airavataExperimentId);
-    }
-    ifaces_[i]->getExperimentOutputs(_return, airavataExperimentId);
-    return;
-  }
-
-  void getJobStatuses(std::map<std::string,  ::JobStatus> & _return, const std::string& airavataExperimentId) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getJobStatuses(_return, airavataExperimentId);
-    }
-    ifaces_[i]->getJobStatuses(_return, airavataExperimentId);
-    return;
-  }
-
-  void cloneExperiment(std::string& _return, const std::string& airavataExperimentIdToBeCloned, const  ::Experiment& updatedExperiment) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->cloneExperiment(_return, airavataExperimentIdToBeCloned, updatedExperiment);
-    }
-    ifaces_[i]->cloneExperiment(_return, airavataExperimentIdToBeCloned, updatedExperiment);
-    return;
-  }
-
-  void terminateExperiment(const std::string& airavataExperimentId) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->terminateExperiment(airavataExperimentId);
-    }
-    ifaces_[i]->terminateExperiment(airavataExperimentId);
-  }
-
-};
-
-}} // namespace
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata_server.skeleton.cpp
deleted file mode 100644
index ed071e6..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata_server.skeleton.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-// This autogenerated skeleton file illustrates how to build a server.
-// You should copy it to another filename to avoid overwriting it.
-
-#include "Airavata.h"
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/server/TSimpleServer.h>
-#include <thrift/transport/TServerSocket.h>
-#include <thrift/transport/TBufferTransports.h>
-
-using namespace ::apache::thrift;
-using namespace ::apache::thrift::protocol;
-using namespace ::apache::thrift::transport;
-using namespace ::apache::thrift::server;
-
-using boost::shared_ptr;
-
-using namespace  ::airavata::api;
-
-class AiravataHandler : virtual public AiravataIf {
- public:
-  AiravataHandler() {
-    // Your initialization goes here
-  }
-
-  void GetAPIVersion(std::string& _return) {
-    // Your implementation goes here
-    printf("GetAPIVersion\n");
-  }
-
-  void createProject(std::string& _return, const  ::Project& project, const std::string& userName) {
-    // Your implementation goes here
-    printf("createProject\n");
-  }
-
-  void updateProject(const  ::Project& project) {
-    // Your implementation goes here
-    printf("updateProject\n");
-  }
-
-  void getProject( ::Project& _return, const std::string& projectId) {
-    // Your implementation goes here
-    printf("getProject\n");
-  }
-
-  void getAllUserProjects(std::vector< ::Project> & _return, const std::string& userName) {
-    // Your implementation goes here
-    printf("getAllUserProjects\n");
-  }
-
-  void getAllExperimentsInProject(std::vector< ::Experiment> & _return, const std::string& projectId) {
-    // Your implementation goes here
-    printf("getAllExperimentsInProject\n");
-  }
-
-  void getAllUserExperiments(std::vector< ::Experiment> & _return, const std::string& userName) {
-    // Your implementation goes here
-    printf("getAllUserExperiments\n");
-  }
-
-  void createExperiment(std::string& _return, const  ::Experiment& experiment) {
-    // Your implementation goes here
-    printf("createExperiment\n");
-  }
-
-  void getExperiment( ::Experiment& _return, const std::string& airavataExperimentId) {
-    // Your implementation goes here
-    printf("getExperiment\n");
-  }
-
-  void updateExperiment(const std::string& airavataExperimentId, const  ::Experiment& experiment) {
-    // Your implementation goes here
-    printf("updateExperiment\n");
-  }
-
-  void updateExperimentConfiguration(const std::string& airavataExperimentId, const  ::UserConfigurationData& userConfiguration) {
-    // Your implementation goes here
-    printf("updateExperimentConfiguration\n");
-  }
-
-  void updateResourceScheduleing(const std::string& airavataExperimentId, const  ::ComputationalResourceScheduling& resourceScheduling) {
-    // Your implementation goes here
-    printf("updateResourceScheduleing\n");
-  }
-
-  void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) {
-    // Your implementation goes here
-    printf("launchExperiment\n");
-  }
-
-  void getExperimentStatus( ::ExperimentStatus& _return, const std::string& airavataExperimentId) {
-    // Your implementation goes here
-    printf("getExperimentStatus\n");
-  }
-
-  void getExperimentOutputs(std::vector< ::DataObjectType> & _return, const std::string& airavataExperimentId) {
-    // Your implementation goes here
-    printf("getExperimentOutputs\n");
-  }
-
-  void getJobStatuses(std::map<std::string,  ::JobStatus> & _return, const std::string& airavataExperimentId) {
-    // Your implementation goes here
-    printf("getJobStatuses\n");
-  }
-
-  void cloneExperiment(std::string& _return, const std::string& airavataExperimentIdToBeCloned, const  ::Experiment& updatedExperiment) {
-    // Your implementation goes here
-    printf("cloneExperiment\n");
-  }
-
-  void terminateExperiment(const std::string& airavataExperimentId) {
-    // Your implementation goes here
-    printf("terminateExperiment\n");
-  }
-
-};
-
-int main(int argc, char **argv) {
-  int port = 9090;
-  shared_ptr<AiravataHandler> handler(new AiravataHandler());
-  shared_ptr<TProcessor> processor(new AiravataProcessor(handler));
-  shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
-  shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
-  shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
-
-  TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
-  server.serve();
-  return 0;
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_constants.cpp
deleted file mode 100644
index 4f61277..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "airavataAPI_constants.h"
-
-namespace airavata { namespace api {
-
-const airavataAPIConstants g_airavataAPI_constants;
-
-airavataAPIConstants::airavataAPIConstants() {
-  AIRAVATA_API_VERSION = "0.12.0";
-
-}
-
-}} // namespace
-


[17/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp
new file mode 100644
index 0000000..9fc4be0
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp
@@ -0,0 +1,2867 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "experimentModel_types.h"
+
+#include <algorithm>
+
+
+
+int _kExperimentStateValues[] = {
+  ExperimentState::CREATED,
+  ExperimentState::VALIDATED,
+  ExperimentState::SCHEDULED,
+  ExperimentState::LAUNCHED,
+  ExperimentState::EXECUTING,
+  ExperimentState::CANCELED,
+  ExperimentState::COMPLETED,
+  ExperimentState::FAILED,
+  ExperimentState::UNKNOWN
+};
+const char* _kExperimentStateNames[] = {
+  "CREATED",
+  "VALIDATED",
+  "SCHEDULED",
+  "LAUNCHED",
+  "EXECUTING",
+  "CANCELED",
+  "COMPLETED",
+  "FAILED",
+  "UNKNOWN"
+};
+const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(9, _kExperimentStateValues, _kExperimentStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kWorkflowNodeStateValues[] = {
+  WorkflowNodeState::INVOKED,
+  WorkflowNodeState::EXECUTING,
+  WorkflowNodeState::CANCELED,
+  WorkflowNodeState::COMPLETED,
+  WorkflowNodeState::FAILED,
+  WorkflowNodeState::UNKNOWN
+};
+const char* _kWorkflowNodeStateNames[] = {
+  "INVOKED",
+  "EXECUTING",
+  "CANCELED",
+  "COMPLETED",
+  "FAILED",
+  "UNKNOWN"
+};
+const std::map<int, const char*> _WorkflowNodeState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(6, _kWorkflowNodeStateValues, _kWorkflowNodeStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kTaskStateValues[] = {
+  TaskState::WAITING,
+  TaskState::STARTED,
+  TaskState::PRE_PROCESSING,
+  TaskState::CONFIGURING_WORKSPACE,
+  TaskState::INPUT_DATA_STAGING,
+  TaskState::OUTPUT_DATA_STAGING,
+  TaskState::POST_PROCESSING,
+  TaskState::EXECUTING,
+  TaskState::CANCELED,
+  TaskState::COMPLETED,
+  TaskState::FAILED,
+  TaskState::UNKNOWN
+};
+const char* _kTaskStateNames[] = {
+  "WAITING",
+  "STARTED",
+  "PRE_PROCESSING",
+  "CONFIGURING_WORKSPACE",
+  "INPUT_DATA_STAGING",
+  "OUTPUT_DATA_STAGING",
+  "POST_PROCESSING",
+  "EXECUTING",
+  "CANCELED",
+  "COMPLETED",
+  "FAILED",
+  "UNKNOWN"
+};
+const std::map<int, const char*> _TaskState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(12, _kTaskStateValues, _kTaskStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kJobStateValues[] = {
+  JobState::SUBMITTED,
+  JobState::UN_SUBMITTED,
+  JobState::SETUP,
+  JobState::QUEUED,
+  JobState::ACTIVE,
+  JobState::COMPLETE,
+  JobState::CANCELED,
+  JobState::FAILED,
+  JobState::HELD,
+  JobState::SUSPENDED,
+  JobState::UNKNOWN
+};
+const char* _kJobStateNames[] = {
+  "SUBMITTED",
+  "UN_SUBMITTED",
+  "SETUP",
+  "QUEUED",
+  "ACTIVE",
+  "COMPLETE",
+  "CANCELED",
+  "FAILED",
+  "HELD",
+  "SUSPENDED",
+  "UNKNOWN"
+};
+const std::map<int, const char*> _JobState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(11, _kJobStateValues, _kJobStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kTransferStateValues[] = {
+  TransferState::DIRECTORY_SETUP,
+  TransferState::UPLOAD,
+  TransferState::DOWNLOAD,
+  TransferState::ACTIVE,
+  TransferState::COMPLETE,
+  TransferState::STDOUT_DOWNLOAD,
+  TransferState::STDERROR_DOWNLOAD,
+  TransferState::CANCELED,
+  TransferState::FAILED,
+  TransferState::HELD,
+  TransferState::SUSPENDED,
+  TransferState::UNKNOWN
+};
+const char* _kTransferStateNames[] = {
+  "DIRECTORY_SETUP",
+  "UPLOAD",
+  "DOWNLOAD",
+  "ACTIVE",
+  "COMPLETE",
+  "STDOUT_DOWNLOAD",
+  "STDERROR_DOWNLOAD",
+  "CANCELED",
+  "FAILED",
+  "HELD",
+  "SUSPENDED",
+  "UNKNOWN"
+};
+const std::map<int, const char*> _TransferState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(12, _kTransferStateValues, _kTransferStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kActionableGroupValues[] = {
+  ActionableGroup::RESOURCE_ADMINS,
+  ActionableGroup::AIRAVATA_ADMINS,
+  ActionableGroup::GATEWAYS_ADMINS,
+  ActionableGroup::USER,
+  ActionableGroup::CANNOT_BE_DETERMINED
+};
+const char* _kActionableGroupNames[] = {
+  "RESOURCE_ADMINS",
+  "AIRAVATA_ADMINS",
+  "GATEWAYS_ADMINS",
+  "USER",
+  "CANNOT_BE_DETERMINED"
+};
+const std::map<int, const char*> _ActionableGroup_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kActionableGroupValues, _kActionableGroupNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kErrorCategoryValues[] = {
+  ErrorCategory::FILE_SYSTEM_FAILURE,
+  ErrorCategory::APPLICATION_FAILURE,
+  ErrorCategory::RESOURCE_NODE_FAILURE,
+  ErrorCategory::DISK_FULL,
+  ErrorCategory::INSUFFICIENT_ALLOCATION,
+  ErrorCategory::SYSTEM_MAINTENANCE,
+  ErrorCategory::AIRAVATA_INTERNAL_ERROR,
+  ErrorCategory::CANNOT_BE_DETERMINED
+};
+const char* _kErrorCategoryNames[] = {
+  "FILE_SYSTEM_FAILURE",
+  "APPLICATION_FAILURE",
+  "RESOURCE_NODE_FAILURE",
+  "DISK_FULL",
+  "INSUFFICIENT_ALLOCATION",
+  "SYSTEM_MAINTENANCE",
+  "AIRAVATA_INTERNAL_ERROR",
+  "CANNOT_BE_DETERMINED"
+};
+const std::map<int, const char*> _ErrorCategory_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kErrorCategoryValues, _kErrorCategoryNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kCorrectiveActionValues[] = {
+  CorrectiveAction::RETRY_SUBMISSION,
+  CorrectiveAction::CONTACT_SUPPORT,
+  CorrectiveAction::CANNOT_BE_DETERMINED
+};
+const char* _kCorrectiveActionNames[] = {
+  "RETRY_SUBMISSION",
+  "CONTACT_SUPPORT",
+  "CANNOT_BE_DETERMINED"
+};
+const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kCorrectiveActionValues, _kCorrectiveActionNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+const char* ExperimentStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t ExperimentStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+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_experimentState = 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->experimentState = (ExperimentState::type)ecast0;
+          isset_experimentState = 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;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_experimentState)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("ExperimentStatus");
+
+  xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->experimentState);
+  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();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(ExperimentStatus &a, ExperimentStatus &b) {
+  using ::std::swap;
+  swap(a.experimentState, b.experimentState);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.__isset, b.__isset);
+}
+
+const char* WorkflowNodeStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t WorkflowNodeStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t WorkflowNodeStatus::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_workflowNodeState = 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 ecast1;
+          xfer += iprot->readI32(ecast1);
+          this->workflowNodeState = (WorkflowNodeState::type)ecast1;
+          isset_workflowNodeState = 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;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_workflowNodeState)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t WorkflowNodeStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("WorkflowNodeStatus");
+
+  xfer += oprot->writeFieldBegin("workflowNodeState", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->workflowNodeState);
+  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();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(WorkflowNodeStatus &a, WorkflowNodeStatus &b) {
+  using ::std::swap;
+  swap(a.workflowNodeState, b.workflowNodeState);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.__isset, b.__isset);
+}
+
+const char* TaskStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t TaskStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+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_executionState = 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 ecast2;
+          xfer += iprot->readI32(ecast2);
+          this->executionState = (TaskState::type)ecast2;
+          isset_executionState = 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;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_executionState)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TaskStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("TaskStatus");
+
+  xfer += oprot->writeFieldBegin("executionState", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->executionState);
+  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();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(TaskStatus &a, TaskStatus &b) {
+  using ::std::swap;
+  swap(a.executionState, b.executionState);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.__isset, b.__isset);
+}
+
+const char* JobStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t JobStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+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 ecast3;
+          xfer += iprot->readI32(ecast3);
+          this->jobState = (JobState::type)ecast3;
+          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;
+      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;
+  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();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(JobStatus &a, JobStatus &b) {
+  using ::std::swap;
+  swap(a.jobState, b.jobState);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.__isset, b.__isset);
+}
+
+const char* TransferStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t TransferStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t TransferStatus::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_transferState = 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 ecast4;
+          xfer += iprot->readI32(ecast4);
+          this->transferState = (TransferState::type)ecast4;
+          isset_transferState = 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;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_transferState)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TransferStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("TransferStatus");
+
+  xfer += oprot->writeFieldBegin("transferState", ::apache::thrift::protocol::T_I32, 1);
+  xfer += oprot->writeI32((int32_t)this->transferState);
+  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();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(TransferStatus &a, TransferStatus &b) {
+  using ::std::swap;
+  swap(a.transferState, b.transferState);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.__isset, b.__isset);
+}
+
+const char* ApplicationStatus::ascii_fingerprint = "E17E126D15049701494262EE3246F603";
+const uint8_t ApplicationStatus::binary_fingerprint[16] = {0xE1,0x7E,0x12,0x6D,0x15,0x04,0x97,0x01,0x49,0x42,0x62,0xEE,0x32,0x46,0xF6,0x03};
+
+uint32_t ApplicationStatus::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_applicationState = 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->applicationState);
+          isset_applicationState = 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;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_applicationState)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ApplicationStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("ApplicationStatus");
+
+  xfer += oprot->writeFieldBegin("applicationState", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->applicationState);
+  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();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(ApplicationStatus &a, ApplicationStatus &b) {
+  using ::std::swap;
+  swap(a.applicationState, b.applicationState);
+  swap(a.timeOfStateChange, b.timeOfStateChange);
+  swap(a.__isset, b.__isset);
+}
+
+const char* DataObjectType::ascii_fingerprint = "6BA700CA2E5FC52A8DA5ADCF811DC8DA";
+const uint8_t DataObjectType::binary_fingerprint[16] = {0x6B,0xA7,0x00,0xCA,0x2E,0x5F,0xC5,0x2A,0x8D,0xA5,0xAD,0xCF,0x81,0x1D,0xC8,0xDA};
+
+uint32_t DataObjectType::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_key = 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->key);
+          isset_key = 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_STRING) {
+          xfer += iprot->readString(this->type);
+          this->__isset.type = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->metaData);
+          this->__isset.metaData = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_key)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t DataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("DataObjectType");
+
+  xfer += oprot->writeFieldBegin("key", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->key);
+  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_STRING, 3);
+    xfer += oprot->writeString(this->type);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.metaData) {
+    xfer += oprot->writeFieldBegin("metaData", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->metaData);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(DataObjectType &a, DataObjectType &b) {
+  using ::std::swap;
+  swap(a.key, b.key);
+  swap(a.value, b.value);
+  swap(a.type, b.type);
+  swap(a.metaData, b.metaData);
+  swap(a.__isset, b.__isset);
+}
+
+const char* ComputationalResourceScheduling::ascii_fingerprint = "32AC7AC41AD3753A7224A32FD6EB4B5D";
+const uint8_t ComputationalResourceScheduling::binary_fingerprint[16] = {0x32,0xAC,0x7A,0xC4,0x1A,0xD3,0x75,0x3A,0x72,0x24,0xA3,0x2F,0xD6,0xEB,0x4B,0x5D};
+
+uint32_t ComputationalResourceScheduling::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->jobStartTime);
+          this->__isset.jobStartTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->totalPhysicalMemory);
+          this->__isset.totalPhysicalMemory = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->ComputationalProjectAccount);
+          this->__isset.ComputationalProjectAccount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t ComputationalResourceScheduling::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("ComputationalResourceScheduling");
+
+  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.jobStartTime) {
+    xfer += oprot->writeFieldBegin("jobStartTime", ::apache::thrift::protocol::T_I32, 7);
+    xfer += oprot->writeI32(this->jobStartTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.totalPhysicalMemory) {
+    xfer += oprot->writeFieldBegin("totalPhysicalMemory", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeI32(this->totalPhysicalMemory);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.ComputationalProjectAccount) {
+    xfer += oprot->writeFieldBegin("ComputationalProjectAccount", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeString(this->ComputationalProjectAccount);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(ComputationalResourceScheduling &a, ComputationalResourceScheduling &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.jobStartTime, b.jobStartTime);
+  swap(a.totalPhysicalMemory, b.totalPhysicalMemory);
+  swap(a.ComputationalProjectAccount, b.ComputationalProjectAccount);
+  swap(a.__isset, b.__isset);
+}
+
+const char* AdvancedInputDataHandling::ascii_fingerprint = "6139039875942E8B25C483838DD664B7";
+const uint8_t AdvancedInputDataHandling::binary_fingerprint[16] = {0x61,0x39,0x03,0x98,0x75,0x94,0x2E,0x8B,0x25,0xC4,0x83,0x83,0x8D,0xD6,0x64,0xB7};
+
+uint32_t AdvancedInputDataHandling::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_BOOL) {
+          xfer += iprot->readBool(this->stageInputFilesToWorkingDir);
+          this->__isset.stageInputFilesToWorkingDir = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->parentWorkingDirectory);
+          this->__isset.parentWorkingDirectory = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->uniqueWorkingDirectory);
+          this->__isset.uniqueWorkingDirectory = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->cleanUpWorkingDirAfterJob);
+          this->__isset.cleanUpWorkingDirAfterJob = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t AdvancedInputDataHandling::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("AdvancedInputDataHandling");
+
+  if (this->__isset.stageInputFilesToWorkingDir) {
+    xfer += oprot->writeFieldBegin("stageInputFilesToWorkingDir", ::apache::thrift::protocol::T_BOOL, 1);
+    xfer += oprot->writeBool(this->stageInputFilesToWorkingDir);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.parentWorkingDirectory) {
+    xfer += oprot->writeFieldBegin("parentWorkingDirectory", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->parentWorkingDirectory);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.uniqueWorkingDirectory) {
+    xfer += oprot->writeFieldBegin("uniqueWorkingDirectory", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->uniqueWorkingDirectory);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.cleanUpWorkingDirAfterJob) {
+    xfer += oprot->writeFieldBegin("cleanUpWorkingDirAfterJob", ::apache::thrift::protocol::T_BOOL, 4);
+    xfer += oprot->writeBool(this->cleanUpWorkingDirAfterJob);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(AdvancedInputDataHandling &a, AdvancedInputDataHandling &b) {
+  using ::std::swap;
+  swap(a.stageInputFilesToWorkingDir, b.stageInputFilesToWorkingDir);
+  swap(a.parentWorkingDirectory, b.parentWorkingDirectory);
+  swap(a.uniqueWorkingDirectory, b.uniqueWorkingDirectory);
+  swap(a.cleanUpWorkingDirAfterJob, b.cleanUpWorkingDirAfterJob);
+  swap(a.__isset, b.__isset);
+}
+
+const char* AdvancedOutputDataHandling::ascii_fingerprint = "6EC898D3B5ECFF21200795BD22F73CD2";
+const uint8_t AdvancedOutputDataHandling::binary_fingerprint[16] = {0x6E,0xC8,0x98,0xD3,0xB5,0xEC,0xFF,0x21,0x20,0x07,0x95,0xBD,0x22,0xF7,0x3C,0xD2};
+
+uint32_t AdvancedOutputDataHandling::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 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->outputDataDir);
+          this->__isset.outputDataDir = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->dataRegistryURL);
+          this->__isset.dataRegistryURL = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->persistOutputData);
+          this->__isset.persistOutputData = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t AdvancedOutputDataHandling::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("AdvancedOutputDataHandling");
+
+  if (this->__isset.outputDataDir) {
+    xfer += oprot->writeFieldBegin("outputDataDir", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->outputDataDir);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.dataRegistryURL) {
+    xfer += oprot->writeFieldBegin("dataRegistryURL", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->dataRegistryURL);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.persistOutputData) {
+    xfer += oprot->writeFieldBegin("persistOutputData", ::apache::thrift::protocol::T_BOOL, 4);
+    xfer += oprot->writeBool(this->persistOutputData);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(AdvancedOutputDataHandling &a, AdvancedOutputDataHandling &b) {
+  using ::std::swap;
+  swap(a.outputDataDir, b.outputDataDir);
+  swap(a.dataRegistryURL, b.dataRegistryURL);
+  swap(a.persistOutputData, b.persistOutputData);
+  swap(a.__isset, b.__isset);
+}
+
+const char* QualityOfServiceParams::ascii_fingerprint = "35985D966603A273E8D7132543B44873";
+const uint8_t QualityOfServiceParams::binary_fingerprint[16] = {0x35,0x98,0x5D,0x96,0x66,0x03,0xA2,0x73,0xE8,0xD7,0x13,0x25,0x43,0xB4,0x48,0x73};
+
+uint32_t QualityOfServiceParams::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->startExecutionAt);
+          this->__isset.startExecutionAt = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->executeBefore);
+          this->__isset.executeBefore = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->numberofRetries);
+          this->__isset.numberofRetries = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t QualityOfServiceParams::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("QualityOfServiceParams");
+
+  if (this->__isset.startExecutionAt) {
+    xfer += oprot->writeFieldBegin("startExecutionAt", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeString(this->startExecutionAt);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.executeBefore) {
+    xfer += oprot->writeFieldBegin("executeBefore", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->executeBefore);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.numberofRetries) {
+    xfer += oprot->writeFieldBegin("numberofRetries", ::apache::thrift::protocol::T_I32, 3);
+    xfer += oprot->writeI32(this->numberofRetries);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(QualityOfServiceParams &a, QualityOfServiceParams &b) {
+  using ::std::swap;
+  swap(a.startExecutionAt, b.startExecutionAt);
+  swap(a.executeBefore, b.executeBefore);
+  swap(a.numberofRetries, b.numberofRetries);
+  swap(a.__isset, b.__isset);
+}
+
+const char* UserConfigurationData::ascii_fingerprint = "889486266D7ADC041ED1C586A2468611";
+const uint8_t UserConfigurationData::binary_fingerprint[16] = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
+
+uint32_t UserConfigurationData::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_STRUCT) {
+          xfer += this->advanceInputDataHandling.read(iprot);
+          this->__isset.advanceInputDataHandling = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->advanceOutputDataHandling.read(iprot);
+          this->__isset.advanceOutputDataHandling = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->qosParams.read(iprot);
+          this->__isset.qosParams = 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 UserConfigurationData::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("UserConfigurationData");
+
+  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.advanceInputDataHandling) {
+    xfer += oprot->writeFieldBegin("advanceInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 5);
+    xfer += this->advanceInputDataHandling.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.advanceOutputDataHandling) {
+    xfer += oprot->writeFieldBegin("advanceOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 6);
+    xfer += this->advanceOutputDataHandling.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.qosParams) {
+    xfer += oprot->writeFieldBegin("qosParams", ::apache::thrift::protocol::T_STRUCT, 7);
+    xfer += this->qosParams.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(UserConfigurationData &a, UserConfigurationData &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.advanceInputDataHandling, b.advanceInputDataHandling);
+  swap(a.advanceOutputDataHandling, b.advanceOutputDataHandling);
+  swap(a.qosParams, b.qosParams);
+  swap(a.__isset, b.__isset);
+}
+
+const char* ErrorDetails::ascii_fingerprint = "170CA6E79EB283F31417B9D68071DA33";
+const uint8_t ErrorDetails::binary_fingerprint[16] = {0x17,0x0C,0xA6,0xE7,0x9E,0xB2,0x83,0xF3,0x14,0x17,0xB9,0xD6,0x80,0x71,0xDA,0x33};
+
+uint32_t ErrorDetails::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_I32) {
+          int32_t ecast5;
+          xfer += iprot->readI32(ecast5);
+          this->errorCategory = (ErrorCategory::type)ecast5;
+          this->__isset.errorCategory = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_BOOL) {
+          xfer += iprot->readBool(this->transientOrPersistent);
+          this->__isset.transientOrPersistent = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast6;
+          xfer += iprot->readI32(ecast6);
+          this->correctiveAction = (CorrectiveAction::type)ecast6;
+          this->__isset.correctiveAction = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast7;
+          xfer += iprot->readI32(ecast7);
+          this->actionableGroup = (ActionableGroup::type)ecast7;
+          this->__isset.actionableGroup = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->rootCauseErrorIdList.clear();
+            uint32_t _size8;
+            ::apache::thrift::protocol::TType _etype11;
+            xfer += iprot->readListBegin(_etype11, _size8);
+            this->rootCauseErrorIdList.resize(_size8);
+            uint32_t _i12;
+            for (_i12 = 0; _i12 < _size8; ++_i12)
+            {
+              xfer += iprot->readString(this->rootCauseErrorIdList[_i12]);
+            }
+            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 ErrorDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("ErrorDetails");
+
+  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.errorCategory) {
+    xfer += oprot->writeFieldBegin("errorCategory", ::apache::thrift::protocol::T_I32, 5);
+    xfer += oprot->writeI32((int32_t)this->errorCategory);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.transientOrPersistent) {
+    xfer += oprot->writeFieldBegin("transientOrPersistent", ::apache::thrift::protocol::T_BOOL, 6);
+    xfer += oprot->writeBool(this->transientOrPersistent);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.correctiveAction) {
+    xfer += oprot->writeFieldBegin("correctiveAction", ::apache::thrift::protocol::T_I32, 7);
+    xfer += oprot->writeI32((int32_t)this->correctiveAction);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.actionableGroup) {
+    xfer += oprot->writeFieldBegin("actionableGroup", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeI32((int32_t)this->actionableGroup);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.rootCauseErrorIdList) {
+    xfer += oprot->writeFieldBegin("rootCauseErrorIdList", ::apache::thrift::protocol::T_LIST, 9);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->rootCauseErrorIdList.size()));
+      std::vector<std::string> ::const_iterator _iter13;
+      for (_iter13 = this->rootCauseErrorIdList.begin(); _iter13 != this->rootCauseErrorIdList.end(); ++_iter13)
+      {
+        xfer += oprot->writeString((*_iter13));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(ErrorDetails &a, ErrorDetails &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.errorCategory, b.errorCategory);
+  swap(a.transientOrPersistent, b.transientOrPersistent);
+  swap(a.correctiveAction, b.correctiveAction);
+  swap(a.actionableGroup, b.actionableGroup);
+  swap(a.rootCauseErrorIdList, b.rootCauseErrorIdList);
+  swap(a.__isset, b.__isset);
+}
+
+const char* JobDetails::ascii_fingerprint = "5946807521C11BC65075D497F8568057";
+const uint8_t JobDetails::binary_fingerprint[16] = {0x59,0x46,0x80,0x75,0x21,0xC1,0x1B,0xC6,0x50,0x75,0xD4,0x97,0xF8,0x56,0x80,0x57};
+
+uint32_t JobDetails::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_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->jobDescription);
+          isset_jobDescription = 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_STRUCT) {
+          xfer += this->jobStatus.read(iprot);
+          this->__isset.jobStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->applicationStatus.read(iprot);
+          this->__isset.applicationStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->errors.clear();
+            uint32_t _size14;
+            ::apache::thrift::protocol::TType _etype17;
+            xfer += iprot->readListBegin(_etype17, _size14);
+            this->errors.resize(_size14);
+            uint32_t _i18;
+            for (_i18 = 0; _i18 < _size14; ++_i18)
+            {
+              xfer += this->errors[_i18].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.errors = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->computeResourceConsumed);
+          this->__isset.computeResourceConsumed = 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_jobDescription)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t JobDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("JobDetails");
+
+  xfer += oprot->writeFieldBegin("jobID", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->jobID);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("jobDescription", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->jobDescription);
+  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.jobStatus) {
+    xfer += oprot->writeFieldBegin("jobStatus", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->jobStatus.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.applicationStatus) {
+    xfer += oprot->writeFieldBegin("applicationStatus", ::apache::thrift::protocol::T_STRUCT, 5);
+    xfer += this->applicationStatus.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.errors) {
+    xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 6);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+      std::vector<ErrorDetails> ::const_iterator _iter19;
+      for (_iter19 = this->errors.begin(); _iter19 != this->errors.end(); ++_iter19)
+      {
+        xfer += (*_iter19).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.computeResourceConsumed) {
+    xfer += oprot->writeFieldBegin("computeResourceConsumed", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->computeResourceConsumed);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(JobDetails &a, JobDetails &b) {
+  using ::std::swap;
+  swap(a.jobID, b.jobID);
+  swap(a.jobDescription, b.jobDescription);
+  swap(a.creationTime, b.creationTime);
+  swap(a.jobStatus, b.jobStatus);
+  swap(a.applicationStatus, b.applicationStatus);
+  swap(a.errors, b.errors);
+  swap(a.computeResourceConsumed, b.computeResourceConsumed);
+  swap(a.__isset, b.__isset);
+}
+
+const char* DataTransferDetails::ascii_fingerprint = "40D4FEC20E3B334AEEBA92DA2AB9E91E";
+const uint8_t DataTransferDetails::binary_fingerprint[16] = {0x40,0xD4,0xFE,0xC2,0x0E,0x3B,0x33,0x4A,0xEE,0xBA,0x92,0xDA,0x2A,0xB9,0xE9,0x1E};
+
+uint32_t DataTransferDetails::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_transferID = false;
+  bool isset_transferDescription = 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->transferID);
+          isset_transferID = 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->transferDescription);
+          isset_transferDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->transferStatus.read(iprot);
+          this->__isset.transferStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_transferID)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_transferDescription)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t DataTransferDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("DataTransferDetails");
+
+  xfer += oprot->writeFieldBegin("transferID", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->transferID);
+  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();
+  }
+  xfer += oprot->writeFieldBegin("transferDescription", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->transferDescription);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.transferStatus) {
+    xfer += oprot->writeFieldBegin("transferStatus", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->transferStatus.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(DataTransferDetails &a, DataTransferDetails &b) {
+  using ::std::swap;
+  swap(a.transferID, b.transferID);
+  swap(a.creationTime, b.creationTime);
+  swap(a.transferDescription, b.transferDescription);
+  swap(a.transferStatus, b.transferStatus);
+  swap(a.__isset, b.__isset);
+}
+
+const char* TaskDetails::ascii_fingerprint = "705A0D2F86DF8E37DD3741EEF4EB51A0";
+const uint8_t TaskDetails::binary_fingerprint[16] = {0x70,0x5A,0x0D,0x2F,0x86,0xDF,0x8E,0x37,0xDD,0x37,0x41,0xEE,0xF4,0xEB,0x51,0xA0};
+
+uint32_t TaskDetails::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;
+
+  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_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->applicationId);
+          this->__isset.applicationId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationVersion);
+          this->__isset.applicationVersion = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->applicationInputs.clear();
+            uint32_t _size20;
+            ::apache::thrift::protocol::TType _etype23;
+            xfer += iprot->readListBegin(_etype23, _size20);
+            this->applicationInputs.resize(_size20);
+            uint32_t _i24;
+            for (_i24 = 0; _i24 < _size20; ++_i24)
+            {
+              xfer += this->applicationInputs[_i24].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 _size25;
+            ::apache::thrift::protocol::TType _etype28;
+            xfer += iprot->readListBegin(_etype28, _size25);
+            this->applicationOutputs.resize(_size25);
+            uint32_t _i29;
+            for (_i29 = 0; _i29 < _size25; ++_i29)
+            {
+              xfer += this->applicationOutputs[_i29].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.applicationOutputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->taskScheduling.read(iprot);
+          this->__isset.taskScheduling = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->advancedInputDataHandling.read(iprot);
+          this->__isset.advancedInputDataHandling = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->advancedOutputDataHandling.read(iprot);
+          this->__isset.advancedOutputDataHandling = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->taskStatus.read(iprot);
+          this->__isset.taskStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->jobDetailsList.clear();
+            uint32_t _size30;
+            ::apache::thrift::protocol::TType _etype33;
+            xfer += iprot->readListBegin(_etype33, _size30);
+            this->jobDetailsList.resize(_size30);
+            uint32_t _i34;
+            for (_i34 = 0; _i34 < _size30; ++_i34)
+            {
+              xfer += this->jobDetailsList[_i34].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.jobDetailsList = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->dataTransferDetailsList.clear();
+            uint32_t _size35;
+            ::apache::thrift::protocol::TType _etype38;
+            xfer += iprot->readListBegin(_etype38, _size35);
+            this->dataTransferDetailsList.resize(_size35);
+            uint32_t _i39;
+            for (_i39 = 0; _i39 < _size35; ++_i39)
+            {
+              xfer += this->dataTransferDetailsList[_i39].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.dataTransferDetailsList = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 13:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->errors.clear();
+            uint32_t _size40;
+            ::apache::thrift::protocol::TType _etype43;
+            xfer += iprot->readListBegin(_etype43, _size40);
+            this->errors.resize(_size40);
+            uint32_t _i44;
+            for (_i44 = 0; _i44 < _size40; ++_i44)
+            {
+              xfer += this->errors[_i44].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_taskID)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("TaskDetails");
+
+  xfer += oprot->writeFieldBegin("taskID", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->taskID);
+  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.applicationId) {
+    xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->applicationId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.applicationVersion) {
+    xfer += oprot->writeFieldBegin("applicationVersion", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->applicationVersion);
+    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<DataObjectType> ::const_iterator _iter45;
+      for (_iter45 = this->applicationInputs.begin(); _iter45 != this->applicationInputs.end(); ++_iter45)
+      {
+        xfer += (*_iter45).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<DataObjectType> ::const_iterator _iter46;
+      for (_iter46 = this->applicationOutputs.begin(); _iter46 != this->applicationOutputs.end(); ++_iter46)
+      {
+        xfer += (*_iter46).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.taskScheduling) {
+    xfer += oprot->writeFieldBegin("taskScheduling", ::apache::thrift::protocol::T_STRUCT, 7);
+    xfer += this->taskScheduling.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.advancedInputDataHandling) {
+    xfer += oprot->writeFieldBegin("advancedInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 8);
+    xfer += this->advancedInputDataHandling.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.advancedOutputDataHandling) {
+    xfer += oprot->writeFieldBegin("advancedOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 9);
+    xfer += this->advancedOutputDataHandling.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.taskStatus) {
+    xfer += oprot->writeFieldBegin("taskStatus", ::apache::thrift::protocol::T_STRUCT, 10);
+    xfer += this->taskStatus.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.jobDetailsList) {
+    xfer += oprot->writeFieldBegin("jobDetailsList", ::apache::thrift::protocol::T_LIST, 11);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobDetailsList.size()));
+      std::vector<JobDetails> ::const_iterator _iter47;
+      for (_iter47 = this->jobDetailsList.begin(); _iter47 != this->jobDetailsList.end(); ++_iter47)
+      {
+        xfer += (*_iter47).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.dataTransferDetailsList) {
+    xfer += oprot->writeFieldBegin("dataTransferDetailsList", ::apache::thrift::protocol::T_LIST, 12);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataTransferDetailsList.size()));
+      std::vector<DataTransferDetails> ::const_iterator _iter48;
+      for (_iter48 = this->dataTransferDetailsList.begin(); _iter48 != this->dataTransferDetailsList.end(); ++_iter48)
+      {
+        xfer += (*_iter48).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.errors) {
+    xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 13);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+      std::vector<ErrorDetails> ::const_iterator _iter49;
+      for (_iter49 = this->errors.begin(); _iter49 != this->errors.end(); ++_iter49)
+      {
+        xfer += (*_iter49).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(TaskDetails &a, TaskDetails &b) {
+  using ::std::swap;
+  swap(a.taskID, b.taskID);
+  swap(a.creationTime, b.creationTime);
+  swap(a.applicationId, b.applicationId);
+  swap(a.applicationVersion, b.applicationVersion);
+  swap(a.applicationInputs, b.applicationInputs);
+  swap(a.applicationOutputs, b.applicationOutputs);
+  swap(a.taskScheduling, b.taskScheduling);
+  swap(a.advancedInputDataHandling, b.advancedInputDataHandling);
+  swap(a.advancedOutputDataHandling, b.advancedOutputDataHandling);
+  swap(a.taskStatus, b.taskStatus);
+  swap(a.jobDetailsList, b.jobDetailsList);
+  swap(a.dataTransferDetailsList, b.dataTransferDetailsList);
+  swap(a.errors, b.errors);
+  swap(a.__isset, b.__isset);
+}
+
+const char* WorkflowNodeDetails::ascii_fingerprint = "D244C94A6A1DF1DFBA2E34E7756C28EF";
+const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0xD2,0x44,0xC9,0x4A,0x6A,0x1D,0xF1,0xDF,0xBA,0x2E,0x34,0xE7,0x75,0x6C,0x28,0xEF};
+
+uint32_t WorkflowNodeDetails::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_nodeInstanceId = false;
+  bool isset_nodeName = 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->nodeInstanceId);
+          isset_nodeInstanceId = 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->nodeName);
+          isset_nodeName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->nodeInputs.clear();
+            uint32_t _size50;
+            ::apache::thrift::protocol::TType _etype53;
+            xfer += iprot->readListBegin(_etype53, _size50);
+            this->nodeInputs.resize(_size50);
+            uint32_t _i54;
+            for (_i54 = 0; _i54 < _size50; ++_i54)
+            {
+              xfer += this->nodeInputs[_i54].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.nodeInputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->nodeOutputs.clear();
+            uint32_t _size55;
+            ::apache::thrift::protocol::TType _etype58;
+            xfer += iprot->readListBegin(_etype58, _size55);
+            this->nodeOutputs.resize(_size55);
+            uint32_t _i59;
+            for (_i59 = 0; _i59 < _size55; ++_i59)
+            {
+              xfer += this->nodeOutputs[_i59].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.nodeOutputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->workflowNodeStatus.read(iprot);
+          this->__isset.workflowNodeStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->taskDetailsList.clear();
+            uint32_t _size60;
+            ::apache::thrift::protocol::TType _etype63;
+            xfer += iprot->readListBegin(_etype63, _size60);
+            this->taskDetailsList.resize(_size60);
+            uint32_t _i64;
+            for (_i64 = 0; _i64 < _size60; ++_i64)
+            {
+              xfer += this->taskDetailsList[_i64].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.taskDetailsList = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->errors.clear();
+            uint32_t _size65;
+            ::apache::thrift::protocol::TType _etype68;
+            xfer += iprot->readListBegin(_etype68, _size65);
+            this->errors.resize(_size65);
+            uint32_t _i69;
+            for (_i69 = 0; _i69 < _size65; ++_i69)
+            {
+              xfer += this->errors[_i69].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_nodeInstanceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_nodeName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t WorkflowNodeDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("WorkflowNodeDetails");
+
+  xfer += oprot->writeFieldBegin("nodeInstanceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->nodeInstanceId);
+  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();
+  }
+  xfer += oprot->writeFieldBegin("nodeName", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->nodeName);
+  xfer += oprot->writeFieldEnd();
+
+  if (this->__isset.nodeInputs) {
+    xfer += oprot->writeFieldBegin("nodeInputs", ::apache::thrift::protocol::T_LIST, 4);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeInputs.size()));
+      std::vector<DataObjectType> ::const_iterator _iter70;
+      for (_iter70 = this->nodeInputs.begin(); _iter70 != this->nodeInputs.end(); ++_iter70)
+      {
+        xfer += (*_iter70).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.nodeOutputs) {
+    xfer += oprot->writeFieldBegin("nodeOutputs", ::apache::thrift::protocol::T_LIST, 5);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeOutputs.size()));
+      std::vector<DataObjectType> ::const_iterator _iter71;
+      for (_iter71 = this->nodeOutputs.begin(); _iter71 != this->nodeOutputs.end(); ++_iter71)
+      {
+        xfer += (*_iter71).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.workflowNodeStatus) {
+    xfer += oprot->writeFieldBegin("workflowNodeStatus", ::apache::thrift::protocol::T_STRUCT, 6);
+    xfer += this->workflowNodeStatus.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.taskDetailsList) {
+    xfer += oprot->writeFieldBegin("taskDetailsList", ::apache::thrift::protocol::T_LIST, 7);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->taskDetailsList.size()));
+      std::vector<TaskDetails> ::const_iterator _iter72;
+      for (_iter72 = this->taskDetailsList.begin(); _iter72 != this->taskDetailsList.end(); ++_iter72)
+      {
+        xfer += (*_iter72).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.errors) {
+    xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 8);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+      std::vector<ErrorDetails> ::const_iterator _iter73;
+      for (_iter73 = this->errors.begin(); _iter73 != this->errors.end(); ++_iter73)
+      {
+        xfer += (*_iter73).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(WorkflowNodeDetails &a, WorkflowNodeDetails &b) {
+  using ::std::swap;
+  swap(a.nodeInstanceId, b.nodeInstanceId);
+  swap(a.creationTime, b.creationTime);
+  swap(a.nodeName, b.nodeName);
+  swap(a.nodeInputs, b.nodeInputs);
+  swap(a.nodeOutputs, b.nodeOutputs);
+  swap(a.workflowNodeStatus, b.workflowNodeStatus);
+  swap(a.taskDetailsList, b.taskDetailsList);
+  swap(a.errors, b.errors);
+  swap(a.__isset, b.__isset);
+}
+
+const char* Experiment::ascii_fingerprint = "AAEAE252F6A2D0BD15514CB57DB7745F";
+const uint8_t Experiment::binary_fingerprint[16] = {0xAA,0xEA,0xE2,0x52,0xF6,0xA2,0xD0,0xBD,0x15,0x51,0x4C,0xB5,0x7D,0xB7,0x74,0x5F};
+
+uint32_t Experiment::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_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_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userName);
+          isset_userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->name);
+          isset_name = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->description);
+          this->__isset.description = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationId);
+          this->__isset.applicationId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationVersion);
+          this->__isset.applicationVersion = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->workflowTemplateId);
+          this->__isset.workflowTemplateId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->workflowTemplateVersion);
+          this->__isset.workflowTemplateVersion = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->userConfigurationData.read(iprot);
+          this->__isset.userConfigurationData = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->workflowExecutionInstanceId);
+          this->__isset.workflowExecutionInstanceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 13:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->experimentInputs.clear();
+            uint32_t _size74;
+            ::apache::thrift::protocol::TType _etype77;
+            xfer += iprot->readListBegin(_etype77, _size74);
+            this->experimentInputs.resize(_size74);
+            uint32_t _i78;
+            for (_i78 = 0; _i78 < _size74; ++_i78)
+            {
+              xfer += this->experimentInputs[_i78].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.experimentInputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 14:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->experimentOutputs.clear();
+            uint32_t _size79;
+            ::apache::thrift::protocol::TType _etype82;
+            xfer += iprot->readListBegin(_etype82, _size79);
+            this->experimentOutputs.resize(_size79);
+            uint32_t _i83;
+            for (_i83 = 0; _i83 < _size79; ++_i83)
+            {
+              xfer += this->experimentOutputs[_i83].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.experimentOutputs = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 15:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->experimentStatus.read(iprot);
+          this->__isset.experimentStatus = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 16:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->stateChangeList.clear();
+            uint32_t _size84;
+            ::apache::thrift::protocol::TType 

<TRUNCATED>

[03/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/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
new file mode 100644
index 0000000..673414d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
@@ -0,0 +1,568 @@
+<?php
+namespace Airavata\Model\Workspace;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * 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 Group {
+  static $_TSPEC;
+
+  public $groupName = null;
+  public $description = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'groupName',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'description',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['groupName'])) {
+        $this->groupName = $vals['groupName'];
+      }
+      if (isset($vals['description'])) {
+        $this->description = $vals['description'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Group';
+  }
+
+  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->groupName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->description);
+          } 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('Group');
+    if ($this->groupName !== null) {
+      $xfer += $output->writeFieldBegin('groupName', TType::STRING, 1);
+      $xfer += $output->writeString($this->groupName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->description !== null) {
+      $xfer += $output->writeFieldBegin('description', TType::STRING, 2);
+      $xfer += $output->writeString($this->description);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Project {
+  static $_TSPEC;
+
+  public $projectID = "DEFAULT";
+  public $owner = null;
+  public $name = null;
+  public $description = null;
+  public $creationTime = null;
+  public $sharedUsers = null;
+  public $sharedGroups = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'projectID',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'owner',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'name',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'description',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        6 => array(
+          'var' => 'sharedUsers',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        7 => array(
+          'var' => 'sharedGroups',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['projectID'])) {
+        $this->projectID = $vals['projectID'];
+      }
+      if (isset($vals['owner'])) {
+        $this->owner = $vals['owner'];
+      }
+      if (isset($vals['name'])) {
+        $this->name = $vals['name'];
+      }
+      if (isset($vals['description'])) {
+        $this->description = $vals['description'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['sharedUsers'])) {
+        $this->sharedUsers = $vals['sharedUsers'];
+      }
+      if (isset($vals['sharedGroups'])) {
+        $this->sharedGroups = $vals['sharedGroups'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Project';
+  }
+
+  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->projectID);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->owner);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->name);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->description);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::LST) {
+            $this->sharedUsers = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->sharedUsers []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::LST) {
+            $this->sharedGroups = array();
+            $_size6 = 0;
+            $_etype9 = 0;
+            $xfer += $input->readListBegin($_etype9, $_size6);
+            for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
+            {
+              $elem11 = null;
+              $xfer += $input->readString($elem11);
+              $this->sharedGroups []= $elem11;
+            }
+            $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('Project');
+    if ($this->projectID !== null) {
+      $xfer += $output->writeFieldBegin('projectID', TType::STRING, 1);
+      $xfer += $output->writeString($this->projectID);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->owner !== null) {
+      $xfer += $output->writeFieldBegin('owner', TType::STRING, 2);
+      $xfer += $output->writeString($this->owner);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->name !== null) {
+      $xfer += $output->writeFieldBegin('name', TType::STRING, 3);
+      $xfer += $output->writeString($this->name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->description !== null) {
+      $xfer += $output->writeFieldBegin('description', TType::STRING, 4);
+      $xfer += $output->writeString($this->description);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 5);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sharedUsers !== null) {
+      if (!is_array($this->sharedUsers)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('sharedUsers', TType::LST, 6);
+      {
+        $output->writeListBegin(TType::STRING, count($this->sharedUsers));
+        {
+          foreach ($this->sharedUsers as $iter12)
+          {
+            $xfer += $output->writeString($iter12);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sharedGroups !== null) {
+      if (!is_array($this->sharedGroups)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('sharedGroups', TType::LST, 7);
+      {
+        $output->writeListBegin(TType::STRING, count($this->sharedGroups));
+        {
+          foreach ($this->sharedGroups as $iter13)
+          {
+            $xfer += $output->writeString($iter13);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class User {
+  static $_TSPEC;
+
+  public $userName = null;
+  public $groupList = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'groupList',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Group',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['userName'])) {
+        $this->userName = $vals['userName'];
+      }
+      if (isset($vals['groupList'])) {
+        $this->groupList = $vals['groupList'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'User';
+  }
+
+  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->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::LST) {
+            $this->groupList = array();
+            $_size14 = 0;
+            $_etype17 = 0;
+            $xfer += $input->readListBegin($_etype17, $_size14);
+            for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
+            {
+              $elem19 = null;
+              $elem19 = new \Airavata\Model\Workspace\Group();
+              $xfer += $elem19->read($input);
+              $this->groupList []= $elem19;
+            }
+            $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('User');
+    if ($this->userName !== null) {
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeString($this->userName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->groupList !== null) {
+      if (!is_array($this->groupList)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('groupList', TType::LST, 2);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->groupList));
+        {
+          foreach ($this->groupList as $iter20)
+          {
+            $xfer += $iter20->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Gateway {
+  static $_TSPEC;
+
+  public $gatewayId = "DO_NOT_SET_AT_CLIENTS";
+  public $name = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'name',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['name'])) {
+        $this->name = $vals['name'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Gateway';
+  }
+
+  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->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->name);
+          } 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('Gateway');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->name !== null) {
+      $xfer += $output->writeFieldBegin('name', TType::STRING, 2);
+      $xfer += $output->writeString($this->name);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/AiravataClientFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/AiravataClientFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/AiravataClientFactory.php
new file mode 100644
index 0000000..5724e32
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/AiravataClientFactory.php
@@ -0,0 +1,45 @@
+<?php
+
+namespace Airavata\Client;
+
+$GLOBALS['THRIFT_ROOT'] = 'Thrift/';
+//require_once $GLOBALS['THRIFT_ROOT'] . 'Thrift.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Transport/TTransport.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Transport/TSocket.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Protocol/TProtocol.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Protocol/TBinaryProtocol.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Exception/TException.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Exception/TTransportException.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Type/TType.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Type/TMessageType.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'Factory/TStringFuncFactory.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'StringFunc/TStringFunc.php';
+require_once $GLOBALS['THRIFT_ROOT'] . 'StringFunc/Core.php';
+
+$GLOBALS['AIRAVATA_ROOT'] = 'Airavata/';
+require_once $GLOBALS['AIRAVATA_ROOT'] . 'API/Airavata.php';
+
+use Thrift\Protocol\TBinaryProtocol;
+use Thrift\Transport\TSocket;
+use Airavata\API\AiravataClient;
+
+class AiravataClientFactory
+{
+
+    private $airavataServerHost;
+    private $airavataServerPort;
+
+    public function __construct($options)
+    {
+        $this->airavataServerHost = isset($options['airavataServerHost']) ? $options['airavataServerHost'] : null;
+        $this->airavataServerPort = isset($options['airavataServerPort']) ? $options['airavataServerPort'] : null;
+    }
+
+    public function getAiravataClient()
+    {
+        $transport = new TSocket($this->airavataServerHost, $this->airavataServerPort);
+        $protocol = new TBinaryProtocol($transport);
+	$transport->open();
+        return new AiravataClient($protocol);
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Base/TBase.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Base/TBase.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Base/TBase.php
new file mode 100644
index 0000000..3d5b526
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Base/TBase.php
@@ -0,0 +1,367 @@
+<?php
+/*
+ * 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 thrift
+ */
+
+namespace Thrift\Base;
+
+use Thrift\Type\TType;
+
+/**
+ * Base class from which other Thrift structs extend. This is so that we can
+ * cut back on the size of the generated code which is turning out to have a
+ * nontrivial cost just to load thanks to the wondrously abysmal implementation
+ * of PHP. Note that code is intentionally duplicated in here to avoid making
+ * function calls for every field or member of a container..
+ */
+abstract class TBase {
+
+  static $tmethod = array(TType::BOOL   => 'Bool',
+                          TType::BYTE   => 'Byte',
+                          TType::I16    => 'I16',
+                          TType::I32    => 'I32',
+                          TType::I64    => 'I64',
+                          TType::DOUBLE => 'Double',
+                          TType::STRING => 'String');
+
+  abstract function read($input);
+
+  abstract function write($output);
+
+  public function __construct($spec=null, $vals=null) {
+    if (is_array($spec) && is_array($vals)) {
+      foreach ($spec as $fid => $fspec) {
+        $var = $fspec['var'];
+        if (isset($vals[$var])) {
+          $this->$var = $vals[$var];
+        }
+      }
+    }
+  }
+
+  public function __wakeup()
+  {
+    $this->__construct(get_object_vars($this));
+  }
+
+  private function _readMap(&$var, $spec, $input) {
+    $xfer = 0;
+    $ktype = $spec['ktype'];
+    $vtype = $spec['vtype'];
+    $kread = $vread = null;
+    if (isset(TBase::$tmethod[$ktype])) {
+      $kread = 'read'.TBase::$tmethod[$ktype];
+    } else {
+      $kspec = $spec['key'];
+    }
+    if (isset(TBase::$tmethod[$vtype])) {
+      $vread = 'read'.TBase::$tmethod[$vtype];
+    } else {
+      $vspec = $spec['val'];
+    }
+    $var = array();
+    $_ktype = $_vtype = $size = 0;
+    $xfer += $input->readMapBegin($_ktype, $_vtype, $size);
+    for ($i = 0; $i < $size; ++$i) {
+      $key = $val = null;
+      if ($kread !== null) {
+        $xfer += $input->$kread($key);
+      } else {
+        switch ($ktype) {
+        case TType::STRUCT:
+          $class = $kspec['class'];
+          $key = new $class();
+          $xfer += $key->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($key, $kspec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($key, $kspec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($key, $kspec, $input, true);
+          break;
+        }
+      }
+      if ($vread !== null) {
+        $xfer += $input->$vread($val);
+      } else {
+        switch ($vtype) {
+        case TType::STRUCT:
+          $class = $vspec['class'];
+          $val = new $class();
+          $xfer += $val->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($val, $vspec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($val, $vspec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($val, $vspec, $input, true);
+          break;
+        }
+      }
+      $var[$key] = $val;
+    }
+    $xfer += $input->readMapEnd();
+    return $xfer;
+  }
+
+  private function _readList(&$var, $spec, $input, $set=false) {
+    $xfer = 0;
+    $etype = $spec['etype'];
+    $eread = $vread = null;
+    if (isset(TBase::$tmethod[$etype])) {
+      $eread = 'read'.TBase::$tmethod[$etype];
+    } else {
+      $espec = $spec['elem'];
+    }
+    $var = array();
+    $_etype = $size = 0;
+    if ($set) {
+      $xfer += $input->readSetBegin($_etype, $size);
+    } else {
+      $xfer += $input->readListBegin($_etype, $size);
+    }
+    for ($i = 0; $i < $size; ++$i) {
+      $elem = null;
+      if ($eread !== null) {
+        $xfer += $input->$eread($elem);
+      } else {
+        $espec = $spec['elem'];
+        switch ($etype) {
+        case TType::STRUCT:
+          $class = $espec['class'];
+          $elem = new $class();
+          $xfer += $elem->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($elem, $espec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($elem, $espec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($elem, $espec, $input, true);
+          break;
+        }
+      }
+      if ($set) {
+        $var[$elem] = true;
+      } else {
+        $var []= $elem;
+      }
+    }
+    if ($set) {
+      $xfer += $input->readSetEnd();
+    } else {
+      $xfer += $input->readListEnd();
+    }
+    return $xfer;
+  }
+
+  protected function _read($class, $spec, $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;
+      }
+      if (isset($spec[$fid])) {
+        $fspec = $spec[$fid];
+        $var = $fspec['var'];
+        if ($ftype == $fspec['type']) {
+          $xfer = 0;
+          if (isset(TBase::$tmethod[$ftype])) {
+            $func = 'read'.TBase::$tmethod[$ftype];
+            $xfer += $input->$func($this->$var);
+          } else {
+            switch ($ftype) {
+            case TType::STRUCT:
+              $class = $fspec['class'];
+              $this->$var = new $class();
+              $xfer += $this->$var->read($input);
+              break;
+            case TType::MAP:
+              $xfer += $this->_readMap($this->$var, $fspec, $input);
+              break;
+            case TType::LST:
+              $xfer += $this->_readList($this->$var, $fspec, $input, false);
+              break;
+            case TType::SET:
+              $xfer += $this->_readList($this->$var, $fspec, $input, true);
+              break;
+            }
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+      } else {
+        $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  private function _writeMap($var, $spec, $output) {
+    $xfer = 0;
+    $ktype = $spec['ktype'];
+    $vtype = $spec['vtype'];
+    $kwrite = $vwrite = null;
+    if (isset(TBase::$tmethod[$ktype])) {
+      $kwrite = 'write'.TBase::$tmethod[$ktype];
+    } else {
+      $kspec = $spec['key'];
+    }
+    if (isset(TBase::$tmethod[$vtype])) {
+      $vwrite = 'write'.TBase::$tmethod[$vtype];
+    } else {
+      $vspec = $spec['val'];
+    }
+    $xfer += $output->writeMapBegin($ktype, $vtype, count($var));
+    foreach ($var as $key => $val) {
+      if (isset($kwrite)) {
+        $xfer += $output->$kwrite($key);
+      } else {
+        switch ($ktype) {
+        case TType::STRUCT:
+          $xfer += $key->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($key, $kspec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($key, $kspec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($key, $kspec, $output, true);
+          break;
+        }
+      }
+      if (isset($vwrite)) {
+        $xfer += $output->$vwrite($val);
+      } else {
+        switch ($vtype) {
+        case TType::STRUCT:
+          $xfer += $val->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($val, $vspec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($val, $vspec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($val, $vspec, $output, true);
+          break;
+        }
+      }
+    }
+    $xfer += $output->writeMapEnd();
+    return $xfer;
+  }
+
+  private function _writeList($var, $spec, $output, $set=false) {
+    $xfer = 0;
+    $etype = $spec['etype'];
+    $ewrite = null;
+    if (isset(TBase::$tmethod[$etype])) {
+      $ewrite = 'write'.TBase::$tmethod[$etype];
+    } else {
+      $espec = $spec['elem'];
+    }
+    if ($set) {
+      $xfer += $output->writeSetBegin($etype, count($var));
+    } else {
+      $xfer += $output->writeListBegin($etype, count($var));
+    }
+    foreach ($var as $key => $val) {
+      $elem = $set ? $key : $val;
+      if (isset($ewrite)) {
+        $xfer += $output->$ewrite($elem);
+      } else {
+        switch ($etype) {
+        case TType::STRUCT:
+          $xfer += $elem->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($elem, $espec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($elem, $espec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($elem, $espec, $output, true);
+          break;
+        }
+      }
+    }
+    if ($set) {
+      $xfer += $output->writeSetEnd();
+    } else {
+      $xfer += $output->writeListEnd();
+    }
+    return $xfer;
+  }
+
+  protected function _write($class, $spec, $output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin($class);
+    foreach ($spec as $fid => $fspec) {
+      $var = $fspec['var'];
+      if ($this->$var !== null) {
+        $ftype = $fspec['type'];
+        $xfer += $output->writeFieldBegin($var, $ftype, $fid);
+        if (isset(TBase::$tmethod[$ftype])) {
+          $func = 'write'.TBase::$tmethod[$ftype];
+          $xfer += $output->$func($this->$var);
+        } else {
+          switch ($ftype) {
+          case TType::STRUCT:
+            $xfer += $this->$var->write($output);
+            break;
+          case TType::MAP:
+            $xfer += $this->_writeMap($this->$var, $fspec, $output);
+            break;
+          case TType::LST:
+            $xfer += $this->_writeList($this->$var, $fspec, $output, false);
+            break;
+          case TType::SET:
+            $xfer += $this->_writeList($this->$var, $fspec, $output, true);
+            break;
+          }
+        }
+        $xfer += $output->writeFieldEnd();
+      }
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/ClassLoader/ThriftClassLoader.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/ClassLoader/ThriftClassLoader.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/ClassLoader/ThriftClassLoader.php
new file mode 100644
index 0000000..bce93f5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/ClassLoader/ThriftClassLoader.php
@@ -0,0 +1,223 @@
+<?php
+/*
+ * 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.
+ *
+ * ClassLoader to load Thrift library and definitions
+ * Inspired from UniversalClassLoader from Symfony 2 
+ *
+ * @package thrift.classloader
+ */
+
+namespace Thrift\ClassLoader;
+
+class ThriftClassLoader
+{
+    /**
+     * Namespaces path
+     * @var array
+     */
+    protected $namespaces = array();
+
+    /**
+     * Thrift definition paths
+     * @var type
+     */
+    protected $definitions = array();
+
+    /**
+     * Do we use APC cache ?
+     * @var boolean
+     */
+    protected $apc = false;
+
+    /**
+     * APC Cache prefix
+     * @var string
+     */
+    protected $apc_prefix;
+
+    /**
+     * Set autoloader to use APC cache
+     * @param boolean $apc
+     * @param string $apc_prefix
+     */
+    public function __construct($apc = false, $apc_prefix = null)
+    {
+        $this->apc = $apc;
+        $this->apc_prefix = $apc_prefix;
+    }
+
+    /**
+     * Registers a namespace.
+     *
+     * @param string       $namespace The namespace
+     * @param array|string $paths     The location(s) of the namespace
+     */
+    public function registerNamespace($namespace, $paths)
+    {
+        $this->namespaces[$namespace] = (array) $paths;
+    }
+
+    /**
+     * Registers a Thrift definition namespace.
+     *
+     * @param string       $namespace The definition namespace
+     * @param array|string $paths     The location(s) of the definition namespace
+     */
+    public function registerDefinition($namespace, $paths)
+    {
+        $this->definitions[$namespace] = (array) $paths;
+    }
+
+    /**
+     * Registers this instance as an autoloader.
+     *
+     * @param Boolean $prepend Whether to prepend the autoloader or not
+     */
+    public function register($prepend = false)
+    {
+        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+    }
+
+    /**
+     * Loads the given class, definition or interface.
+     *
+     * @param string $class The name of the class
+     */
+    public function loadClass($class)
+    {
+        if (
+            (true === $this->apc && ($file = $this->findFileInApc($class))) or
+            ($file = $this->findFile($class))
+        )
+        {
+            require_once $file;
+        }
+    }
+
+    /**
+     * Loads the given class or interface in APC.
+     * @param string $class The name of the class
+     * @return string
+     */
+    protected function findFileInApc($class)
+    {
+        if (false === $file = apc_fetch($this->apc_prefix.$class)) {
+            apc_store($this->apc_prefix.$class, $file = $this->findFile($class));
+        }
+
+        return $file;
+    }
+
+    /**
+     * Find class in namespaces or definitions directories
+     * @param string $class
+     * @return string
+     */
+    public function findFile($class)
+    {
+        // Remove first backslash
+        if ('\\' == $class[0])
+        {
+            $class = substr($class, 1);
+        }
+
+        if (false !== $pos = strrpos($class, '\\'))
+        {
+            // Namespaced class name
+            $namespace = substr($class, 0, $pos);
+
+            // Iterate in normal namespaces
+            foreach ($this->namespaces as $ns => $dirs)
+            {
+                //Don't interfere with other autoloaders
+                if (0 !== strpos($namespace, $ns))
+                {
+                    continue;
+                }
+
+                foreach ($dirs as $dir)
+                {
+                    $className = substr($class, $pos + 1);
+
+                    $file = $dir.DIRECTORY_SEPARATOR.
+                                 str_replace('\\', DIRECTORY_SEPARATOR, $namespace).
+                                 DIRECTORY_SEPARATOR.
+                                 $className.'.php';
+
+                    if (file_exists($file))
+                    {
+                        return $file;
+                    }
+                }
+            }
+
+            // Iterate in Thrift namespaces
+
+            // Remove first part of namespace
+            $m = explode('\\', $class);
+
+            // Ignore wrong call
+            if(count($m) <= 1)
+            {
+                return;
+            }
+
+            $class = array_pop($m);
+            $namespace = implode('\\', $m);
+
+            foreach ($this->definitions as $ns => $dirs)
+            {
+                //Don't interfere with other autoloaders
+                if (0 !== strpos($namespace, $ns))
+                {
+                    continue;
+                }
+
+                foreach ($dirs as $dir)
+                {
+                    /**
+                     * Available in service: Interface, Client, Processor, Rest
+                     * And every service methods (_.+)
+                     */
+                    if(
+                        0 === preg_match('#(.+)(if|client|processor|rest)$#i', $class, $n) and
+                        0 === preg_match('#(.+)_[a-z0-9]+_(args|result)$#i', $class, $n)
+                    )
+                    {
+                        $className = 'Types';
+                    }
+                    else
+                    {
+                        $className = $n[1];
+                    }
+
+                    $file = $dir.DIRECTORY_SEPARATOR .
+                                 str_replace('\\', DIRECTORY_SEPARATOR, $namespace) .
+                                 DIRECTORY_SEPARATOR .
+                                 $className . '.php';
+
+                    if (file_exists($file))
+                    {
+                        return $file;
+                    }
+                }
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TApplicationException.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TApplicationException.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TApplicationException.php
new file mode 100644
index 0000000..9081973
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TApplicationException.php
@@ -0,0 +1,72 @@
+<?php
+/*
+ * 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 thrift
+ */
+
+namespace Thrift\Exception;
+
+use Thrift\Exception\TException;
+use Thrift\Type\TType;
+
+class TApplicationException extends TException {
+  static $_TSPEC =
+    array(1 => array('var' => 'message',
+                     'type' => TType::STRING),
+          2 => array('var' => 'code',
+                     'type' => TType::I32));
+
+  const UNKNOWN = 0;
+  const UNKNOWN_METHOD = 1;
+  const INVALID_MESSAGE_TYPE = 2;
+  const WRONG_METHOD_NAME = 3;
+  const BAD_SEQUENCE_ID = 4;
+  const MISSING_RESULT = 5;
+  const INTERNAL_ERROR = 6;
+  const PROTOCOL_ERROR = 7;
+  const INVALID_TRANSFORM = 8;
+  const INVALID_PROTOCOL = 9;
+  const UNSUPPORTED_CLIENT_TYPE = 10;
+
+  function __construct($message=null, $code=0) {
+    parent::__construct($message, $code);
+  }
+
+  public function read($output) {
+    return $this->_read('TApplicationException', self::$_TSPEC, $output);
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('TApplicationException');
+    if ($message = $this->getMessage()) {
+      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
+      $xfer += $output->writeString($message);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($code = $this->getCode()) {
+      $xfer += $output->writeFieldBegin('type', TType::I32, 2);
+      $xfer += $output->writeI32($code);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TException.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TException.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TException.php
new file mode 100644
index 0000000..8e8cd28
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TException.php
@@ -0,0 +1,369 @@
+<?php
+/*
+ * 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 thrift
+ */
+
+namespace Thrift\Exception;
+
+use Thrift\Type\TType;
+use Thrift\Base\TBase;
+
+/**
+ * NOTE(mcslee): This currently contains a ton of duplicated code from TBase
+ * because we need to save CPU cycles and this is not yet in an extension.
+ * Ideally we'd multiply-inherit TException from both Exception and Base, but
+ * that's not possible in PHP and there are no modules either, so for now we
+ * apologetically take a trip to HackTown.
+ *
+ * Can be called with standard Exception constructor (message, code) or with
+ * Thrift Base object constructor (spec, vals).
+ *
+ * @param mixed $p1 Message (string) or type-spec (array)
+ * @param mixed $p2 Code (integer) or values (array)
+ */
+class TException extends \Exception {
+  function __construct($p1=null, $p2=0) {
+    if (is_array($p1) && is_array($p2)) {
+      $spec = $p1;
+      $vals = $p2;
+      foreach ($spec as $fid => $fspec) {
+        $var = $fspec['var'];
+        if (isset($vals[$var])) {
+          $this->$var = $vals[$var];
+        }
+      }
+    } else {
+      parent::__construct($p1, $p2);
+    }
+  }
+
+  static $tmethod = array(TType::BOOL   => 'Bool',
+                          TType::BYTE   => 'Byte',
+                          TType::I16    => 'I16',
+                          TType::I32    => 'I32',
+                          TType::I64    => 'I64',
+                          TType::DOUBLE => 'Double',
+                          TType::STRING => 'String');
+
+  private function _readMap(&$var, $spec, $input) {
+    $xfer = 0;
+    $ktype = $spec['ktype'];
+    $vtype = $spec['vtype'];
+    $kread = $vread = null;
+    if (isset(TBase::$tmethod[$ktype])) {
+      $kread = 'read'.TBase::$tmethod[$ktype];
+    } else {
+      $kspec = $spec['key'];
+    }
+    if (isset(TBase::$tmethod[$vtype])) {
+      $vread = 'read'.TBase::$tmethod[$vtype];
+    } else {
+      $vspec = $spec['val'];
+    }
+    $var = array();
+    $_ktype = $_vtype = $size = 0;
+    $xfer += $input->readMapBegin($_ktype, $_vtype, $size);
+    for ($i = 0; $i < $size; ++$i) {
+      $key = $val = null;
+      if ($kread !== null) {
+        $xfer += $input->$kread($key);
+      } else {
+        switch ($ktype) {
+        case TType::STRUCT:
+          $class = $kspec['class'];
+          $key = new $class();
+          $xfer += $key->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($key, $kspec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($key, $kspec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($key, $kspec, $input, true);
+          break;
+        }
+      }
+      if ($vread !== null) {
+        $xfer += $input->$vread($val);
+      } else {
+        switch ($vtype) {
+        case TType::STRUCT:
+          $class = $vspec['class'];
+          $val = new $class();
+          $xfer += $val->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($val, $vspec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($val, $vspec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($val, $vspec, $input, true);
+          break;
+        }
+      }
+      $var[$key] = $val;
+    }
+    $xfer += $input->readMapEnd();
+    return $xfer;
+  }
+
+  private function _readList(&$var, $spec, $input, $set=false) {
+    $xfer = 0;
+    $etype = $spec['etype'];
+    $eread = $vread = null;
+    if (isset(TBase::$tmethod[$etype])) {
+      $eread = 'read'.TBase::$tmethod[$etype];
+    } else {
+      $espec = $spec['elem'];
+    }
+    $var = array();
+    $_etype = $size = 0;
+    if ($set) {
+      $xfer += $input->readSetBegin($_etype, $size);
+    } else {
+      $xfer += $input->readListBegin($_etype, $size);
+    }
+    for ($i = 0; $i < $size; ++$i) {
+      $elem = null;
+      if ($eread !== null) {
+        $xfer += $input->$eread($elem);
+      } else {
+        $espec = $spec['elem'];
+        switch ($etype) {
+        case TType::STRUCT:
+          $class = $espec['class'];
+          $elem = new $class();
+          $xfer += $elem->read($input);
+          break;
+        case TType::MAP:
+          $xfer += $this->_readMap($elem, $espec, $input);
+          break;
+        case TType::LST:
+          $xfer += $this->_readList($elem, $espec, $input, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_readList($elem, $espec, $input, true);
+          break;
+        }
+      }
+      if ($set) {
+        $var[$elem] = true;
+      } else {
+        $var []= $elem;
+      }
+    }
+    if ($set) {
+      $xfer += $input->readSetEnd();
+    } else {
+      $xfer += $input->readListEnd();
+    }
+    return $xfer;
+  }
+
+  protected function _read($class, $spec, $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;
+      }
+      if (isset($spec[$fid])) {
+        $fspec = $spec[$fid];
+        $var = $fspec['var'];
+        if ($ftype == $fspec['type']) {
+          $xfer = 0;
+          if (isset(TBase::$tmethod[$ftype])) {
+            $func = 'read'.TBase::$tmethod[$ftype];
+            $xfer += $input->$func($this->$var);
+          } else {
+            switch ($ftype) {
+            case TType::STRUCT:
+              $class = $fspec['class'];
+              $this->$var = new $class();
+              $xfer += $this->$var->read($input);
+              break;
+            case TType::MAP:
+              $xfer += $this->_readMap($this->$var, $fspec, $input);
+              break;
+            case TType::LST:
+              $xfer += $this->_readList($this->$var, $fspec, $input, false);
+              break;
+            case TType::SET:
+              $xfer += $this->_readList($this->$var, $fspec, $input, true);
+              break;
+            }
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+      } else {
+        $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  private function _writeMap($var, $spec, $output) {
+    $xfer = 0;
+    $ktype = $spec['ktype'];
+    $vtype = $spec['vtype'];
+    $kwrite = $vwrite = null;
+    if (isset(TBase::$tmethod[$ktype])) {
+      $kwrite = 'write'.TBase::$tmethod[$ktype];
+    } else {
+      $kspec = $spec['key'];
+    }
+    if (isset(TBase::$tmethod[$vtype])) {
+      $vwrite = 'write'.TBase::$tmethod[$vtype];
+    } else {
+      $vspec = $spec['val'];
+    }
+    $xfer += $output->writeMapBegin($ktype, $vtype, count($var));
+    foreach ($var as $key => $val) {
+      if (isset($kwrite)) {
+        $xfer += $output->$kwrite($key);
+      } else {
+        switch ($ktype) {
+        case TType::STRUCT:
+          $xfer += $key->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($key, $kspec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($key, $kspec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($key, $kspec, $output, true);
+          break;
+        }
+      }
+      if (isset($vwrite)) {
+        $xfer += $output->$vwrite($val);
+      } else {
+        switch ($vtype) {
+        case TType::STRUCT:
+          $xfer += $val->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($val, $vspec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($val, $vspec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($val, $vspec, $output, true);
+          break;
+        }
+      }
+    }
+    $xfer += $output->writeMapEnd();
+    return $xfer;
+  }
+
+  private function _writeList($var, $spec, $output, $set=false) {
+    $xfer = 0;
+    $etype = $spec['etype'];
+    $ewrite = null;
+    if (isset(TBase::$tmethod[$etype])) {
+      $ewrite = 'write'.TBase::$tmethod[$etype];
+    } else {
+      $espec = $spec['elem'];
+    }
+    if ($set) {
+      $xfer += $output->writeSetBegin($etype, count($var));
+    } else {
+      $xfer += $output->writeListBegin($etype, count($var));
+    }
+    foreach ($var as $key => $val) {
+      $elem = $set ? $key : $val;
+      if (isset($ewrite)) {
+        $xfer += $output->$ewrite($elem);
+      } else {
+        switch ($etype) {
+        case TType::STRUCT:
+          $xfer += $elem->write($output);
+          break;
+        case TType::MAP:
+          $xfer += $this->_writeMap($elem, $espec, $output);
+          break;
+        case TType::LST:
+          $xfer += $this->_writeList($elem, $espec, $output, false);
+          break;
+        case TType::SET:
+          $xfer += $this->_writeList($elem, $espec, $output, true);
+          break;
+        }
+      }
+    }
+    if ($set) {
+      $xfer += $output->writeSetEnd();
+    } else {
+      $xfer += $output->writeListEnd();
+    }
+    return $xfer;
+  }
+
+  protected function _write($class, $spec, $output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin($class);
+    foreach ($spec as $fid => $fspec) {
+      $var = $fspec['var'];
+      if ($this->$var !== null) {
+        $ftype = $fspec['type'];
+        $xfer += $output->writeFieldBegin($var, $ftype, $fid);
+        if (isset(TBase::$tmethod[$ftype])) {
+          $func = 'write'.TBase::$tmethod[$ftype];
+          $xfer += $output->$func($this->$var);
+        } else {
+          switch ($ftype) {
+          case TType::STRUCT:
+            $xfer += $this->$var->write($output);
+            break;
+          case TType::MAP:
+            $xfer += $this->_writeMap($this->$var, $fspec, $output);
+            break;
+          case TType::LST:
+            $xfer += $this->_writeList($this->$var, $fspec, $output, false);
+            break;
+          case TType::SET:
+            $xfer += $this->_writeList($this->$var, $fspec, $output, true);
+            break;
+          }
+        }
+        $xfer += $output->writeFieldEnd();
+      }
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TProtocolException.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TProtocolException.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TProtocolException.php
new file mode 100644
index 0000000..98a8d9d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TProtocolException.php
@@ -0,0 +1,48 @@
+<?php
+/*
+ * 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 thrift.protocol
+ * @author: rmarin (marin.radu@facebook.com)
+ */
+
+namespace Thrift\Exception;
+
+use Thrift\Exception\TException;
+
+/**
+ * Protocol module. Contains all the types and definitions needed to implement
+ * a protocol encoder/decoder.
+ *
+ * @package thrift.protocol
+ */
+
+/**
+ * Protocol exceptions
+ */
+class TProtocolException extends TException {
+  const UNKNOWN = 0;
+  const INVALID_DATA = 1;
+  const NEGATIVE_SIZE = 2;
+  const SIZE_LIMIT = 3;
+  const BAD_VERSION = 4;
+
+  function __construct($message=null, $code=0) {
+    parent::__construct($message, $code);
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TTransportException.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TTransportException.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TTransportException.php
new file mode 100644
index 0000000..f467eb9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Exception/TTransportException.php
@@ -0,0 +1,41 @@
+<?php
+/*
+ * 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 thrift.transport
+ */
+
+namespace Thrift\Exception;
+
+use Thrift\Exception\TException;
+
+/**
+ * Transport exceptions
+ */
+class TTransportException extends TException {
+
+  const UNKNOWN = 0;
+  const NOT_OPEN = 1;
+  const ALREADY_OPEN = 2;
+  const TIMED_OUT = 3;
+  const END_OF_FILE = 4;
+
+  function __construct($message=null, $code=0) {
+    parent::__construct($message, $code);
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TBinaryProtocolFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TBinaryProtocolFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TBinaryProtocolFactory.php
new file mode 100644
index 0000000..85da567
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TBinaryProtocolFactory.php
@@ -0,0 +1,43 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Factory;
+
+use Thrift\Factory\TProtocolFactory;
+use Thrift\Protocol\TBinaryProtocol;
+
+/**
+ * Binary Protocol Factory
+ */
+class TBinaryProtocolFactory implements TProtocolFactory {
+  private $strictRead_ = false;
+  private $strictWrite_ = false;
+
+  public function __construct($strictRead=false, $strictWrite=false) {
+    $this->strictRead_ = $strictRead;
+    $this->strictWrite_ = $strictWrite;
+  }
+
+  public function getProtocol($trans) {
+    return new TBinaryProtocol($trans, $this->strictRead_, $this->strictWrite_);
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TCompactProtocolFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TCompactProtocolFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TCompactProtocolFactory.php
new file mode 100644
index 0000000..9f972aa
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TCompactProtocolFactory.php
@@ -0,0 +1,39 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Factory;
+
+use Thrift\Factory\TProtocolFactory;
+use Thrift\Protocol\TCompactProtocol;
+
+/**
+ * Compact Protocol Factory
+ */
+class TCompactProtocolFactory implements TProtocolFactory {
+
+  public function __construct() {
+  }
+
+  public function getProtocol($trans) {
+    return new TCompactProtocol($trans);
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TJSONProtocolFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TJSONProtocolFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TJSONProtocolFactory.php
new file mode 100644
index 0000000..27e4391
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TJSONProtocolFactory.php
@@ -0,0 +1,41 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Factory;
+
+use Thrift\Factory\TProtocolFactory;
+use Thrift\Protocol\TJSONProtocol;
+
+/**
+ * JSON Protocol Factory
+ */
+class TJSONProtocolFactory implements TProtocolFactory
+{
+    public function __construct()
+    {
+    }
+
+    public function getProtocol($trans)
+    {
+        return new TJSONProtocol($trans);
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TProtocolFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TProtocolFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TProtocolFactory.php
new file mode 100644
index 0000000..6b322eb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TProtocolFactory.php
@@ -0,0 +1,35 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Factory;
+
+/**
+ * Protocol factory creates protocol objects from transports
+ */
+interface TProtocolFactory {
+  /**
+   * Build a protocol from the base transport
+   *
+   * @return Thrift\Protocol\TProtocol protocol
+   */
+  public function getProtocol($trans);
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TStringFuncFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TStringFuncFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TStringFuncFactory.php
new file mode 100644
index 0000000..edc3649
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TStringFuncFactory.php
@@ -0,0 +1,63 @@
+<?php
+/*
+ * 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.
+ *
+ */
+
+namespace Thrift\Factory;
+
+use Thrift\StringFunc\Mbstring;
+use Thrift\StringFunc\Core;
+
+class TStringFuncFactory {
+    private static $_instance;
+
+    /**
+     * Get the Singleton instance of TStringFunc implementation that is
+     * compatible with the current system's mbstring.func_overload settings.
+     *
+     * @return TStringFunc
+     */
+    public static function create() {
+        if(!self::$_instance) {
+            self::_setInstance();
+        }
+
+        return self::$_instance;
+    }
+
+    private static function _setInstance() {
+        /**
+         * Cannot use str* functions for byte counting because multibyte
+         * characters will be read a single bytes.
+         *
+         * See: http://us.php.net/manual/en/mbstring.overload.php
+         */
+        if(ini_get('mbstring.func_overload') & 2) {
+            self::$_instance = new Mbstring();
+        }
+        /**
+         * mbstring is not installed or does not have function overloading
+         * of the str* functions enabled so use PHP core str* functions for
+         * byte counting.
+         */
+        else {
+            self::$_instance = new Core();
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TTransportFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TTransportFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TTransportFactory.php
new file mode 100644
index 0000000..f3ae123
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Factory/TTransportFactory.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace Thrift\Factory;
+
+use Thrift\Transport\TTransport;
+
+class TTransportFactory {
+  /**
+   * @static
+   * @param TTransport $transport
+   * @return TTransport
+   */
+  public static function getTransport(TTransport $transport) {
+    return $transport;
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/BaseContext.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/BaseContext.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/BaseContext.php
new file mode 100644
index 0000000..e96e504
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/BaseContext.php
@@ -0,0 +1,39 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Protocol\JSON;
+
+class BaseContext
+{
+    function escapeNum()
+    {
+        return false;
+    }
+
+    function write()
+    {
+    }
+
+    function read()
+    {
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/ListContext.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/ListContext.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/ListContext.php
new file mode 100644
index 0000000..a2b75b1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/ListContext.php
@@ -0,0 +1,52 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Protocol\JSON;
+
+use Thrift\Protocol\JSON\BaseContext;
+use Thrift\Protocol\TJSONProtocol;
+
+class ListContext extends BaseContext
+{
+    private $first_ = true;
+    private $p_;
+
+    public function __construct($p) {
+        $this->p_ = $p;
+    }
+
+    public function write() {
+        if ($this->first_) {
+            $this->first_ = false;
+        } else {
+            $this->p_->getTransport()->write(TJSONProtocol::COMMA);
+        }
+    }
+
+    public function read() {
+        if ($this->first_) {
+            $this->first_ = false;
+        } else {
+            $this->p_->readJSONSyntaxChar(TJSONProtocol::COMMA);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/LookaheadReader.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/LookaheadReader.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/LookaheadReader.php
new file mode 100644
index 0000000..128b5fc
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/LookaheadReader.php
@@ -0,0 +1,54 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Protocol\JSON;
+
+class LookaheadReader
+{
+    private $hasData_ = false;
+    private $data_ = array();
+    private $p_;
+
+    public function __construct($p)
+    {
+        $this->p_ = $p;
+    }
+
+    public function read() {
+        if ($this->hasData_) {
+            $this->hasData_ = false;
+        } else {
+            $this->data_ = $this->p_->getTransport()->readAll(1);
+        }
+
+        return substr($this->data_, 0, 1);
+    }
+
+    public function peek() {
+        if (!$this->hasData_) {
+            $this->data_ = $this->p_->getTransport()->readAll(1);
+        }
+
+        $this->hasData_ = true;
+        return substr($this->data_, 0, 1);
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/PairContext.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/PairContext.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/PairContext.php
new file mode 100644
index 0000000..1c87dd3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/JSON/PairContext.php
@@ -0,0 +1,60 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Protocol\JSON;
+
+use Thrift\Protocol\JSON\BaseContext;
+use Thrift\Protocol\TJSONProtocol;
+
+class PairContext extends BaseContext {
+    private $first_ = true;
+    private $colon_ = true;
+    private $p_ = null;
+
+    public function __construct($p) {
+        $this->p_ = $p;
+    }
+
+    public function write() {
+        if ($this->first_) {
+            $this->first_ = false;
+            $this->colon_ = true;
+        } else {
+            $this->p_->getTransport()->write($this->colon_ ? TJSONProtocol::COLON : TJSONProtocol::COMMA);
+            $this->colon_ = !$this->colon_;
+        }
+    }
+
+    public function read() {
+        if ($this->first_) {
+            $this->first_ = false;
+            $this->colon_ = true;
+        } else {
+            $this->p_->readJSONSyntaxChar($this->colon_ ? TJSONProtocol::COLON : TJSONProtocol::COMMA);
+            $this->colon_ = !$this->colon_;
+        }
+    }
+
+    public function escapeNum() {
+        return $this->colon_;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TBinaryProtocol.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TBinaryProtocol.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TBinaryProtocol.php
new file mode 100644
index 0000000..b1fddac
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TBinaryProtocol.php
@@ -0,0 +1,396 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Protocol;
+
+use Thrift\Protocol\TProtocol;
+use Thrift\Type\TType;
+use Thrift\Exception\TProtocolException;
+use Thrift\Factory\TStringFuncFactory;
+
+/**
+ * Binary implementation of the Thrift protocol.
+ *
+ */
+class TBinaryProtocol extends TProtocol {
+
+  const VERSION_MASK = 0xffff0000;
+  const VERSION_1 = 0x80010000;
+
+  protected $strictRead_ = false;
+  protected $strictWrite_ = true;
+
+  public function __construct($trans, $strictRead=false, $strictWrite=true) {
+    parent::__construct($trans);
+    $this->strictRead_ = $strictRead;
+    $this->strictWrite_ = $strictWrite;
+  }
+
+  public function writeMessageBegin($name, $type, $seqid) {
+    if ($this->strictWrite_) {
+      $version = self::VERSION_1 | $type;
+      return
+        $this->writeI32($version) +
+        $this->writeString($name) +
+        $this->writeI32($seqid);
+    } else {
+      return
+        $this->writeString($name) +
+        $this->writeByte($type) +
+        $this->writeI32($seqid);
+    }
+  }
+
+  public function writeMessageEnd() {
+    return 0;
+  }
+
+  public function writeStructBegin($name) {
+    return 0;
+  }
+
+  public function writeStructEnd() {
+    return 0;
+  }
+
+  public function writeFieldBegin($fieldName, $fieldType, $fieldId) {
+    return
+      $this->writeByte($fieldType) +
+      $this->writeI16($fieldId);
+  }
+
+  public function writeFieldEnd() {
+    return 0;
+  }
+
+  public function writeFieldStop() {
+    return
+      $this->writeByte(TType::STOP);
+  }
+
+  public function writeMapBegin($keyType, $valType, $size) {
+    return
+      $this->writeByte($keyType) +
+      $this->writeByte($valType) +
+      $this->writeI32($size);
+  }
+
+  public function writeMapEnd() {
+    return 0;
+  }
+
+  public function writeListBegin($elemType, $size) {
+    return
+      $this->writeByte($elemType) +
+      $this->writeI32($size);
+  }
+
+  public function writeListEnd() {
+    return 0;
+  }
+
+  public function writeSetBegin($elemType, $size) {
+    return
+      $this->writeByte($elemType) +
+      $this->writeI32($size);
+  }
+
+  public function writeSetEnd() {
+    return 0;
+  }
+
+  public function writeBool($value) {
+    $data = pack('c', $value ? 1 : 0);
+    $this->trans_->write($data, 1);
+    return 1;
+  }
+
+  public function writeByte($value) {
+    $data = pack('c', $value);
+    $this->trans_->write($data, 1);
+    return 1;
+  }
+
+  public function writeI16($value) {
+    $data = pack('n', $value);
+    $this->trans_->write($data, 2);
+    return 2;
+  }
+
+  public function writeI32($value) {
+    $data = pack('N', $value);
+    $this->trans_->write($data, 4);
+    return 4;
+  }
+
+  public function writeI64($value) {
+    // If we are on a 32bit architecture we have to explicitly deal with
+    // 64-bit twos-complement arithmetic since PHP wants to treat all ints
+    // as signed and any int over 2^31 - 1 as a float
+    if (PHP_INT_SIZE == 4) {
+      $neg = $value < 0;
+
+      if ($neg) {
+        $value *= -1;
+      }
+
+      $hi = (int)($value / 4294967296);
+      $lo = (int)$value;
+
+      if ($neg) {
+        $hi = ~$hi;
+        $lo = ~$lo;
+        if (($lo & (int)0xffffffff) == (int)0xffffffff) {
+          $lo = 0;
+          $hi++;
+        } else {
+          $lo++;
+        }
+      }
+      $data = pack('N2', $hi, $lo);
+
+    } else {
+      $hi = $value >> 32;
+      $lo = $value & 0xFFFFFFFF;
+      $data = pack('N2', $hi, $lo);
+    }
+
+    $this->trans_->write($data, 8);
+    return 8;
+  }
+
+  public function writeDouble($value) {
+    $data = pack('d', $value);
+    $this->trans_->write(strrev($data), 8);
+    return 8;
+  }
+
+  public function writeString($value) {
+    $len = TStringFuncFactory::create()->strlen($value);
+    $result = $this->writeI32($len);
+    if ($len) {
+      $this->trans_->write($value, $len);
+    }
+    return $result + $len;
+  }
+
+  public function readMessageBegin(&$name, &$type, &$seqid) {
+    $result = $this->readI32($sz);
+    if ($sz < 0) {
+      $version = (int) ($sz & self::VERSION_MASK);
+      if ($version != (int) self::VERSION_1) {
+        throw new TProtocolException('Bad version identifier: '.$sz, TProtocolException::BAD_VERSION);
+      }
+      $type = $sz & 0x000000ff;
+      $result +=
+        $this->readString($name) +
+        $this->readI32($seqid);
+    } else {
+      if ($this->strictRead_) {
+        throw new TProtocolException('No version identifier, old protocol client?', TProtocolException::BAD_VERSION);
+      } else {
+        // Handle pre-versioned input
+        $name = $this->trans_->readAll($sz);
+        $result +=
+          $sz +
+          $this->readByte($type) +
+          $this->readI32($seqid);
+      }
+    }
+    return $result;
+  }
+
+  public function readMessageEnd() {
+    return 0;
+  }
+
+  public function readStructBegin(&$name) {
+    $name = '';
+    return 0;
+  }
+
+  public function readStructEnd() {
+    return 0;
+  }
+
+  public function readFieldBegin(&$name, &$fieldType, &$fieldId) {
+    $result = $this->readByte($fieldType);
+    if ($fieldType == TType::STOP) {
+      $fieldId = 0;
+      return $result;
+    }
+    $result += $this->readI16($fieldId);
+    return $result;
+  }
+
+  public function readFieldEnd() {
+    return 0;
+  }
+
+  public function readMapBegin(&$keyType, &$valType, &$size) {
+    return
+      $this->readByte($keyType) +
+      $this->readByte($valType) +
+      $this->readI32($size);
+  }
+
+  public function readMapEnd() {
+    return 0;
+  }
+
+  public function readListBegin(&$elemType, &$size) {
+    return
+      $this->readByte($elemType) +
+      $this->readI32($size);
+  }
+
+  public function readListEnd() {
+    return 0;
+  }
+
+  public function readSetBegin(&$elemType, &$size) {
+    return
+      $this->readByte($elemType) +
+      $this->readI32($size);
+  }
+
+  public function readSetEnd() {
+    return 0;
+  }
+
+  public function readBool(&$value) {
+    $data = $this->trans_->readAll(1);
+    $arr = unpack('c', $data);
+    $value = $arr[1] == 1;
+    return 1;
+  }
+
+  public function readByte(&$value) {
+    $data = $this->trans_->readAll(1);
+    $arr = unpack('c', $data);
+    $value = $arr[1];
+    return 1;
+  }
+
+  public function readI16(&$value) {
+    $data = $this->trans_->readAll(2);
+    $arr = unpack('n', $data);
+    $value = $arr[1];
+    if ($value > 0x7fff) {
+      $value = 0 - (($value - 1) ^ 0xffff);
+    }
+    return 2;
+  }
+
+  public function readI32(&$value) {
+    $data = $this->trans_->readAll(4);
+    $arr = unpack('N', $data);
+    $value = $arr[1];
+    if ($value > 0x7fffffff) {
+      $value = 0 - (($value - 1) ^ 0xffffffff);
+    }
+    return 4;
+  }
+
+  public function readI64(&$value) {
+    $data = $this->trans_->readAll(8);
+
+    $arr = unpack('N2', $data);
+
+    // If we are on a 32bit architecture we have to explicitly deal with
+    // 64-bit twos-complement arithmetic since PHP wants to treat all ints
+    // as signed and any int over 2^31 - 1 as a float
+    if (PHP_INT_SIZE == 4) {
+
+      $hi = $arr[1];
+      $lo = $arr[2];
+      $isNeg = $hi  < 0;
+
+      // Check for a negative
+      if ($isNeg) {
+        $hi = ~$hi & (int)0xffffffff;
+        $lo = ~$lo & (int)0xffffffff;
+
+        if ($lo == (int)0xffffffff) {
+          $hi++;
+          $lo = 0;
+        } else {
+          $lo++;
+        }
+      }
+
+      // Force 32bit words in excess of 2G to pe positive - we deal wigh sign
+      // explicitly below
+
+      if ($hi & (int)0x80000000) {
+        $hi &= (int)0x7fffffff;
+        $hi += 0x80000000;
+      }
+
+      if ($lo & (int)0x80000000) {
+        $lo &= (int)0x7fffffff;
+        $lo += 0x80000000;
+      }
+
+      $value = $hi * 4294967296 + $lo;
+
+      if ($isNeg) {
+        $value = 0 - $value;
+      }
+    } else {
+
+      // Upcast negatives in LSB bit
+      if ($arr[2] & 0x80000000) {
+        $arr[2] = $arr[2] & 0xffffffff;
+      }
+
+      // Check for a negative
+      if ($arr[1] & 0x80000000) {
+        $arr[1] = $arr[1] & 0xffffffff;
+        $arr[1] = $arr[1] ^ 0xffffffff;
+        $arr[2] = $arr[2] ^ 0xffffffff;
+        $value = 0 - $arr[1]*4294967296 - $arr[2] - 1;
+      } else {
+        $value = $arr[1]*4294967296 + $arr[2];
+      }
+    }
+
+    return 8;
+  }
+
+  public function readDouble(&$value) {
+    $data = strrev($this->trans_->readAll(8));
+    $arr = unpack('d', $data);
+    $value = $arr[1];
+    return 8;
+  }
+
+  public function readString(&$value) {
+    $result = $this->readI32($len);
+    if ($len) {
+      $value = $this->trans_->readAll($len);
+    } else {
+      $value = '';
+    }
+    return $result + $len;
+  }
+}


[24/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_types.h
deleted file mode 100644
index c0ec3c2..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_types.h
+++ /dev/null
@@ -1,1801 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef experimentModel_TYPES_H
-#define experimentModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-
-
-
-
-struct ExperimentState {
-  enum type {
-    CREATED = 0,
-    VALIDATED = 1,
-    SCHEDULED = 2,
-    LAUNCHED = 3,
-    EXECUTING = 4,
-    CANCELED = 5,
-    COMPLETED = 6,
-    FAILED = 7,
-    UNKNOWN = 8
-  };
-};
-
-extern const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES;
-
-struct WorkflowNodeState {
-  enum type {
-    INVOKED = 0,
-    EXECUTING = 1,
-    CANCELED = 2,
-    COMPLETED = 3,
-    FAILED = 4,
-    UNKNOWN = 5
-  };
-};
-
-extern const std::map<int, const char*> _WorkflowNodeState_VALUES_TO_NAMES;
-
-struct TaskState {
-  enum type {
-    WAITING = 0,
-    STARTED = 1,
-    PRE_PROCESSING = 2,
-    CONFIGURING_WORKSPACE = 3,
-    INPUT_DATA_STAGING = 4,
-    OUTPUT_DATA_STAGING = 5,
-    POST_PROCESSING = 6,
-    EXECUTING = 7,
-    CANCELED = 8,
-    COMPLETED = 9,
-    FAILED = 10,
-    UNKNOWN = 11
-  };
-};
-
-extern const std::map<int, const char*> _TaskState_VALUES_TO_NAMES;
-
-struct JobState {
-  enum type {
-    SUBMITTED = 0,
-    UN_SUBMITTED = 1,
-    SETUP = 2,
-    QUEUED = 3,
-    ACTIVE = 4,
-    COMPLETE = 5,
-    CANCELED = 6,
-    FAILED = 7,
-    HELD = 8,
-    SUSPENDED = 9,
-    UNKNOWN = 10
-  };
-};
-
-extern const std::map<int, const char*> _JobState_VALUES_TO_NAMES;
-
-struct TransferState {
-  enum type {
-    DIRECTORY_SETUP = 0,
-    UPLOAD = 1,
-    DOWNLOAD = 2,
-    ACTIVE = 3,
-    COMPLETE = 4,
-    STDOUT_DOWNLOAD = 5,
-    STDERROR_DOWNLOAD = 6,
-    CANCELED = 7,
-    FAILED = 8,
-    HELD = 9,
-    SUSPENDED = 10,
-    UNKNOWN = 11
-  };
-};
-
-extern const std::map<int, const char*> _TransferState_VALUES_TO_NAMES;
-
-struct ActionableGroup {
-  enum type {
-    RESOURCE_ADMINS = 0,
-    AIRAVATA_ADMINS = 1,
-    GATEWAYS_ADMINS = 2,
-    USER = 3,
-    CANNOT_BE_DETERMINED = 4
-  };
-};
-
-extern const std::map<int, const char*> _ActionableGroup_VALUES_TO_NAMES;
-
-struct ErrorCategory {
-  enum type {
-    FILE_SYSTEM_FAILURE = 0,
-    APPLICATION_FAILURE = 1,
-    RESOURCE_NODE_FAILURE = 2,
-    DISK_FULL = 3,
-    INSUFFICIENT_ALLOCATION = 4,
-    SYSTEM_MAINTENANCE = 5,
-    AIRAVATA_INTERNAL_ERROR = 6,
-    CANNOT_BE_DETERMINED = 7
-  };
-};
-
-extern const std::map<int, const char*> _ErrorCategory_VALUES_TO_NAMES;
-
-struct CorrectiveAction {
-  enum type {
-    RETRY_SUBMISSION = 0,
-    CONTACT_SUPPORT = 1,
-    CANNOT_BE_DETERMINED = 2
-  };
-};
-
-extern const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES;
-
-typedef struct _ExperimentStatus__isset {
-  _ExperimentStatus__isset() : timeOfStateChange(false) {}
-  bool timeOfStateChange;
-} _ExperimentStatus__isset;
-
-class ExperimentStatus {
- public:
-
-  static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
-  static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-  ExperimentStatus() : experimentState((ExperimentState::type)0), timeOfStateChange(0) {
-  }
-
-  virtual ~ExperimentStatus() throw() {}
-
-  ExperimentState::type experimentState;
-  int64_t timeOfStateChange;
-
-  _ExperimentStatus__isset __isset;
-
-  void __set_experimentState(const ExperimentState::type val) {
-    experimentState = val;
-  }
-
-  void __set_timeOfStateChange(const int64_t val) {
-    timeOfStateChange = val;
-    __isset.timeOfStateChange = true;
-  }
-
-  bool operator == (const ExperimentStatus & rhs) const
-  {
-    if (!(experimentState == rhs.experimentState))
-      return false;
-    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
-      return false;
-    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
-      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;
-
-};
-
-void swap(ExperimentStatus &a, ExperimentStatus &b);
-
-typedef struct _WorkflowNodeStatus__isset {
-  _WorkflowNodeStatus__isset() : timeOfStateChange(false) {}
-  bool timeOfStateChange;
-} _WorkflowNodeStatus__isset;
-
-class WorkflowNodeStatus {
- public:
-
-  static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
-  static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-  WorkflowNodeStatus() : workflowNodeState((WorkflowNodeState::type)0), timeOfStateChange(0) {
-  }
-
-  virtual ~WorkflowNodeStatus() throw() {}
-
-  WorkflowNodeState::type workflowNodeState;
-  int64_t timeOfStateChange;
-
-  _WorkflowNodeStatus__isset __isset;
-
-  void __set_workflowNodeState(const WorkflowNodeState::type val) {
-    workflowNodeState = val;
-  }
-
-  void __set_timeOfStateChange(const int64_t val) {
-    timeOfStateChange = val;
-    __isset.timeOfStateChange = true;
-  }
-
-  bool operator == (const WorkflowNodeStatus & rhs) const
-  {
-    if (!(workflowNodeState == rhs.workflowNodeState))
-      return false;
-    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
-      return false;
-    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
-      return false;
-    return true;
-  }
-  bool operator != (const WorkflowNodeStatus &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const WorkflowNodeStatus & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(WorkflowNodeStatus &a, WorkflowNodeStatus &b);
-
-typedef struct _TaskStatus__isset {
-  _TaskStatus__isset() : timeOfStateChange(false) {}
-  bool timeOfStateChange;
-} _TaskStatus__isset;
-
-class TaskStatus {
- public:
-
-  static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
-  static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-  TaskStatus() : executionState((TaskState::type)0), timeOfStateChange(0) {
-  }
-
-  virtual ~TaskStatus() throw() {}
-
-  TaskState::type executionState;
-  int64_t timeOfStateChange;
-
-  _TaskStatus__isset __isset;
-
-  void __set_executionState(const TaskState::type val) {
-    executionState = val;
-  }
-
-  void __set_timeOfStateChange(const int64_t val) {
-    timeOfStateChange = val;
-    __isset.timeOfStateChange = true;
-  }
-
-  bool operator == (const TaskStatus & rhs) const
-  {
-    if (!(executionState == rhs.executionState))
-      return false;
-    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
-      return false;
-    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
-      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;
-
-};
-
-void swap(TaskStatus &a, TaskStatus &b);
-
-typedef struct _JobStatus__isset {
-  _JobStatus__isset() : timeOfStateChange(false) {}
-  bool timeOfStateChange;
-} _JobStatus__isset;
-
-class JobStatus {
- public:
-
-  static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
-  static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-  JobStatus() : jobState((JobState::type)0), timeOfStateChange(0) {
-  }
-
-  virtual ~JobStatus() throw() {}
-
-  JobState::type jobState;
-  int64_t timeOfStateChange;
-
-  _JobStatus__isset __isset;
-
-  void __set_jobState(const JobState::type val) {
-    jobState = val;
-  }
-
-  void __set_timeOfStateChange(const int64_t val) {
-    timeOfStateChange = val;
-    __isset.timeOfStateChange = true;
-  }
-
-  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;
-    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;
-
-};
-
-void swap(JobStatus &a, JobStatus &b);
-
-typedef struct _TransferStatus__isset {
-  _TransferStatus__isset() : timeOfStateChange(false) {}
-  bool timeOfStateChange;
-} _TransferStatus__isset;
-
-class TransferStatus {
- public:
-
-  static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
-  static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-  TransferStatus() : transferState((TransferState::type)0), timeOfStateChange(0) {
-  }
-
-  virtual ~TransferStatus() throw() {}
-
-  TransferState::type transferState;
-  int64_t timeOfStateChange;
-
-  _TransferStatus__isset __isset;
-
-  void __set_transferState(const TransferState::type val) {
-    transferState = val;
-  }
-
-  void __set_timeOfStateChange(const int64_t val) {
-    timeOfStateChange = val;
-    __isset.timeOfStateChange = true;
-  }
-
-  bool operator == (const TransferStatus & rhs) const
-  {
-    if (!(transferState == rhs.transferState))
-      return false;
-    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
-      return false;
-    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
-      return false;
-    return true;
-  }
-  bool operator != (const TransferStatus &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const TransferStatus & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(TransferStatus &a, TransferStatus &b);
-
-typedef struct _ApplicationStatus__isset {
-  _ApplicationStatus__isset() : timeOfStateChange(false) {}
-  bool timeOfStateChange;
-} _ApplicationStatus__isset;
-
-class ApplicationStatus {
- public:
-
-  static const char* ascii_fingerprint; // = "E17E126D15049701494262EE3246F603";
-  static const uint8_t binary_fingerprint[16]; // = {0xE1,0x7E,0x12,0x6D,0x15,0x04,0x97,0x01,0x49,0x42,0x62,0xEE,0x32,0x46,0xF6,0x03};
-
-  ApplicationStatus() : applicationState(), timeOfStateChange(0) {
-  }
-
-  virtual ~ApplicationStatus() throw() {}
-
-  std::string applicationState;
-  int64_t timeOfStateChange;
-
-  _ApplicationStatus__isset __isset;
-
-  void __set_applicationState(const std::string& val) {
-    applicationState = val;
-  }
-
-  void __set_timeOfStateChange(const int64_t val) {
-    timeOfStateChange = val;
-    __isset.timeOfStateChange = true;
-  }
-
-  bool operator == (const ApplicationStatus & rhs) const
-  {
-    if (!(applicationState == rhs.applicationState))
-      return false;
-    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
-      return false;
-    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
-      return false;
-    return true;
-  }
-  bool operator != (const ApplicationStatus &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ApplicationStatus & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ApplicationStatus &a, ApplicationStatus &b);
-
-typedef struct _DataObjectType__isset {
-  _DataObjectType__isset() : value(false), type(false), metaData(false) {}
-  bool value;
-  bool type;
-  bool metaData;
-} _DataObjectType__isset;
-
-class DataObjectType {
- 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};
-
-  DataObjectType() : key(), value(), type(), metaData() {
-  }
-
-  virtual ~DataObjectType() throw() {}
-
-  std::string key;
-  std::string value;
-  std::string type;
-  std::string metaData;
-
-  _DataObjectType__isset __isset;
-
-  void __set_key(const std::string& val) {
-    key = val;
-  }
-
-  void __set_value(const std::string& val) {
-    value = val;
-    __isset.value = true;
-  }
-
-  void __set_type(const std::string& val) {
-    type = val;
-    __isset.type = true;
-  }
-
-  void __set_metaData(const std::string& val) {
-    metaData = val;
-    __isset.metaData = true;
-  }
-
-  bool operator == (const DataObjectType & rhs) const
-  {
-    if (!(key == rhs.key))
-      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.metaData != rhs.__isset.metaData)
-      return false;
-    else if (__isset.metaData && !(metaData == rhs.metaData))
-      return false;
-    return true;
-  }
-  bool operator != (const DataObjectType &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const DataObjectType & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(DataObjectType &a, DataObjectType &b);
-
-typedef struct _ComputationalResourceScheduling__isset {
-  _ComputationalResourceScheduling__isset() : resourceHostId(false), totalCPUCount(false), nodeCount(false), numberOfThreads(false), queueName(false), wallTimeLimit(false), jobStartTime(false), totalPhysicalMemory(false), ComputationalProjectAccount(false) {}
-  bool resourceHostId;
-  bool totalCPUCount;
-  bool nodeCount;
-  bool numberOfThreads;
-  bool queueName;
-  bool wallTimeLimit;
-  bool jobStartTime;
-  bool totalPhysicalMemory;
-  bool ComputationalProjectAccount;
-} _ComputationalResourceScheduling__isset;
-
-class ComputationalResourceScheduling {
- public:
-
-  static const char* ascii_fingerprint; // = "32AC7AC41AD3753A7224A32FD6EB4B5D";
-  static const uint8_t binary_fingerprint[16]; // = {0x32,0xAC,0x7A,0xC4,0x1A,0xD3,0x75,0x3A,0x72,0x24,0xA3,0x2F,0xD6,0xEB,0x4B,0x5D};
-
-  ComputationalResourceScheduling() : resourceHostId(), totalCPUCount(0), nodeCount(0), numberOfThreads(0), queueName(), wallTimeLimit(0), jobStartTime(0), totalPhysicalMemory(0), ComputationalProjectAccount() {
-  }
-
-  virtual ~ComputationalResourceScheduling() throw() {}
-
-  std::string resourceHostId;
-  int32_t totalCPUCount;
-  int32_t nodeCount;
-  int32_t numberOfThreads;
-  std::string queueName;
-  int32_t wallTimeLimit;
-  int32_t jobStartTime;
-  int32_t totalPhysicalMemory;
-  std::string ComputationalProjectAccount;
-
-  _ComputationalResourceScheduling__isset __isset;
-
-  void __set_resourceHostId(const std::string& val) {
-    resourceHostId = val;
-    __isset.resourceHostId = true;
-  }
-
-  void __set_totalCPUCount(const int32_t val) {
-    totalCPUCount = val;
-    __isset.totalCPUCount = true;
-  }
-
-  void __set_nodeCount(const int32_t val) {
-    nodeCount = val;
-    __isset.nodeCount = true;
-  }
-
-  void __set_numberOfThreads(const int32_t val) {
-    numberOfThreads = val;
-    __isset.numberOfThreads = true;
-  }
-
-  void __set_queueName(const std::string& val) {
-    queueName = val;
-    __isset.queueName = true;
-  }
-
-  void __set_wallTimeLimit(const int32_t val) {
-    wallTimeLimit = val;
-    __isset.wallTimeLimit = true;
-  }
-
-  void __set_jobStartTime(const int32_t val) {
-    jobStartTime = val;
-    __isset.jobStartTime = true;
-  }
-
-  void __set_totalPhysicalMemory(const int32_t val) {
-    totalPhysicalMemory = val;
-    __isset.totalPhysicalMemory = true;
-  }
-
-  void __set_ComputationalProjectAccount(const std::string& val) {
-    ComputationalProjectAccount = val;
-    __isset.ComputationalProjectAccount = true;
-  }
-
-  bool operator == (const ComputationalResourceScheduling & 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.jobStartTime != rhs.__isset.jobStartTime)
-      return false;
-    else if (__isset.jobStartTime && !(jobStartTime == rhs.jobStartTime))
-      return false;
-    if (__isset.totalPhysicalMemory != rhs.__isset.totalPhysicalMemory)
-      return false;
-    else if (__isset.totalPhysicalMemory && !(totalPhysicalMemory == rhs.totalPhysicalMemory))
-      return false;
-    if (__isset.ComputationalProjectAccount != rhs.__isset.ComputationalProjectAccount)
-      return false;
-    else if (__isset.ComputationalProjectAccount && !(ComputationalProjectAccount == rhs.ComputationalProjectAccount))
-      return false;
-    return true;
-  }
-  bool operator != (const ComputationalResourceScheduling &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ComputationalResourceScheduling & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ComputationalResourceScheduling &a, ComputationalResourceScheduling &b);
-
-typedef struct _AdvancedInputDataHandling__isset {
-  _AdvancedInputDataHandling__isset() : stageInputFilesToWorkingDir(true), parentWorkingDirectory(false), uniqueWorkingDirectory(false), cleanUpWorkingDirAfterJob(true) {}
-  bool stageInputFilesToWorkingDir;
-  bool parentWorkingDirectory;
-  bool uniqueWorkingDirectory;
-  bool cleanUpWorkingDirAfterJob;
-} _AdvancedInputDataHandling__isset;
-
-class AdvancedInputDataHandling {
- public:
-
-  static const char* ascii_fingerprint; // = "6139039875942E8B25C483838DD664B7";
-  static const uint8_t binary_fingerprint[16]; // = {0x61,0x39,0x03,0x98,0x75,0x94,0x2E,0x8B,0x25,0xC4,0x83,0x83,0x8D,0xD6,0x64,0xB7};
-
-  AdvancedInputDataHandling() : stageInputFilesToWorkingDir(false), parentWorkingDirectory(), uniqueWorkingDirectory(), cleanUpWorkingDirAfterJob(false) {
-  }
-
-  virtual ~AdvancedInputDataHandling() throw() {}
-
-  bool stageInputFilesToWorkingDir;
-  std::string parentWorkingDirectory;
-  std::string uniqueWorkingDirectory;
-  bool cleanUpWorkingDirAfterJob;
-
-  _AdvancedInputDataHandling__isset __isset;
-
-  void __set_stageInputFilesToWorkingDir(const bool val) {
-    stageInputFilesToWorkingDir = val;
-    __isset.stageInputFilesToWorkingDir = true;
-  }
-
-  void __set_parentWorkingDirectory(const std::string& val) {
-    parentWorkingDirectory = val;
-    __isset.parentWorkingDirectory = true;
-  }
-
-  void __set_uniqueWorkingDirectory(const std::string& val) {
-    uniqueWorkingDirectory = val;
-    __isset.uniqueWorkingDirectory = true;
-  }
-
-  void __set_cleanUpWorkingDirAfterJob(const bool val) {
-    cleanUpWorkingDirAfterJob = val;
-    __isset.cleanUpWorkingDirAfterJob = true;
-  }
-
-  bool operator == (const AdvancedInputDataHandling & rhs) const
-  {
-    if (__isset.stageInputFilesToWorkingDir != rhs.__isset.stageInputFilesToWorkingDir)
-      return false;
-    else if (__isset.stageInputFilesToWorkingDir && !(stageInputFilesToWorkingDir == rhs.stageInputFilesToWorkingDir))
-      return false;
-    if (__isset.parentWorkingDirectory != rhs.__isset.parentWorkingDirectory)
-      return false;
-    else if (__isset.parentWorkingDirectory && !(parentWorkingDirectory == rhs.parentWorkingDirectory))
-      return false;
-    if (__isset.uniqueWorkingDirectory != rhs.__isset.uniqueWorkingDirectory)
-      return false;
-    else if (__isset.uniqueWorkingDirectory && !(uniqueWorkingDirectory == rhs.uniqueWorkingDirectory))
-      return false;
-    if (__isset.cleanUpWorkingDirAfterJob != rhs.__isset.cleanUpWorkingDirAfterJob)
-      return false;
-    else if (__isset.cleanUpWorkingDirAfterJob && !(cleanUpWorkingDirAfterJob == rhs.cleanUpWorkingDirAfterJob))
-      return false;
-    return true;
-  }
-  bool operator != (const AdvancedInputDataHandling &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const AdvancedInputDataHandling & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(AdvancedInputDataHandling &a, AdvancedInputDataHandling &b);
-
-typedef struct _AdvancedOutputDataHandling__isset {
-  _AdvancedOutputDataHandling__isset() : outputDataDir(false), dataRegistryURL(false), persistOutputData(true) {}
-  bool outputDataDir;
-  bool dataRegistryURL;
-  bool persistOutputData;
-} _AdvancedOutputDataHandling__isset;
-
-class AdvancedOutputDataHandling {
- public:
-
-  static const char* ascii_fingerprint; // = "6EC898D3B5ECFF21200795BD22F73CD2";
-  static const uint8_t binary_fingerprint[16]; // = {0x6E,0xC8,0x98,0xD3,0xB5,0xEC,0xFF,0x21,0x20,0x07,0x95,0xBD,0x22,0xF7,0x3C,0xD2};
-
-  AdvancedOutputDataHandling() : outputDataDir(), dataRegistryURL(), persistOutputData(true) {
-  }
-
-  virtual ~AdvancedOutputDataHandling() throw() {}
-
-  std::string outputDataDir;
-  std::string dataRegistryURL;
-  bool persistOutputData;
-
-  _AdvancedOutputDataHandling__isset __isset;
-
-  void __set_outputDataDir(const std::string& val) {
-    outputDataDir = val;
-    __isset.outputDataDir = true;
-  }
-
-  void __set_dataRegistryURL(const std::string& val) {
-    dataRegistryURL = val;
-    __isset.dataRegistryURL = true;
-  }
-
-  void __set_persistOutputData(const bool val) {
-    persistOutputData = val;
-    __isset.persistOutputData = true;
-  }
-
-  bool operator == (const AdvancedOutputDataHandling & rhs) const
-  {
-    if (__isset.outputDataDir != rhs.__isset.outputDataDir)
-      return false;
-    else if (__isset.outputDataDir && !(outputDataDir == rhs.outputDataDir))
-      return false;
-    if (__isset.dataRegistryURL != rhs.__isset.dataRegistryURL)
-      return false;
-    else if (__isset.dataRegistryURL && !(dataRegistryURL == rhs.dataRegistryURL))
-      return false;
-    if (__isset.persistOutputData != rhs.__isset.persistOutputData)
-      return false;
-    else if (__isset.persistOutputData && !(persistOutputData == rhs.persistOutputData))
-      return false;
-    return true;
-  }
-  bool operator != (const AdvancedOutputDataHandling &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const AdvancedOutputDataHandling & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(AdvancedOutputDataHandling &a, AdvancedOutputDataHandling &b);
-
-typedef struct _QualityOfServiceParams__isset {
-  _QualityOfServiceParams__isset() : startExecutionAt(false), executeBefore(false), numberofRetries(false) {}
-  bool startExecutionAt;
-  bool executeBefore;
-  bool numberofRetries;
-} _QualityOfServiceParams__isset;
-
-class QualityOfServiceParams {
- public:
-
-  static const char* ascii_fingerprint; // = "35985D966603A273E8D7132543B44873";
-  static const uint8_t binary_fingerprint[16]; // = {0x35,0x98,0x5D,0x96,0x66,0x03,0xA2,0x73,0xE8,0xD7,0x13,0x25,0x43,0xB4,0x48,0x73};
-
-  QualityOfServiceParams() : startExecutionAt(), executeBefore(), numberofRetries(0) {
-  }
-
-  virtual ~QualityOfServiceParams() throw() {}
-
-  std::string startExecutionAt;
-  std::string executeBefore;
-  int32_t numberofRetries;
-
-  _QualityOfServiceParams__isset __isset;
-
-  void __set_startExecutionAt(const std::string& val) {
-    startExecutionAt = val;
-    __isset.startExecutionAt = true;
-  }
-
-  void __set_executeBefore(const std::string& val) {
-    executeBefore = val;
-    __isset.executeBefore = true;
-  }
-
-  void __set_numberofRetries(const int32_t val) {
-    numberofRetries = val;
-    __isset.numberofRetries = true;
-  }
-
-  bool operator == (const QualityOfServiceParams & rhs) const
-  {
-    if (__isset.startExecutionAt != rhs.__isset.startExecutionAt)
-      return false;
-    else if (__isset.startExecutionAt && !(startExecutionAt == rhs.startExecutionAt))
-      return false;
-    if (__isset.executeBefore != rhs.__isset.executeBefore)
-      return false;
-    else if (__isset.executeBefore && !(executeBefore == rhs.executeBefore))
-      return false;
-    if (__isset.numberofRetries != rhs.__isset.numberofRetries)
-      return false;
-    else if (__isset.numberofRetries && !(numberofRetries == rhs.numberofRetries))
-      return false;
-    return true;
-  }
-  bool operator != (const QualityOfServiceParams &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const QualityOfServiceParams & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(QualityOfServiceParams &a, QualityOfServiceParams &b);
-
-typedef struct _UserConfigurationData__isset {
-  _UserConfigurationData__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false), advanceInputDataHandling(false), advanceOutputDataHandling(false), qosParams(false) {}
-  bool shareExperimentPublicly;
-  bool computationalResourceScheduling;
-  bool advanceInputDataHandling;
-  bool advanceOutputDataHandling;
-  bool qosParams;
-} _UserConfigurationData__isset;
-
-class UserConfigurationData {
- public:
-
-  static const char* ascii_fingerprint; // = "889486266D7ADC041ED1C586A2468611";
-  static const uint8_t binary_fingerprint[16]; // = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
-
-  UserConfigurationData() : airavataAutoSchedule(false), overrideManualScheduledParams(false), shareExperimentPublicly(false) {
-  }
-
-  virtual ~UserConfigurationData() throw() {}
-
-  bool airavataAutoSchedule;
-  bool overrideManualScheduledParams;
-  bool shareExperimentPublicly;
-  ComputationalResourceScheduling computationalResourceScheduling;
-  AdvancedInputDataHandling advanceInputDataHandling;
-  AdvancedOutputDataHandling advanceOutputDataHandling;
-  QualityOfServiceParams qosParams;
-
-  _UserConfigurationData__isset __isset;
-
-  void __set_airavataAutoSchedule(const bool val) {
-    airavataAutoSchedule = val;
-  }
-
-  void __set_overrideManualScheduledParams(const bool val) {
-    overrideManualScheduledParams = val;
-  }
-
-  void __set_shareExperimentPublicly(const bool val) {
-    shareExperimentPublicly = val;
-    __isset.shareExperimentPublicly = true;
-  }
-
-  void __set_computationalResourceScheduling(const ComputationalResourceScheduling& val) {
-    computationalResourceScheduling = val;
-    __isset.computationalResourceScheduling = true;
-  }
-
-  void __set_advanceInputDataHandling(const AdvancedInputDataHandling& val) {
-    advanceInputDataHandling = val;
-    __isset.advanceInputDataHandling = true;
-  }
-
-  void __set_advanceOutputDataHandling(const AdvancedOutputDataHandling& val) {
-    advanceOutputDataHandling = val;
-    __isset.advanceOutputDataHandling = true;
-  }
-
-  void __set_qosParams(const QualityOfServiceParams& val) {
-    qosParams = val;
-    __isset.qosParams = true;
-  }
-
-  bool operator == (const UserConfigurationData & 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.advanceInputDataHandling != rhs.__isset.advanceInputDataHandling)
-      return false;
-    else if (__isset.advanceInputDataHandling && !(advanceInputDataHandling == rhs.advanceInputDataHandling))
-      return false;
-    if (__isset.advanceOutputDataHandling != rhs.__isset.advanceOutputDataHandling)
-      return false;
-    else if (__isset.advanceOutputDataHandling && !(advanceOutputDataHandling == rhs.advanceOutputDataHandling))
-      return false;
-    if (__isset.qosParams != rhs.__isset.qosParams)
-      return false;
-    else if (__isset.qosParams && !(qosParams == rhs.qosParams))
-      return false;
-    return true;
-  }
-  bool operator != (const UserConfigurationData &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const UserConfigurationData & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(UserConfigurationData &a, UserConfigurationData &b);
-
-typedef struct _ErrorDetails__isset {
-  _ErrorDetails__isset() : creationTime(false), actualErrorMessage(false), userFriendlyMessage(false), errorCategory(false), transientOrPersistent(true), correctiveAction(false), actionableGroup(false), rootCauseErrorIdList(false) {}
-  bool creationTime;
-  bool actualErrorMessage;
-  bool userFriendlyMessage;
-  bool errorCategory;
-  bool transientOrPersistent;
-  bool correctiveAction;
-  bool actionableGroup;
-  bool rootCauseErrorIdList;
-} _ErrorDetails__isset;
-
-class ErrorDetails {
- public:
-
-  static const char* ascii_fingerprint; // = "170CA6E79EB283F31417B9D68071DA33";
-  static const uint8_t binary_fingerprint[16]; // = {0x17,0x0C,0xA6,0xE7,0x9E,0xB2,0x83,0xF3,0x14,0x17,0xB9,0xD6,0x80,0x71,0xDA,0x33};
-
-  ErrorDetails() : errorID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), actualErrorMessage(), userFriendlyMessage(), errorCategory((ErrorCategory::type)0), transientOrPersistent(false), correctiveAction((CorrectiveAction::type)0), actionableGroup((ActionableGroup::type)0) {
-  }
-
-  virtual ~ErrorDetails() throw() {}
-
-  std::string errorID;
-  int64_t creationTime;
-  std::string actualErrorMessage;
-  std::string userFriendlyMessage;
-  ErrorCategory::type errorCategory;
-  bool transientOrPersistent;
-  CorrectiveAction::type correctiveAction;
-  ActionableGroup::type actionableGroup;
-  std::vector<std::string>  rootCauseErrorIdList;
-
-  _ErrorDetails__isset __isset;
-
-  void __set_errorID(const std::string& val) {
-    errorID = val;
-  }
-
-  void __set_creationTime(const int64_t val) {
-    creationTime = val;
-    __isset.creationTime = true;
-  }
-
-  void __set_actualErrorMessage(const std::string& val) {
-    actualErrorMessage = val;
-    __isset.actualErrorMessage = true;
-  }
-
-  void __set_userFriendlyMessage(const std::string& val) {
-    userFriendlyMessage = val;
-    __isset.userFriendlyMessage = true;
-  }
-
-  void __set_errorCategory(const ErrorCategory::type val) {
-    errorCategory = val;
-    __isset.errorCategory = true;
-  }
-
-  void __set_transientOrPersistent(const bool val) {
-    transientOrPersistent = val;
-    __isset.transientOrPersistent = true;
-  }
-
-  void __set_correctiveAction(const CorrectiveAction::type val) {
-    correctiveAction = val;
-    __isset.correctiveAction = true;
-  }
-
-  void __set_actionableGroup(const ActionableGroup::type val) {
-    actionableGroup = val;
-    __isset.actionableGroup = true;
-  }
-
-  void __set_rootCauseErrorIdList(const std::vector<std::string> & val) {
-    rootCauseErrorIdList = val;
-    __isset.rootCauseErrorIdList = true;
-  }
-
-  bool operator == (const ErrorDetails & 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.errorCategory != rhs.__isset.errorCategory)
-      return false;
-    else if (__isset.errorCategory && !(errorCategory == rhs.errorCategory))
-      return false;
-    if (__isset.transientOrPersistent != rhs.__isset.transientOrPersistent)
-      return false;
-    else if (__isset.transientOrPersistent && !(transientOrPersistent == rhs.transientOrPersistent))
-      return false;
-    if (__isset.correctiveAction != rhs.__isset.correctiveAction)
-      return false;
-    else if (__isset.correctiveAction && !(correctiveAction == rhs.correctiveAction))
-      return false;
-    if (__isset.actionableGroup != rhs.__isset.actionableGroup)
-      return false;
-    else if (__isset.actionableGroup && !(actionableGroup == rhs.actionableGroup))
-      return false;
-    if (__isset.rootCauseErrorIdList != rhs.__isset.rootCauseErrorIdList)
-      return false;
-    else if (__isset.rootCauseErrorIdList && !(rootCauseErrorIdList == rhs.rootCauseErrorIdList))
-      return false;
-    return true;
-  }
-  bool operator != (const ErrorDetails &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ErrorDetails & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ErrorDetails &a, ErrorDetails &b);
-
-typedef struct _JobDetails__isset {
-  _JobDetails__isset() : creationTime(false), jobStatus(false), applicationStatus(false), errors(false), computeResourceConsumed(false) {}
-  bool creationTime;
-  bool jobStatus;
-  bool applicationStatus;
-  bool errors;
-  bool computeResourceConsumed;
-} _JobDetails__isset;
-
-class JobDetails {
- public:
-
-  static const char* ascii_fingerprint; // = "5946807521C11BC65075D497F8568057";
-  static const uint8_t binary_fingerprint[16]; // = {0x59,0x46,0x80,0x75,0x21,0xC1,0x1B,0xC6,0x50,0x75,0xD4,0x97,0xF8,0x56,0x80,0x57};
-
-  JobDetails() : jobID("DO_NOT_SET_AT_CLIENTS"), jobDescription(), creationTime(0), computeResourceConsumed() {
-  }
-
-  virtual ~JobDetails() throw() {}
-
-  std::string jobID;
-  std::string jobDescription;
-  int64_t creationTime;
-  JobStatus jobStatus;
-  ApplicationStatus applicationStatus;
-  std::vector<ErrorDetails>  errors;
-  std::string computeResourceConsumed;
-
-  _JobDetails__isset __isset;
-
-  void __set_jobID(const std::string& val) {
-    jobID = val;
-  }
-
-  void __set_jobDescription(const std::string& val) {
-    jobDescription = val;
-  }
-
-  void __set_creationTime(const int64_t val) {
-    creationTime = val;
-    __isset.creationTime = true;
-  }
-
-  void __set_jobStatus(const JobStatus& val) {
-    jobStatus = val;
-    __isset.jobStatus = true;
-  }
-
-  void __set_applicationStatus(const ApplicationStatus& val) {
-    applicationStatus = val;
-    __isset.applicationStatus = true;
-  }
-
-  void __set_errors(const std::vector<ErrorDetails> & val) {
-    errors = val;
-    __isset.errors = true;
-  }
-
-  void __set_computeResourceConsumed(const std::string& val) {
-    computeResourceConsumed = val;
-    __isset.computeResourceConsumed = true;
-  }
-
-  bool operator == (const JobDetails & rhs) const
-  {
-    if (!(jobID == rhs.jobID))
-      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.applicationStatus != rhs.__isset.applicationStatus)
-      return false;
-    else if (__isset.applicationStatus && !(applicationStatus == rhs.applicationStatus))
-      return false;
-    if (__isset.errors != rhs.__isset.errors)
-      return false;
-    else if (__isset.errors && !(errors == rhs.errors))
-      return false;
-    if (__isset.computeResourceConsumed != rhs.__isset.computeResourceConsumed)
-      return false;
-    else if (__isset.computeResourceConsumed && !(computeResourceConsumed == rhs.computeResourceConsumed))
-      return false;
-    return true;
-  }
-  bool operator != (const JobDetails &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const JobDetails & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(JobDetails &a, JobDetails &b);
-
-typedef struct _DataTransferDetails__isset {
-  _DataTransferDetails__isset() : creationTime(false), transferStatus(false) {}
-  bool creationTime;
-  bool transferStatus;
-} _DataTransferDetails__isset;
-
-class DataTransferDetails {
- public:
-
-  static const char* ascii_fingerprint; // = "40D4FEC20E3B334AEEBA92DA2AB9E91E";
-  static const uint8_t binary_fingerprint[16]; // = {0x40,0xD4,0xFE,0xC2,0x0E,0x3B,0x33,0x4A,0xEE,0xBA,0x92,0xDA,0x2A,0xB9,0xE9,0x1E};
-
-  DataTransferDetails() : transferID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), transferDescription() {
-  }
-
-  virtual ~DataTransferDetails() throw() {}
-
-  std::string transferID;
-  int64_t creationTime;
-  std::string transferDescription;
-  TransferStatus transferStatus;
-
-  _DataTransferDetails__isset __isset;
-
-  void __set_transferID(const std::string& val) {
-    transferID = val;
-  }
-
-  void __set_creationTime(const int64_t val) {
-    creationTime = val;
-    __isset.creationTime = true;
-  }
-
-  void __set_transferDescription(const std::string& val) {
-    transferDescription = val;
-  }
-
-  void __set_transferStatus(const TransferStatus& val) {
-    transferStatus = val;
-    __isset.transferStatus = true;
-  }
-
-  bool operator == (const DataTransferDetails & rhs) const
-  {
-    if (!(transferID == rhs.transferID))
-      return false;
-    if (__isset.creationTime != rhs.__isset.creationTime)
-      return false;
-    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
-      return false;
-    if (!(transferDescription == rhs.transferDescription))
-      return false;
-    if (__isset.transferStatus != rhs.__isset.transferStatus)
-      return false;
-    else if (__isset.transferStatus && !(transferStatus == rhs.transferStatus))
-      return false;
-    return true;
-  }
-  bool operator != (const DataTransferDetails &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const DataTransferDetails & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(DataTransferDetails &a, DataTransferDetails &b);
-
-typedef struct _TaskDetails__isset {
-  _TaskDetails__isset() : creationTime(false), applicationId(false), applicationVersion(false), applicationInputs(false), applicationOutputs(false), taskScheduling(false), advancedInputDataHandling(false), advancedOutputDataHandling(false), taskStatus(false), jobDetailsList(false), dataTransferDetailsList(false), errors(false) {}
-  bool creationTime;
-  bool applicationId;
-  bool applicationVersion;
-  bool applicationInputs;
-  bool applicationOutputs;
-  bool taskScheduling;
-  bool advancedInputDataHandling;
-  bool advancedOutputDataHandling;
-  bool taskStatus;
-  bool jobDetailsList;
-  bool dataTransferDetailsList;
-  bool errors;
-} _TaskDetails__isset;
-
-class TaskDetails {
- public:
-
-  static const char* ascii_fingerprint; // = "705A0D2F86DF8E37DD3741EEF4EB51A0";
-  static const uint8_t binary_fingerprint[16]; // = {0x70,0x5A,0x0D,0x2F,0x86,0xDF,0x8E,0x37,0xDD,0x37,0x41,0xEE,0xF4,0xEB,0x51,0xA0};
-
-  TaskDetails() : taskID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), applicationId(), applicationVersion() {
-  }
-
-  virtual ~TaskDetails() throw() {}
-
-  std::string taskID;
-  int64_t creationTime;
-  std::string applicationId;
-  std::string applicationVersion;
-  std::vector<DataObjectType>  applicationInputs;
-  std::vector<DataObjectType>  applicationOutputs;
-  ComputationalResourceScheduling taskScheduling;
-  AdvancedInputDataHandling advancedInputDataHandling;
-  AdvancedOutputDataHandling advancedOutputDataHandling;
-  TaskStatus taskStatus;
-  std::vector<JobDetails>  jobDetailsList;
-  std::vector<DataTransferDetails>  dataTransferDetailsList;
-  std::vector<ErrorDetails>  errors;
-
-  _TaskDetails__isset __isset;
-
-  void __set_taskID(const std::string& val) {
-    taskID = val;
-  }
-
-  void __set_creationTime(const int64_t val) {
-    creationTime = val;
-    __isset.creationTime = true;
-  }
-
-  void __set_applicationId(const std::string& val) {
-    applicationId = val;
-    __isset.applicationId = true;
-  }
-
-  void __set_applicationVersion(const std::string& val) {
-    applicationVersion = val;
-    __isset.applicationVersion = true;
-  }
-
-  void __set_applicationInputs(const std::vector<DataObjectType> & val) {
-    applicationInputs = val;
-    __isset.applicationInputs = true;
-  }
-
-  void __set_applicationOutputs(const std::vector<DataObjectType> & val) {
-    applicationOutputs = val;
-    __isset.applicationOutputs = true;
-  }
-
-  void __set_taskScheduling(const ComputationalResourceScheduling& val) {
-    taskScheduling = val;
-    __isset.taskScheduling = true;
-  }
-
-  void __set_advancedInputDataHandling(const AdvancedInputDataHandling& val) {
-    advancedInputDataHandling = val;
-    __isset.advancedInputDataHandling = true;
-  }
-
-  void __set_advancedOutputDataHandling(const AdvancedOutputDataHandling& val) {
-    advancedOutputDataHandling = val;
-    __isset.advancedOutputDataHandling = true;
-  }
-
-  void __set_taskStatus(const TaskStatus& val) {
-    taskStatus = val;
-    __isset.taskStatus = true;
-  }
-
-  void __set_jobDetailsList(const std::vector<JobDetails> & val) {
-    jobDetailsList = val;
-    __isset.jobDetailsList = true;
-  }
-
-  void __set_dataTransferDetailsList(const std::vector<DataTransferDetails> & val) {
-    dataTransferDetailsList = val;
-    __isset.dataTransferDetailsList = true;
-  }
-
-  void __set_errors(const std::vector<ErrorDetails> & val) {
-    errors = val;
-    __isset.errors = true;
-  }
-
-  bool operator == (const TaskDetails & rhs) const
-  {
-    if (!(taskID == rhs.taskID))
-      return false;
-    if (__isset.creationTime != rhs.__isset.creationTime)
-      return false;
-    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
-      return false;
-    if (__isset.applicationId != rhs.__isset.applicationId)
-      return false;
-    else if (__isset.applicationId && !(applicationId == rhs.applicationId))
-      return false;
-    if (__isset.applicationVersion != rhs.__isset.applicationVersion)
-      return false;
-    else if (__isset.applicationVersion && !(applicationVersion == rhs.applicationVersion))
-      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;
-    if (__isset.taskScheduling != rhs.__isset.taskScheduling)
-      return false;
-    else if (__isset.taskScheduling && !(taskScheduling == rhs.taskScheduling))
-      return false;
-    if (__isset.advancedInputDataHandling != rhs.__isset.advancedInputDataHandling)
-      return false;
-    else if (__isset.advancedInputDataHandling && !(advancedInputDataHandling == rhs.advancedInputDataHandling))
-      return false;
-    if (__isset.advancedOutputDataHandling != rhs.__isset.advancedOutputDataHandling)
-      return false;
-    else if (__isset.advancedOutputDataHandling && !(advancedOutputDataHandling == rhs.advancedOutputDataHandling))
-      return false;
-    if (__isset.taskStatus != rhs.__isset.taskStatus)
-      return false;
-    else if (__isset.taskStatus && !(taskStatus == rhs.taskStatus))
-      return false;
-    if (__isset.jobDetailsList != rhs.__isset.jobDetailsList)
-      return false;
-    else if (__isset.jobDetailsList && !(jobDetailsList == rhs.jobDetailsList))
-      return false;
-    if (__isset.dataTransferDetailsList != rhs.__isset.dataTransferDetailsList)
-      return false;
-    else if (__isset.dataTransferDetailsList && !(dataTransferDetailsList == rhs.dataTransferDetailsList))
-      return false;
-    if (__isset.errors != rhs.__isset.errors)
-      return false;
-    else if (__isset.errors && !(errors == rhs.errors))
-      return false;
-    return true;
-  }
-  bool operator != (const TaskDetails &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const TaskDetails & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(TaskDetails &a, TaskDetails &b);
-
-typedef struct _WorkflowNodeDetails__isset {
-  _WorkflowNodeDetails__isset() : creationTime(false), nodeInputs(false), nodeOutputs(false), workflowNodeStatus(false), taskDetailsList(false), errors(false) {}
-  bool creationTime;
-  bool nodeInputs;
-  bool nodeOutputs;
-  bool workflowNodeStatus;
-  bool taskDetailsList;
-  bool errors;
-} _WorkflowNodeDetails__isset;
-
-class WorkflowNodeDetails {
- public:
-
-  static const char* ascii_fingerprint; // = "D244C94A6A1DF1DFBA2E34E7756C28EF";
-  static const uint8_t binary_fingerprint[16]; // = {0xD2,0x44,0xC9,0x4A,0x6A,0x1D,0xF1,0xDF,0xBA,0x2E,0x34,0xE7,0x75,0x6C,0x28,0xEF};
-
-  WorkflowNodeDetails() : nodeInstanceId("DO_NOT_SET_AT_CLIENTS"), creationTime(0), nodeName("SINGLE_APP_NODE") {
-  }
-
-  virtual ~WorkflowNodeDetails() throw() {}
-
-  std::string nodeInstanceId;
-  int64_t creationTime;
-  std::string nodeName;
-  std::vector<DataObjectType>  nodeInputs;
-  std::vector<DataObjectType>  nodeOutputs;
-  WorkflowNodeStatus workflowNodeStatus;
-  std::vector<TaskDetails>  taskDetailsList;
-  std::vector<ErrorDetails>  errors;
-
-  _WorkflowNodeDetails__isset __isset;
-
-  void __set_nodeInstanceId(const std::string& val) {
-    nodeInstanceId = val;
-  }
-
-  void __set_creationTime(const int64_t val) {
-    creationTime = val;
-    __isset.creationTime = true;
-  }
-
-  void __set_nodeName(const std::string& val) {
-    nodeName = val;
-  }
-
-  void __set_nodeInputs(const std::vector<DataObjectType> & val) {
-    nodeInputs = val;
-    __isset.nodeInputs = true;
-  }
-
-  void __set_nodeOutputs(const std::vector<DataObjectType> & val) {
-    nodeOutputs = val;
-    __isset.nodeOutputs = true;
-  }
-
-  void __set_workflowNodeStatus(const WorkflowNodeStatus& val) {
-    workflowNodeStatus = val;
-    __isset.workflowNodeStatus = true;
-  }
-
-  void __set_taskDetailsList(const std::vector<TaskDetails> & val) {
-    taskDetailsList = val;
-    __isset.taskDetailsList = true;
-  }
-
-  void __set_errors(const std::vector<ErrorDetails> & val) {
-    errors = val;
-    __isset.errors = true;
-  }
-
-  bool operator == (const WorkflowNodeDetails & rhs) const
-  {
-    if (!(nodeInstanceId == rhs.nodeInstanceId))
-      return false;
-    if (__isset.creationTime != rhs.__isset.creationTime)
-      return false;
-    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
-      return false;
-    if (!(nodeName == rhs.nodeName))
-      return false;
-    if (__isset.nodeInputs != rhs.__isset.nodeInputs)
-      return false;
-    else if (__isset.nodeInputs && !(nodeInputs == rhs.nodeInputs))
-      return false;
-    if (__isset.nodeOutputs != rhs.__isset.nodeOutputs)
-      return false;
-    else if (__isset.nodeOutputs && !(nodeOutputs == rhs.nodeOutputs))
-      return false;
-    if (__isset.workflowNodeStatus != rhs.__isset.workflowNodeStatus)
-      return false;
-    else if (__isset.workflowNodeStatus && !(workflowNodeStatus == rhs.workflowNodeStatus))
-      return false;
-    if (__isset.taskDetailsList != rhs.__isset.taskDetailsList)
-      return false;
-    else if (__isset.taskDetailsList && !(taskDetailsList == rhs.taskDetailsList))
-      return false;
-    if (__isset.errors != rhs.__isset.errors)
-      return false;
-    else if (__isset.errors && !(errors == rhs.errors))
-      return false;
-    return true;
-  }
-  bool operator != (const WorkflowNodeDetails &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const WorkflowNodeDetails & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(WorkflowNodeDetails &a, WorkflowNodeDetails &b);
-
-typedef struct _Experiment__isset {
-  _Experiment__isset() : creationTime(false), description(false), applicationId(false), applicationVersion(false), workflowTemplateId(false), workflowTemplateVersion(false), userConfigurationData(false), workflowExecutionInstanceId(false), experimentInputs(false), experimentOutputs(false), experimentStatus(false), stateChangeList(false), workflowNodeDetailsList(false), errors(false) {}
-  bool creationTime;
-  bool description;
-  bool applicationId;
-  bool applicationVersion;
-  bool workflowTemplateId;
-  bool workflowTemplateVersion;
-  bool userConfigurationData;
-  bool workflowExecutionInstanceId;
-  bool experimentInputs;
-  bool experimentOutputs;
-  bool experimentStatus;
-  bool stateChangeList;
-  bool workflowNodeDetailsList;
-  bool errors;
-} _Experiment__isset;
-
-class Experiment {
- public:
-
-  static const char* ascii_fingerprint; // = "AAEAE252F6A2D0BD15514CB57DB7745F";
-  static const uint8_t binary_fingerprint[16]; // = {0xAA,0xEA,0xE2,0x52,0xF6,0xA2,0xD0,0xBD,0x15,0x51,0x4C,0xB5,0x7D,0xB7,0x74,0x5F};
-
-  Experiment() : experimentID("DO_NOT_SET_AT_CLIENTS"), projectID("DEFAULT"), creationTime(0), userName(), name(), description(), applicationId(), applicationVersion(), workflowTemplateId(), workflowTemplateVersion(), workflowExecutionInstanceId() {
-  }
-
-  virtual ~Experiment() throw() {}
-
-  std::string experimentID;
-  std::string projectID;
-  int64_t creationTime;
-  std::string userName;
-  std::string name;
-  std::string description;
-  std::string applicationId;
-  std::string applicationVersion;
-  std::string workflowTemplateId;
-  std::string workflowTemplateVersion;
-  UserConfigurationData userConfigurationData;
-  std::string workflowExecutionInstanceId;
-  std::vector<DataObjectType>  experimentInputs;
-  std::vector<DataObjectType>  experimentOutputs;
-  ExperimentStatus experimentStatus;
-  std::vector<WorkflowNodeStatus>  stateChangeList;
-  std::vector<WorkflowNodeDetails>  workflowNodeDetailsList;
-  std::vector<ErrorDetails>  errors;
-
-  _Experiment__isset __isset;
-
-  void __set_experimentID(const std::string& val) {
-    experimentID = val;
-  }
-
-  void __set_projectID(const std::string& val) {
-    projectID = val;
-  }
-
-  void __set_creationTime(const int64_t val) {
-    creationTime = val;
-    __isset.creationTime = true;
-  }
-
-  void __set_userName(const std::string& val) {
-    userName = val;
-  }
-
-  void __set_name(const std::string& val) {
-    name = val;
-  }
-
-  void __set_description(const std::string& val) {
-    description = val;
-    __isset.description = true;
-  }
-
-  void __set_applicationId(const std::string& val) {
-    applicationId = val;
-    __isset.applicationId = true;
-  }
-
-  void __set_applicationVersion(const std::string& val) {
-    applicationVersion = val;
-    __isset.applicationVersion = true;
-  }
-
-  void __set_workflowTemplateId(const std::string& val) {
-    workflowTemplateId = val;
-    __isset.workflowTemplateId = true;
-  }
-
-  void __set_workflowTemplateVersion(const std::string& val) {
-    workflowTemplateVersion = val;
-    __isset.workflowTemplateVersion = true;
-  }
-
-  void __set_userConfigurationData(const UserConfigurationData& val) {
-    userConfigurationData = val;
-    __isset.userConfigurationData = true;
-  }
-
-  void __set_workflowExecutionInstanceId(const std::string& val) {
-    workflowExecutionInstanceId = val;
-    __isset.workflowExecutionInstanceId = true;
-  }
-
-  void __set_experimentInputs(const std::vector<DataObjectType> & val) {
-    experimentInputs = val;
-    __isset.experimentInputs = true;
-  }
-
-  void __set_experimentOutputs(const std::vector<DataObjectType> & val) {
-    experimentOutputs = val;
-    __isset.experimentOutputs = true;
-  }
-
-  void __set_experimentStatus(const ExperimentStatus& val) {
-    experimentStatus = val;
-    __isset.experimentStatus = true;
-  }
-
-  void __set_stateChangeList(const std::vector<WorkflowNodeStatus> & val) {
-    stateChangeList = val;
-    __isset.stateChangeList = true;
-  }
-
-  void __set_workflowNodeDetailsList(const std::vector<WorkflowNodeDetails> & val) {
-    workflowNodeDetailsList = val;
-    __isset.workflowNodeDetailsList = true;
-  }
-
-  void __set_errors(const std::vector<ErrorDetails> & val) {
-    errors = val;
-    __isset.errors = true;
-  }
-
-  bool operator == (const Experiment & rhs) const
-  {
-    if (!(experimentID == rhs.experimentID))
-      return false;
-    if (!(projectID == rhs.projectID))
-      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.applicationId != rhs.__isset.applicationId)
-      return false;
-    else if (__isset.applicationId && !(applicationId == rhs.applicationId))
-      return false;
-    if (__isset.applicationVersion != rhs.__isset.applicationVersion)
-      return false;
-    else if (__isset.applicationVersion && !(applicationVersion == rhs.applicationVersion))
-      return false;
-    if (__isset.workflowTemplateId != rhs.__isset.workflowTemplateId)
-      return false;
-    else if (__isset.workflowTemplateId && !(workflowTemplateId == rhs.workflowTemplateId))
-      return false;
-    if (__isset.workflowTemplateVersion != rhs.__isset.workflowTemplateVersion)
-      return false;
-    else if (__isset.workflowTemplateVersion && !(workflowTemplateVersion == rhs.workflowTemplateVersion))
-      return false;
-    if (__isset.userConfigurationData != rhs.__isset.userConfigurationData)
-      return false;
-    else if (__isset.userConfigurationData && !(userConfigurationData == rhs.userConfigurationData))
-      return false;
-    if (__isset.workflowExecutionInstanceId != rhs.__isset.workflowExecutionInstanceId)
-      return false;
-    else if (__isset.workflowExecutionInstanceId && !(workflowExecutionInstanceId == rhs.workflowExecutionInstanceId))
-      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.stateChangeList != rhs.__isset.stateChangeList)
-      return false;
-    else if (__isset.stateChangeList && !(stateChangeList == rhs.stateChangeList))
-      return false;
-    if (__isset.workflowNodeDetailsList != rhs.__isset.workflowNodeDetailsList)
-      return false;
-    else if (__isset.workflowNodeDetailsList && !(workflowNodeDetailsList == rhs.workflowNodeDetailsList))
-      return false;
-    if (__isset.errors != rhs.__isset.errors)
-      return false;
-    else if (__isset.errors && !(errors == rhs.errors))
-      return false;
-    return true;
-  }
-  bool operator != (const Experiment &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Experiment & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(Experiment &a, Experiment &b);
-
-
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_constants.cpp
deleted file mode 100644
index 656aed3..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_constants.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "workspaceModel_constants.h"
-
-
-
-const workspaceModelConstants g_workspaceModel_constants;
-
-workspaceModelConstants::workspaceModelConstants() {
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_constants.h
deleted file mode 100644
index d3417fd..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_constants.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef workspaceModel_CONSTANTS_H
-#define workspaceModel_CONSTANTS_H
-
-#include "workspaceModel_types.h"
-
-
-
-class workspaceModelConstants {
- public:
-  workspaceModelConstants();
-
-};
-
-extern const workspaceModelConstants g_workspaceModel_constants;
-
-
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_types.cpp
deleted file mode 100644
index dd81192..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_types.cpp
+++ /dev/null
@@ -1,464 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "workspaceModel_types.h"
-
-#include <algorithm>
-
-
-
-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;
-  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();
-  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);
-}
-
-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 _size0;
-            ::apache::thrift::protocol::TType _etype3;
-            xfer += iprot->readListBegin(_etype3, _size0);
-            this->sharedUsers.resize(_size0);
-            uint32_t _i4;
-            for (_i4 = 0; _i4 < _size0; ++_i4)
-            {
-              xfer += iprot->readString(this->sharedUsers[_i4]);
-            }
-            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 _size5;
-            ::apache::thrift::protocol::TType _etype8;
-            xfer += iprot->readListBegin(_etype8, _size5);
-            this->sharedGroups.resize(_size5);
-            uint32_t _i9;
-            for (_i9 = 0; _i9 < _size5; ++_i9)
-            {
-              xfer += iprot->readString(this->sharedGroups[_i9]);
-            }
-            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;
-  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 _iter10;
-      for (_iter10 = this->sharedUsers.begin(); _iter10 != this->sharedUsers.end(); ++_iter10)
-      {
-        xfer += oprot->writeString((*_iter10));
-      }
-      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 _iter11;
-      for (_iter11 = this->sharedGroups.begin(); _iter11 != this->sharedGroups.end(); ++_iter11)
-      {
-        xfer += oprot->writeString((*_iter11));
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  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);
-}
-
-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 _size12;
-            ::apache::thrift::protocol::TType _etype15;
-            xfer += iprot->readListBegin(_etype15, _size12);
-            this->groupList.resize(_size12);
-            uint32_t _i16;
-            for (_i16 = 0; _i16 < _size12; ++_i16)
-            {
-              xfer += this->groupList[_i16].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;
-  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 _iter17;
-      for (_iter17 = this->groupList.begin(); _iter17 != this->groupList.end(); ++_iter17)
-      {
-        xfer += (*_iter17).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  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);
-}
-
-const char* Gateway::ascii_fingerprint = "07A9615F837F7D0A952B595DD3020972";
-const uint8_t Gateway::binary_fingerprint[16] = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
-
-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;
-  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->gatewayId);
-          isset_gatewayId = 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;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_gatewayId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_name)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Gateway::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Gateway");
-
-  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->gatewayId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->name);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(Gateway &a, Gateway &b) {
-  using ::std::swap;
-  swap(a.gatewayId, b.gatewayId);
-  swap(a.name, b.name);
-}
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_types.h
deleted file mode 100644
index 340fd54..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/workspaceModel_types.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef workspaceModel_TYPES_H
-#define workspaceModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-#include "experimentModel_types.h"
-
-
-
-
-typedef struct _Group__isset {
-  _Group__isset() : description(false) {}
-  bool description;
-} _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() : groupName(), description() {
-  }
-
-  virtual ~Group() throw() {}
-
-  std::string groupName;
-  std::string description;
-
-  _Group__isset __isset;
-
-  void __set_groupName(const std::string& val) {
-    groupName = val;
-  }
-
-  void __set_description(const std::string& val) {
-    description = val;
-    __isset.description = true;
-  }
-
-  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;
-
-};
-
-void swap(Group &a, Group &b);
-
-typedef struct _Project__isset {
-  _Project__isset() : description(false), creationTime(false), sharedUsers(false), sharedGroups(false) {}
-  bool description;
-  bool creationTime;
-  bool sharedUsers;
-  bool sharedGroups;
-} _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() : projectID("DEFAULT"), 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) {
-    projectID = val;
-  }
-
-  void __set_owner(const std::string& val) {
-    owner = val;
-  }
-
-  void __set_name(const std::string& val) {
-    name = val;
-  }
-
-  void __set_description(const std::string& val) {
-    description = val;
-    __isset.description = true;
-  }
-
-  void __set_creationTime(const int64_t val) {
-    creationTime = val;
-    __isset.creationTime = true;
-  }
-
-  void __set_sharedUsers(const std::vector<std::string> & val) {
-    sharedUsers = val;
-    __isset.sharedUsers = true;
-  }
-
-  void __set_sharedGroups(const std::vector<std::string> & val) {
-    sharedGroups = val;
-    __isset.sharedGroups = true;
-  }
-
-  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;
-
-};
-
-void swap(Project &a, Project &b);
-
-typedef struct _User__isset {
-  _User__isset() : groupList(false) {}
-  bool groupList;
-} _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() : userName() {
-  }
-
-  virtual ~User() throw() {}
-
-  std::string userName;
-  std::vector<Group>  groupList;
-
-  _User__isset __isset;
-
-  void __set_userName(const std::string& val) {
-    userName = val;
-  }
-
-  void __set_groupList(const std::vector<Group> & val) {
-    groupList = val;
-    __isset.groupList = true;
-  }
-
-  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;
-
-};
-
-void swap(User &a, User &b);
-
-
-class Gateway {
- 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};
-
-  Gateway() : gatewayId("DO_NOT_SET_AT_CLIENTS"), name() {
-  }
-
-  virtual ~Gateway() throw() {}
-
-  std::string gatewayId;
-  std::string name;
-
-  void __set_gatewayId(const std::string& val) {
-    gatewayId = val;
-  }
-
-  void __set_name(const std::string& val) {
-    name = val;
-  }
-
-  bool operator == (const Gateway & rhs) const
-  {
-    if (!(gatewayId == rhs.gatewayId))
-      return false;
-    if (!(name == rhs.name))
-      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;
-
-};
-
-void swap(Gateway &a, Gateway &b);
-
-
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/pom.xml b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/pom.xml
new file mode 100644
index 0000000..dd7f182
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/pom.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--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. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <groupId>org.apache.airavata</groupId>
+        <artifactId>airavata-client-sdks</artifactId>
+        <version>0.12-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>apache-airavata-client-cpp-sdk</artifactId>
+    <name>Airavata Client CPP SDK</name>
+    <packaging>pom</packaging>
+    <url>http://airavata.apache.org/</url>
+
+    <build>
+        <plugins>
+	    <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <version>2.8</version>
+                <executions>
+                    <execution>
+                        <id>unpack</id>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>unpack</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>org.apache.airavata</groupId>
+                                    <artifactId>airavata-client-configuration</artifactId>
+                                    <version>${project.version}</version>
+                                    <type>jar</type>
+                                </artifactItem>
+                            </artifactItems>
+                            <outputDirectory>${project.build.directory}/conf</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>distribution-package</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <finalName>${archieve.name}-${project.version}</finalName>
+                            <descriptors>
+                                <descriptor>src/main/assembly/bin-assembly.xml</descriptor>
+                            </descriptors>
+                            <attach>false</attach>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.7</version>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${airavata.client-bin.zip}</file>
+                                    <type>zip</type>
+                                    <classifier>bin</classifier>
+                                </artifact>
+                                <artifact>
+                                    <file>${airavata.client-bin.tar.gz}</file>
+                                    <type>tar.gz</type>
+                                    <classifier>bin</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    
+    <properties>
+        <jersey.version>1.13</jersey.version>
+        <grizzly.version>2.0.0-M3</grizzly.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <archieve.name>apache-airavata-client</archieve.name>
+        <used.axis2.release>${axis2.version}</used.axis2.release>
+        <airavata.client-dist.name>${archieve.name}-${project.version}</airavata.client-dist.name>
+        <airavata.client-bin.zip>${project.build.directory}/${airavata.client-dist.name}-bin.zip</airavata.client-bin.zip>
+        <airavata.client-bin.tar.gz>${project.build.directory}/${airavata.client-dist.name}-bin.tar.gz</airavata.client-bin.tar.gz>
+    </properties>
+</project>


[14/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Airavata.php
deleted file mode 100644
index 42fc7f4..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Airavata.php
+++ /dev/null
@@ -1,4849 +0,0 @@
-<?php
-namespace Airavata\API;
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * 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;
-
-
-interface AiravataIf {
-  public function GetAPIVersion();
-  public function createProject(\Airavata\Model\Workspace\Project $project, $userName);
-  public function updateProject(\Airavata\Model\Workspace\Project $project);
-  public function getProject($projectId);
-  public function getAllUserProjects($userName);
-  public function getAllExperimentsInProject($projectId);
-  public function getAllUserExperiments($userName);
-  public function createExperiment(\Airavata\Model\Workspace\Experiment\Experiment $experiment);
-  public function getExperiment($airavataExperimentId);
-  public function updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
-  public function updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration);
-  public function updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling);
-  public function launchExperiment($airavataExperimentId, $airavataCredStoreToken);
-  public function getExperimentStatus($airavataExperimentId);
-  public function getExperimentOutputs($airavataExperimentId);
-  public function getJobStatuses($airavataExperimentId);
-  public function cloneExperiment($airavataExperimentIdToBeCloned, \Airavata\Model\Workspace\Experiment\Experiment $updatedExperiment);
-  public function terminateExperiment($airavataExperimentId);
-}
-
-class AiravataClient implements \Airavata\API\AiravataIf {
-  protected $input_ = null;
-  protected $output_ = null;
-
-  protected $seqid_ = 0;
-
-  public function __construct($input, $output=null) {
-    $this->input_ = $input;
-    $this->output_ = $output ? $output : $input;
-  }
-
-  public function GetAPIVersion()
-  {
-    $this->send_GetAPIVersion();
-    return $this->recv_GetAPIVersion();
-  }
-
-  public function send_GetAPIVersion()
-  {
-    $args = new \Airavata\API\Airavata_GetAPIVersion_args();
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'GetAPIVersion', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('GetAPIVersion', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_GetAPIVersion()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_GetAPIVersion_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_GetAPIVersion_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    throw new \Exception("GetAPIVersion failed: unknown result");
-  }
-
-  public function createProject(\Airavata\Model\Workspace\Project $project, $userName)
-  {
-    $this->send_createProject($project, $userName);
-    return $this->recv_createProject();
-  }
-
-  public function send_createProject(\Airavata\Model\Workspace\Project $project, $userName)
-  {
-    $args = new \Airavata\API\Airavata_createProject_args();
-    $args->project = $project;
-    $args->userName = $userName;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'createProject', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('createProject', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_createProject()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_createProject_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_createProject_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    throw new \Exception("createProject failed: unknown result");
-  }
-
-  public function updateProject(\Airavata\Model\Workspace\Project $project)
-  {
-    $this->send_updateProject($project);
-    $this->recv_updateProject();
-  }
-
-  public function send_updateProject(\Airavata\Model\Workspace\Project $project)
-  {
-    $args = new \Airavata\API\Airavata_updateProject_args();
-    $args->project = $project;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'updateProject', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('updateProject', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_updateProject()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_updateProject_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_updateProject_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    return;
-  }
-
-  public function getProject($projectId)
-  {
-    $this->send_getProject($projectId);
-    return $this->recv_getProject();
-  }
-
-  public function send_getProject($projectId)
-  {
-    $args = new \Airavata\API\Airavata_getProject_args();
-    $args->projectId = $projectId;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'getProject', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('getProject', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_getProject()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getProject_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_getProject_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    throw new \Exception("getProject failed: unknown result");
-  }
-
-  public function getAllUserProjects($userName)
-  {
-    $this->send_getAllUserProjects($userName);
-    return $this->recv_getAllUserProjects();
-  }
-
-  public function send_getAllUserProjects($userName)
-  {
-    $args = new \Airavata\API\Airavata_getAllUserProjects_args();
-    $args->userName = $userName;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'getAllUserProjects', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('getAllUserProjects', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_getAllUserProjects()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAllUserProjects_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_getAllUserProjects_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    throw new \Exception("getAllUserProjects failed: unknown result");
-  }
-
-  public function getAllExperimentsInProject($projectId)
-  {
-    $this->send_getAllExperimentsInProject($projectId);
-    return $this->recv_getAllExperimentsInProject();
-  }
-
-  public function send_getAllExperimentsInProject($projectId)
-  {
-    $args = new \Airavata\API\Airavata_getAllExperimentsInProject_args();
-    $args->projectId = $projectId;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'getAllExperimentsInProject', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('getAllExperimentsInProject', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_getAllExperimentsInProject()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAllExperimentsInProject_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_getAllExperimentsInProject_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    throw new \Exception("getAllExperimentsInProject failed: unknown result");
-  }
-
-  public function getAllUserExperiments($userName)
-  {
-    $this->send_getAllUserExperiments($userName);
-    return $this->recv_getAllUserExperiments();
-  }
-
-  public function send_getAllUserExperiments($userName)
-  {
-    $args = new \Airavata\API\Airavata_getAllUserExperiments_args();
-    $args->userName = $userName;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'getAllUserExperiments', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('getAllUserExperiments', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_getAllUserExperiments()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAllUserExperiments_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_getAllUserExperiments_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    throw new \Exception("getAllUserExperiments failed: unknown result");
-  }
-
-  public function createExperiment(\Airavata\Model\Workspace\Experiment\Experiment $experiment)
-  {
-    $this->send_createExperiment($experiment);
-    return $this->recv_createExperiment();
-  }
-
-  public function send_createExperiment(\Airavata\Model\Workspace\Experiment\Experiment $experiment)
-  {
-    $args = new \Airavata\API\Airavata_createExperiment_args();
-    $args->experiment = $experiment;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'createExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('createExperiment', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_createExperiment()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_createExperiment_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_createExperiment_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    throw new \Exception("createExperiment failed: unknown result");
-  }
-
-  public function getExperiment($airavataExperimentId)
-  {
-    $this->send_getExperiment($airavataExperimentId);
-    return $this->recv_getExperiment();
-  }
-
-  public function send_getExperiment($airavataExperimentId)
-  {
-    $args = new \Airavata\API\Airavata_getExperiment_args();
-    $args->airavataExperimentId = $airavataExperimentId;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'getExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('getExperiment', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_getExperiment()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getExperiment_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_getExperiment_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->enf !== null) {
-      throw $result->enf;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    throw new \Exception("getExperiment failed: unknown result");
-  }
-
-  public function updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment)
-  {
-    $this->send_updateExperiment($airavataExperimentId, $experiment);
-    $this->recv_updateExperiment();
-  }
-
-  public function send_updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment)
-  {
-    $args = new \Airavata\API\Airavata_updateExperiment_args();
-    $args->airavataExperimentId = $airavataExperimentId;
-    $args->experiment = $experiment;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'updateExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('updateExperiment', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_updateExperiment()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_updateExperiment_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_updateExperiment_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->enf !== null) {
-      throw $result->enf;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    return;
-  }
-
-  public function updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration)
-  {
-    $this->send_updateExperimentConfiguration($airavataExperimentId, $userConfiguration);
-    $this->recv_updateExperimentConfiguration();
-  }
-
-  public function send_updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration)
-  {
-    $args = new \Airavata\API\Airavata_updateExperimentConfiguration_args();
-    $args->airavataExperimentId = $airavataExperimentId;
-    $args->userConfiguration = $userConfiguration;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'updateExperimentConfiguration', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('updateExperimentConfiguration', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_updateExperimentConfiguration()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_updateExperimentConfiguration_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_updateExperimentConfiguration_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    return;
-  }
-
-  public function updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling)
-  {
-    $this->send_updateResourceScheduleing($airavataExperimentId, $resourceScheduling);
-    $this->recv_updateResourceScheduleing();
-  }
-
-  public function send_updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling)
-  {
-    $args = new \Airavata\API\Airavata_updateResourceScheduleing_args();
-    $args->airavataExperimentId = $airavataExperimentId;
-    $args->resourceScheduling = $resourceScheduling;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'updateResourceScheduleing', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('updateResourceScheduleing', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_updateResourceScheduleing()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_updateResourceScheduleing_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_updateResourceScheduleing_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    return;
-  }
-
-  public function launchExperiment($airavataExperimentId, $airavataCredStoreToken)
-  {
-    $this->send_launchExperiment($airavataExperimentId, $airavataCredStoreToken);
-    $this->recv_launchExperiment();
-  }
-
-  public function send_launchExperiment($airavataExperimentId, $airavataCredStoreToken)
-  {
-    $args = new \Airavata\API\Airavata_launchExperiment_args();
-    $args->airavataExperimentId = $airavataExperimentId;
-    $args->airavataCredStoreToken = $airavataCredStoreToken;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'launchExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('launchExperiment', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_launchExperiment()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_launchExperiment_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_launchExperiment_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->enf !== null) {
-      throw $result->enf;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    return;
-  }
-
-  public function getExperimentStatus($airavataExperimentId)
-  {
-    $this->send_getExperimentStatus($airavataExperimentId);
-    return $this->recv_getExperimentStatus();
-  }
-
-  public function send_getExperimentStatus($airavataExperimentId)
-  {
-    $args = new \Airavata\API\Airavata_getExperimentStatus_args();
-    $args->airavataExperimentId = $airavataExperimentId;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'getExperimentStatus', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('getExperimentStatus', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_getExperimentStatus()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getExperimentStatus_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_getExperimentStatus_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->enf !== null) {
-      throw $result->enf;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    throw new \Exception("getExperimentStatus failed: unknown result");
-  }
-
-  public function getExperimentOutputs($airavataExperimentId)
-  {
-    $this->send_getExperimentOutputs($airavataExperimentId);
-    return $this->recv_getExperimentOutputs();
-  }
-
-  public function send_getExperimentOutputs($airavataExperimentId)
-  {
-    $args = new \Airavata\API\Airavata_getExperimentOutputs_args();
-    $args->airavataExperimentId = $airavataExperimentId;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'getExperimentOutputs', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('getExperimentOutputs', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_getExperimentOutputs()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getExperimentOutputs_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_getExperimentOutputs_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    throw new \Exception("getExperimentOutputs failed: unknown result");
-  }
-
-  public function getJobStatuses($airavataExperimentId)
-  {
-    $this->send_getJobStatuses($airavataExperimentId);
-    return $this->recv_getJobStatuses();
-  }
-
-  public function send_getJobStatuses($airavataExperimentId)
-  {
-    $args = new \Airavata\API\Airavata_getJobStatuses_args();
-    $args->airavataExperimentId = $airavataExperimentId;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'getJobStatuses', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('getJobStatuses', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_getJobStatuses()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getJobStatuses_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_getJobStatuses_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    throw new \Exception("getJobStatuses failed: unknown result");
-  }
-
-  public function cloneExperiment($airavataExperimentIdToBeCloned, \Airavata\Model\Workspace\Experiment\Experiment $updatedExperiment)
-  {
-    $this->send_cloneExperiment($airavataExperimentIdToBeCloned, $updatedExperiment);
-    return $this->recv_cloneExperiment();
-  }
-
-  public function send_cloneExperiment($airavataExperimentIdToBeCloned, \Airavata\Model\Workspace\Experiment\Experiment $updatedExperiment)
-  {
-    $args = new \Airavata\API\Airavata_cloneExperiment_args();
-    $args->airavataExperimentIdToBeCloned = $airavataExperimentIdToBeCloned;
-    $args->updatedExperiment = $updatedExperiment;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'cloneExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('cloneExperiment', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_cloneExperiment()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_cloneExperiment_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_cloneExperiment_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->enf !== null) {
-      throw $result->enf;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    throw new \Exception("cloneExperiment failed: unknown result");
-  }
-
-  public function terminateExperiment($airavataExperimentId)
-  {
-    $this->send_terminateExperiment($airavataExperimentId);
-    $this->recv_terminateExperiment();
-  }
-
-  public function send_terminateExperiment($airavataExperimentId)
-  {
-    $args = new \Airavata\API\Airavata_terminateExperiment_args();
-    $args->airavataExperimentId = $airavataExperimentId;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'terminateExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('terminateExperiment', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_terminateExperiment()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_terminateExperiment_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_terminateExperiment_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->enf !== null) {
-      throw $result->enf;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    return;
-  }
-
-}
-
-// HELPER FUNCTIONS AND STRUCTURES
-
-class Airavata_GetAPIVersion_args {
-  static $_TSPEC;
-
-
-  public function __construct() {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        );
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_GetAPIVersion_args';
-  }
-
-  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)
-      {
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_GetAPIVersion_args');
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_GetAPIVersion_result {
-  static $_TSPEC;
-
-  public $success = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['success'])) {
-        $this->success = $vals['success'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_GetAPIVersion_result';
-  }
-
-  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 0:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->success);
-          } 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('Airavata_GetAPIVersion_result');
-    if ($this->success !== null) {
-      $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
-      $xfer += $output->writeString($this->success);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_createProject_args {
-  static $_TSPEC;
-
-  public $project = null;
-  public $userName = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'project',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Project',
-          ),
-        2 => array(
-          'var' => 'userName',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['project'])) {
-        $this->project = $vals['project'];
-      }
-      if (isset($vals['userName'])) {
-        $this->userName = $vals['userName'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_createProject_args';
-  }
-
-  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::STRUCT) {
-            $this->project = new \Airavata\Model\Workspace\Project();
-            $xfer += $this->project->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userName);
-          } 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('Airavata_createProject_args');
-    if ($this->project !== null) {
-      if (!is_object($this->project)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('project', TType::STRUCT, 1);
-      $xfer += $this->project->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
-      $xfer += $output->writeString($this->userName);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_createProject_result {
-  static $_TSPEC;
-
-  public $success = null;
-  public $ire = null;
-  public $ace = null;
-  public $ase = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::STRING,
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        3 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['success'])) {
-        $this->success = $vals['success'];
-      }
-      if (isset($vals['ire'])) {
-        $this->ire = $vals['ire'];
-      }
-      if (isset($vals['ace'])) {
-        $this->ace = $vals['ace'];
-      }
-      if (isset($vals['ase'])) {
-        $this->ase = $vals['ase'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_createProject_result';
-  }
-
-  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 0:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->success);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 1:
-          if ($ftype == TType::STRUCT) {
-            $this->ire = new \Airavata\API\Error\InvalidRequestException();
-            $xfer += $this->ire->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->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('Airavata_createProject_result');
-    if ($this->success !== null) {
-      $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
-      $xfer += $output->writeString($this->success);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_updateProject_args {
-  static $_TSPEC;
-
-  public $project = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'project',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Project',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['project'])) {
-        $this->project = $vals['project'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_updateProject_args';
-  }
-
-  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::STRUCT) {
-            $this->project = new \Airavata\Model\Workspace\Project();
-            $xfer += $this->project->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('Airavata_updateProject_args');
-    if ($this->project !== null) {
-      if (!is_object($this->project)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('project', TType::STRUCT, 1);
-      $xfer += $this->project->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_updateProject_result {
-  static $_TSPEC;
-
-  public $ire = null;
-  public $ace = null;
-  public $ase = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        3 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['ire'])) {
-        $this->ire = $vals['ire'];
-      }
-      if (isset($vals['ace'])) {
-        $this->ace = $vals['ace'];
-      }
-      if (isset($vals['ase'])) {
-        $this->ase = $vals['ase'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_updateProject_result';
-  }
-
-  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::STRUCT) {
-            $this->ire = new \Airavata\API\Error\InvalidRequestException();
-            $xfer += $this->ire->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->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('Airavata_updateProject_result');
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getProject_args {
-  static $_TSPEC;
-
-  public $projectId = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'projectId',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['projectId'])) {
-        $this->projectId = $vals['projectId'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getProject_args';
-  }
-
-  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->projectId);
-          } 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('Airavata_getProject_args');
-    if ($this->projectId !== null) {
-      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 1);
-      $xfer += $output->writeString($this->projectId);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getProject_result {
-  static $_TSPEC;
-
-  public $success = null;
-  public $ire = null;
-  public $ace = null;
-  public $ase = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Project',
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        3 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['success'])) {
-        $this->success = $vals['success'];
-      }
-      if (isset($vals['ire'])) {
-        $this->ire = $vals['ire'];
-      }
-      if (isset($vals['ace'])) {
-        $this->ace = $vals['ace'];
-      }
-      if (isset($vals['ase'])) {
-        $this->ase = $vals['ase'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getProject_result';
-  }
-
-  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 0:
-          if ($ftype == TType::STRUCT) {
-            $this->success = new \Airavata\Model\Workspace\Project();
-            $xfer += $this->success->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 1:
-          if ($ftype == TType::STRUCT) {
-            $this->ire = new \Airavata\API\Error\InvalidRequestException();
-            $xfer += $this->ire->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->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('Airavata_getProject_result');
-    if ($this->success !== null) {
-      if (!is_object($this->success)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
-      $xfer += $this->success->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getAllUserProjects_args {
-  static $_TSPEC;
-
-  public $userName = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'userName',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['userName'])) {
-        $this->userName = $vals['userName'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getAllUserProjects_args';
-  }
-
-  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->userName);
-          } 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('Airavata_getAllUserProjects_args');
-    if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
-      $xfer += $output->writeString($this->userName);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getAllUserProjects_result {
-  static $_TSPEC;
-
-  public $success = null;
-  public $ire = null;
-  public $ace = null;
-  public $ase = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Project',
-            ),
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        3 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['success'])) {
-        $this->success = $vals['success'];
-      }
-      if (isset($vals['ire'])) {
-        $this->ire = $vals['ire'];
-      }
-      if (isset($vals['ace'])) {
-        $this->ace = $vals['ace'];
-      }
-      if (isset($vals['ase'])) {
-        $this->ase = $vals['ase'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getAllUserProjects_result';
-  }
-
-  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 0:
-          if ($ftype == TType::LST) {
-            $this->success = array();
-            $_size0 = 0;
-            $_etype3 = 0;
-            $xfer += $input->readListBegin($_etype3, $_size0);
-            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
-            {
-              $elem5 = null;
-              $elem5 = new \Airavata\Model\Workspace\Project();
-              $xfer += $elem5->read($input);
-              $this->success []= $elem5;
-            }
-            $xfer += $input->readListEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 1:
-          if ($ftype == TType::STRUCT) {
-            $this->ire = new \Airavata\API\Error\InvalidRequestException();
-            $xfer += $this->ire->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->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('Airavata_getAllUserProjects_result');
-    if ($this->success !== null) {
-      if (!is_array($this->success)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('success', TType::LST, 0);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->success));
-        {
-          foreach ($this->success as $iter6)
-          {
-            $xfer += $iter6->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getAllExperimentsInProject_args {
-  static $_TSPEC;
-
-  public $projectId = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'projectId',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['projectId'])) {
-        $this->projectId = $vals['projectId'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getAllExperimentsInProject_args';
-  }
-
-  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->projectId);
-          } 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('Airavata_getAllExperimentsInProject_args');
-    if ($this->projectId !== null) {
-      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 1);
-      $xfer += $output->writeString($this->projectId);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getAllExperimentsInProject_result {
-  static $_TSPEC;
-
-  public $success = null;
-  public $ire = null;
-  public $ace = null;
-  public $ase = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\Experiment',
-            ),
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        3 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['success'])) {
-        $this->success = $vals['success'];
-      }
-      if (isset($vals['ire'])) {
-        $this->ire = $vals['ire'];
-      }
-      if (isset($vals['ace'])) {
-        $this->ace = $vals['ace'];
-      }
-      if (isset($vals['ase'])) {
-        $this->ase = $vals['ase'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getAllExperimentsInProject_result';
-  }
-
-  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 0:
-          if ($ftype == TType::LST) {
-            $this->success = array();
-            $_size7 = 0;
-            $_etype10 = 0;
-            $xfer += $input->readListBegin($_etype10, $_size7);
-            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
-            {
-              $elem12 = null;
-              $elem12 = new \Airavata\Model\Workspace\Experiment\Experiment();
-              $xfer += $elem12->read($input);
-              $this->success []= $elem12;
-            }
-            $xfer += $input->readListEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 1:
-          if ($ftype == TType::STRUCT) {
-            $this->ire = new \Airavata\API\Error\InvalidRequestException();
-            $xfer += $this->ire->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->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('Airavata_getAllExperimentsInProject_result');
-    if ($this->success !== null) {
-      if (!is_array($this->success)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('success', TType::LST, 0);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->success));
-        {
-          foreach ($this->success as $iter13)
-          {
-            $xfer += $iter13->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getAllUserExperiments_args {
-  static $_TSPEC;
-
-  public $userName = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'userName',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['userName'])) {
-        $this->userName = $vals['userName'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getAllUserExperiments_args';
-  }
-
-  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->userName);
-          } 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('Airavata_getAllUserExperiments_args');
-    if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
-      $xfer += $output->writeString($this->userName);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getAllUserExperiments_result {
-  static $_TSPEC;
-
-  public $success = null;
-  public $ire = null;
-  public $ace = null;
-  public $ase = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\Experiment',
-            ),
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        3 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['success'])) {
-        $this->success = $vals['success'];
-      }
-      if (isset($vals['ire'])) {
-        $this->ire = $vals['ire'];
-      }
-      if (isset($vals['ace'])) {
-        $this->ace = $vals['ace'];
-      }
-      if (isset($vals['ase'])) {
-        $this->ase = $vals['ase'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getAllUserExperiments_result';
-  }
-
-  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 0:
-          if ($ftype == TType::LST) {
-            $this->success = array();
-            $_size14 = 0;
-            $_etype17 = 0;
-            $xfer += $input->readListBegin($_etype17, $_size14);
-            for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
-            {
-              $elem19 = null;
-              $elem19 = new \Airavata\Model\Workspace\Experiment\Experiment();
-              $xfer += $elem19->read($input);
-              $this->success []= $elem19;
-            }
-            $xfer += $input->readListEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 1:
-          if ($ftype == TType::STRUCT) {
-            $this->ire = new \Airavata\API\Error\InvalidRequestException();
-            $xfer += $this->ire->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->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('Airavata_getAllUserExperiments_result');
-    if ($this->success !== null) {
-      if (!is_array($this->success)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('success', TType::LST, 0);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->success));
-        {
-          foreach ($this->success as $iter20)
-          {
-            $xfer += $iter20->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_createExperiment_args {
-  static $_TSPEC;
-
-  public $experiment = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'experiment',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\Experiment',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['experiment'])) {
-        $this->experiment = $vals['experiment'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_createExperiment_args';
-  }
-
-  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::STRUCT) {
-            $this->experiment = new \Airavata\Model\Workspace\Experiment\Experiment();
-            $xfer += $this->experiment->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('Airavata_createExperiment_args');
-    if ($this->experiment !== null) {
-      if (!is_object($this->experiment)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('experiment', TType::STRUCT, 1);
-      $xfer += $this->experiment->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_createExperiment_result {
-  static $_TSPEC;
-
-  public $success = null;
-  public $ire = null;
-  public $ace = null;
-  public $ase = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::STRING,
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        3 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['success'])) {
-        $this->success = $vals['success'];
-      }
-      if (isset($vals['ire'])) {
-        $this->ire = $vals['ire'];
-      }
-      if (isset($vals['ace'])) {
-        $this->ace = $vals['ace'];
-      }
-      if (isset($vals['ase'])) {
-        $this->ase = $vals['ase'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_createExperiment_result';
-  }
-
-  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 0:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->success);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 1:
-          if ($ftype == TType::STRUCT) {
-            $this->ire = new \Airavata\API\Error\InvalidRequestException();
-            $xfer += $this->ire->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->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('Airavata_createExperiment_result');
-    if ($this->success !== null) {
-      $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
-      $xfer += $output->writeString($this->success);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getExperiment_args {
-  static $_TSPEC;
-
-  public $airavataExperimentId = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'airavataExperimentId',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['airavataExperimentId'])) {
-        $this->airavataExperimentId = $vals['airavataExperimentId'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getExperiment_args';
-  }
-
-  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->airavataExperimentId);
-          } 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('Airavata_getExperiment_args');
-    if ($this->airavataExperimentId !== null) {
-      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 1);
-      $xfer += $output->writeString($this->airavataExperimentId);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getExperiment_result {
-  static $_TSPEC;
-
-  public $success = null;
-  public $ire = null;
-  public $enf = null;
-  public $ace = null;
-  public $ase = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\Experiment',
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class'

<TRUNCATED>

[31/31] git commit: updating client dist name

Posted by sa...@apache.org.
updating client dist name


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

Branch: refs/heads/master
Commit: dd7617fa27e5318ac2364c398072d5252f3f8a37
Parents: 03e4030
Author: Saminda Wijeratne <sa...@gmail.com>
Authored: Wed Apr 16 19:16:07 2014 -0700
Committer: Saminda Wijeratne <sa...@gmail.com>
Committed: Wed Apr 16 19:16:07 2014 -0700

----------------------------------------------------------------------
 modules/distribution/client/java/pom.xml | 2 +-
 modules/distribution/release/pom.xml     | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/dd7617fa/modules/distribution/client/java/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/client/java/pom.xml b/modules/distribution/client/java/pom.xml
index 3fa8267..1acc02a 100644
--- a/modules/distribution/client/java/pom.xml
+++ b/modules/distribution/client/java/pom.xml
@@ -17,7 +17,7 @@
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>apache-airavata-client-java</artifactId>
+    <artifactId>apache-airavata-client-java-sdk</artifactId>
     <name>Airavata Client Java Distribution</name>
     <packaging>pom</packaging>
     <url>http://airavata.apache.org/</url>

http://git-wip-us.apache.org/repos/asf/airavata/blob/dd7617fa/modules/distribution/release/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/release/pom.xml b/modules/distribution/release/pom.xml
index 9e7e971..53cfe49 100644
--- a/modules/distribution/release/pom.xml
+++ b/modules/distribution/release/pom.xml
@@ -55,14 +55,14 @@
 								<!--Airavata Client Distributions-->
 								<artifactItem>
 									<groupId>org.apache.airavata</groupId>
-									<artifactId>apache-airavata-client-java</artifactId>
+									<artifactId>apache-airavata-client-java-sdk</artifactId>
 						           		<version>${project.version}</version>
 									<type>zip</type>
 									<classifier>bin</classifier>
 								</artifactItem>
 								<artifactItem>
 									<groupId>org.apache.airavata</groupId>
-									<artifactId>apache-airavata-client-java</artifactId>
+									<artifactId>apache-airavata-client-java-sdk</artifactId>
 						            		<version>${project.version}</version>
 									<type>tar.gz</type>
 									<classifier>bin</classifier>


[12/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Workspace/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Workspace/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Workspace/Experiment/Types.php
deleted file mode 100644
index 62f7fba..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Workspace/Experiment/Types.php
+++ /dev/null
@@ -1,3670 +0,0 @@
-<?php
-namespace Airavata\Model\Workspace\Experiment;
-
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * 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 CANCELED = 5;
-  const COMPLETED = 6;
-  const FAILED = 7;
-  const UNKNOWN = 8;
-  static public $__names = array(
-    0 => 'CREATED',
-    1 => 'VALIDATED',
-    2 => 'SCHEDULED',
-    3 => 'LAUNCHED',
-    4 => 'EXECUTING',
-    5 => 'CANCELED',
-    6 => 'COMPLETED',
-    7 => 'FAILED',
-    8 => 'UNKNOWN',
-  );
-}
-
-final class WorkflowNodeState {
-  const INVOKED = 0;
-  const EXECUTING = 1;
-  const CANCELED = 2;
-  const COMPLETED = 3;
-  const FAILED = 4;
-  const UNKNOWN = 5;
-  static public $__names = array(
-    0 => 'INVOKED',
-    1 => 'EXECUTING',
-    2 => 'CANCELED',
-    3 => 'COMPLETED',
-    4 => 'FAILED',
-    5 => 'UNKNOWN',
-  );
-}
-
-final class TaskState {
-  const WAITING = 0;
-  const STARTED = 1;
-  const PRE_PROCESSING = 2;
-  const CONFIGURING_WORKSPACE = 3;
-  const INPUT_DATA_STAGING = 4;
-  const OUTPUT_DATA_STAGING = 5;
-  const POST_PROCESSING = 6;
-  const EXECUTING = 7;
-  const CANCELED = 8;
-  const COMPLETED = 9;
-  const FAILED = 10;
-  const UNKNOWN = 11;
-  static public $__names = array(
-    0 => 'WAITING',
-    1 => 'STARTED',
-    2 => 'PRE_PROCESSING',
-    3 => 'CONFIGURING_WORKSPACE',
-    4 => 'INPUT_DATA_STAGING',
-    5 => 'OUTPUT_DATA_STAGING',
-    6 => 'POST_PROCESSING',
-    7 => 'EXECUTING',
-    8 => 'CANCELED',
-    9 => 'COMPLETED',
-    10 => 'FAILED',
-    11 => 'UNKNOWN',
-  );
-}
-
-final class JobState {
-  const SUBMITTED = 0;
-  const UN_SUBMITTED = 1;
-  const SETUP = 2;
-  const QUEUED = 3;
-  const ACTIVE = 4;
-  const COMPLETE = 5;
-  const CANCELED = 6;
-  const FAILED = 7;
-  const HELD = 8;
-  const SUSPENDED = 9;
-  const UNKNOWN = 10;
-  static public $__names = array(
-    0 => 'SUBMITTED',
-    1 => 'UN_SUBMITTED',
-    2 => 'SETUP',
-    3 => 'QUEUED',
-    4 => 'ACTIVE',
-    5 => 'COMPLETE',
-    6 => 'CANCELED',
-    7 => 'FAILED',
-    8 => 'HELD',
-    9 => 'SUSPENDED',
-    10 => 'UNKNOWN',
-  );
-}
-
-final class TransferState {
-  const DIRECTORY_SETUP = 0;
-  const UPLOAD = 1;
-  const DOWNLOAD = 2;
-  const ACTIVE = 3;
-  const COMPLETE = 4;
-  const STDOUT_DOWNLOAD = 5;
-  const STDERROR_DOWNLOAD = 6;
-  const CANCELED = 7;
-  const FAILED = 8;
-  const HELD = 9;
-  const SUSPENDED = 10;
-  const UNKNOWN = 11;
-  static public $__names = array(
-    0 => 'DIRECTORY_SETUP',
-    1 => 'UPLOAD',
-    2 => 'DOWNLOAD',
-    3 => 'ACTIVE',
-    4 => 'COMPLETE',
-    5 => 'STDOUT_DOWNLOAD',
-    6 => 'STDERROR_DOWNLOAD',
-    7 => 'CANCELED',
-    8 => 'FAILED',
-    9 => 'HELD',
-    10 => 'SUSPENDED',
-    11 => 'UNKNOWN',
-  );
-}
-
-final class ActionableGroup {
-  const RESOURCE_ADMINS = 0;
-  const AIRAVATA_ADMINS = 1;
-  const GATEWAYS_ADMINS = 2;
-  const USER = 3;
-  const CANNOT_BE_DETERMINED = 4;
-  static public $__names = array(
-    0 => 'RESOURCE_ADMINS',
-    1 => 'AIRAVATA_ADMINS',
-    2 => 'GATEWAYS_ADMINS',
-    3 => 'USER',
-    4 => 'CANNOT_BE_DETERMINED',
-  );
-}
-
-final class ErrorCategory {
-  const FILE_SYSTEM_FAILURE = 0;
-  const APPLICATION_FAILURE = 1;
-  const RESOURCE_NODE_FAILURE = 2;
-  const DISK_FULL = 3;
-  const INSUFFICIENT_ALLOCATION = 4;
-  const SYSTEM_MAINTENANCE = 5;
-  const AIRAVATA_INTERNAL_ERROR = 6;
-  const CANNOT_BE_DETERMINED = 7;
-  static public $__names = array(
-    0 => 'FILE_SYSTEM_FAILURE',
-    1 => 'APPLICATION_FAILURE',
-    2 => 'RESOURCE_NODE_FAILURE',
-    3 => 'DISK_FULL',
-    4 => 'INSUFFICIENT_ALLOCATION',
-    5 => 'SYSTEM_MAINTENANCE',
-    6 => 'AIRAVATA_INTERNAL_ERROR',
-    7 => 'CANNOT_BE_DETERMINED',
-  );
-}
-
-final class CorrectiveAction {
-  const RETRY_SUBMISSION = 0;
-  const CONTACT_SUPPORT = 1;
-  const CANNOT_BE_DETERMINED = 2;
-  static public $__names = array(
-    0 => 'RETRY_SUBMISSION',
-    1 => 'CONTACT_SUPPORT',
-    2 => 'CANNOT_BE_DETERMINED',
-  );
-}
-
-class ExperimentStatus {
-  static $_TSPEC;
-
-  public $experimentState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'experimentState',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['experimentState'])) {
-        $this->experimentState = $vals['experimentState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
-    }
-  }
-
-  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->experimentState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } 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->experimentState !== null) {
-      $xfer += $output->writeFieldBegin('experimentState', TType::I32, 1);
-      $xfer += $output->writeI32($this->experimentState);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class WorkflowNodeStatus {
-  static $_TSPEC;
-
-  public $workflowNodeState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'workflowNodeState',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['workflowNodeState'])) {
-        $this->workflowNodeState = $vals['workflowNodeState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'WorkflowNodeStatus';
-  }
-
-  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->workflowNodeState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } 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('WorkflowNodeStatus');
-    if ($this->workflowNodeState !== null) {
-      $xfer += $output->writeFieldBegin('workflowNodeState', TType::I32, 1);
-      $xfer += $output->writeI32($this->workflowNodeState);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class TaskStatus {
-  static $_TSPEC;
-
-  public $executionState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'executionState',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['executionState'])) {
-        $this->executionState = $vals['executionState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
-    }
-  }
-
-  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->executionState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } 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->executionState !== null) {
-      $xfer += $output->writeFieldBegin('executionState', TType::I32, 1);
-      $xfer += $output->writeI32($this->executionState);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class JobStatus {
-  static $_TSPEC;
-
-  public $jobState = null;
-  public $timeOfStateChange = 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,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['jobState'])) {
-        $this->jobState = $vals['jobState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
-    }
-  }
-
-  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;
-        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();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class TransferStatus {
-  static $_TSPEC;
-
-  public $transferState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'transferState',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['transferState'])) {
-        $this->transferState = $vals['transferState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'TransferStatus';
-  }
-
-  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->transferState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } 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('TransferStatus');
-    if ($this->transferState !== null) {
-      $xfer += $output->writeFieldBegin('transferState', TType::I32, 1);
-      $xfer += $output->writeI32($this->transferState);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class ApplicationStatus {
-  static $_TSPEC;
-
-  public $applicationState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'applicationState',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['applicationState'])) {
-        $this->applicationState = $vals['applicationState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'ApplicationStatus';
-  }
-
-  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->applicationState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } 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('ApplicationStatus');
-    if ($this->applicationState !== null) {
-      $xfer += $output->writeFieldBegin('applicationState', TType::STRING, 1);
-      $xfer += $output->writeString($this->applicationState);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class DataObjectType {
-  static $_TSPEC;
-
-  public $key = null;
-  public $value = null;
-  public $type = null;
-  public $metaData = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'key',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'value',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'type',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'metaData',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['key'])) {
-        $this->key = $vals['key'];
-      }
-      if (isset($vals['value'])) {
-        $this->value = $vals['value'];
-      }
-      if (isset($vals['type'])) {
-        $this->type = $vals['type'];
-      }
-      if (isset($vals['metaData'])) {
-        $this->metaData = $vals['metaData'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'DataObjectType';
-  }
-
-  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->key);
-          } 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::STRING) {
-            $xfer += $input->readString($this->type);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->metaData);
-          } 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('DataObjectType');
-    if ($this->key !== null) {
-      $xfer += $output->writeFieldBegin('key', TType::STRING, 1);
-      $xfer += $output->writeString($this->key);
-      $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::STRING, 3);
-      $xfer += $output->writeString($this->type);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->metaData !== null) {
-      $xfer += $output->writeFieldBegin('metaData', TType::STRING, 4);
-      $xfer += $output->writeString($this->metaData);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class ComputationalResourceScheduling {
-  static $_TSPEC;
-
-  public $resourceHostId = null;
-  public $totalCPUCount = null;
-  public $nodeCount = null;
-  public $numberOfThreads = null;
-  public $queueName = null;
-  public $wallTimeLimit = null;
-  public $jobStartTime = null;
-  public $totalPhysicalMemory = null;
-  public $ComputationalProjectAccount = 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' => 'jobStartTime',
-          'type' => TType::I32,
-          ),
-        8 => array(
-          'var' => 'totalPhysicalMemory',
-          'type' => TType::I32,
-          ),
-        9 => array(
-          'var' => 'ComputationalProjectAccount',
-          '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['jobStartTime'])) {
-        $this->jobStartTime = $vals['jobStartTime'];
-      }
-      if (isset($vals['totalPhysicalMemory'])) {
-        $this->totalPhysicalMemory = $vals['totalPhysicalMemory'];
-      }
-      if (isset($vals['ComputationalProjectAccount'])) {
-        $this->ComputationalProjectAccount = $vals['ComputationalProjectAccount'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'ComputationalResourceScheduling';
-  }
-
-  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->jobStartTime);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 8:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->totalPhysicalMemory);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 9:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->ComputationalProjectAccount);
-          } 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('ComputationalResourceScheduling');
-    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->jobStartTime !== null) {
-      $xfer += $output->writeFieldBegin('jobStartTime', TType::I32, 7);
-      $xfer += $output->writeI32($this->jobStartTime);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->totalPhysicalMemory !== null) {
-      $xfer += $output->writeFieldBegin('totalPhysicalMemory', TType::I32, 8);
-      $xfer += $output->writeI32($this->totalPhysicalMemory);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ComputationalProjectAccount !== null) {
-      $xfer += $output->writeFieldBegin('ComputationalProjectAccount', TType::STRING, 9);
-      $xfer += $output->writeString($this->ComputationalProjectAccount);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class AdvancedInputDataHandling {
-  static $_TSPEC;
-
-  public $stageInputFilesToWorkingDir = false;
-  public $parentWorkingDirectory = null;
-  public $uniqueWorkingDirectory = null;
-  public $cleanUpWorkingDirAfterJob = false;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'stageInputFilesToWorkingDir',
-          'type' => TType::BOOL,
-          ),
-        2 => array(
-          'var' => 'parentWorkingDirectory',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'uniqueWorkingDirectory',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'cleanUpWorkingDirAfterJob',
-          'type' => TType::BOOL,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['stageInputFilesToWorkingDir'])) {
-        $this->stageInputFilesToWorkingDir = $vals['stageInputFilesToWorkingDir'];
-      }
-      if (isset($vals['parentWorkingDirectory'])) {
-        $this->parentWorkingDirectory = $vals['parentWorkingDirectory'];
-      }
-      if (isset($vals['uniqueWorkingDirectory'])) {
-        $this->uniqueWorkingDirectory = $vals['uniqueWorkingDirectory'];
-      }
-      if (isset($vals['cleanUpWorkingDirAfterJob'])) {
-        $this->cleanUpWorkingDirAfterJob = $vals['cleanUpWorkingDirAfterJob'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'AdvancedInputDataHandling';
-  }
-
-  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->stageInputFilesToWorkingDir);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->parentWorkingDirectory);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->uniqueWorkingDirectory);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->cleanUpWorkingDirAfterJob);
-          } 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('AdvancedInputDataHandling');
-    if ($this->stageInputFilesToWorkingDir !== null) {
-      $xfer += $output->writeFieldBegin('stageInputFilesToWorkingDir', TType::BOOL, 1);
-      $xfer += $output->writeBool($this->stageInputFilesToWorkingDir);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->parentWorkingDirectory !== null) {
-      $xfer += $output->writeFieldBegin('parentWorkingDirectory', TType::STRING, 2);
-      $xfer += $output->writeString($this->parentWorkingDirectory);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->uniqueWorkingDirectory !== null) {
-      $xfer += $output->writeFieldBegin('uniqueWorkingDirectory', TType::STRING, 3);
-      $xfer += $output->writeString($this->uniqueWorkingDirectory);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->cleanUpWorkingDirAfterJob !== null) {
-      $xfer += $output->writeFieldBegin('cleanUpWorkingDirAfterJob', TType::BOOL, 4);
-      $xfer += $output->writeBool($this->cleanUpWorkingDirAfterJob);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class AdvancedOutputDataHandling {
-  static $_TSPEC;
-
-  public $outputDataDir = null;
-  public $dataRegistryURL = null;
-  public $persistOutputData = true;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        2 => array(
-          'var' => 'outputDataDir',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'dataRegistryURL',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'persistOutputData',
-          'type' => TType::BOOL,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['outputDataDir'])) {
-        $this->outputDataDir = $vals['outputDataDir'];
-      }
-      if (isset($vals['dataRegistryURL'])) {
-        $this->dataRegistryURL = $vals['dataRegistryURL'];
-      }
-      if (isset($vals['persistOutputData'])) {
-        $this->persistOutputData = $vals['persistOutputData'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'AdvancedOutputDataHandling';
-  }
-
-  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 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->outputDataDir);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->dataRegistryURL);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->persistOutputData);
-          } 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('AdvancedOutputDataHandling');
-    if ($this->outputDataDir !== null) {
-      $xfer += $output->writeFieldBegin('outputDataDir', TType::STRING, 2);
-      $xfer += $output->writeString($this->outputDataDir);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->dataRegistryURL !== null) {
-      $xfer += $output->writeFieldBegin('dataRegistryURL', TType::STRING, 3);
-      $xfer += $output->writeString($this->dataRegistryURL);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->persistOutputData !== null) {
-      $xfer += $output->writeFieldBegin('persistOutputData', TType::BOOL, 4);
-      $xfer += $output->writeBool($this->persistOutputData);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class QualityOfServiceParams {
-  static $_TSPEC;
-
-  public $startExecutionAt = null;
-  public $executeBefore = null;
-  public $numberofRetries = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'startExecutionAt',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'executeBefore',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'numberofRetries',
-          'type' => TType::I32,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['startExecutionAt'])) {
-        $this->startExecutionAt = $vals['startExecutionAt'];
-      }
-      if (isset($vals['executeBefore'])) {
-        $this->executeBefore = $vals['executeBefore'];
-      }
-      if (isset($vals['numberofRetries'])) {
-        $this->numberofRetries = $vals['numberofRetries'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'QualityOfServiceParams';
-  }
-
-  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->startExecutionAt);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->executeBefore);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->numberofRetries);
-          } 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('QualityOfServiceParams');
-    if ($this->startExecutionAt !== null) {
-      $xfer += $output->writeFieldBegin('startExecutionAt', TType::STRING, 1);
-      $xfer += $output->writeString($this->startExecutionAt);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->executeBefore !== null) {
-      $xfer += $output->writeFieldBegin('executeBefore', TType::STRING, 2);
-      $xfer += $output->writeString($this->executeBefore);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->numberofRetries !== null) {
-      $xfer += $output->writeFieldBegin('numberofRetries', TType::I32, 3);
-      $xfer += $output->writeI32($this->numberofRetries);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class UserConfigurationData {
-  static $_TSPEC;
-
-  public $airavataAutoSchedule = false;
-  public $overrideManualScheduledParams = false;
-  public $shareExperimentPublicly = false;
-  public $computationalResourceScheduling = null;
-  public $advanceInputDataHandling = null;
-  public $advanceOutputDataHandling = null;
-  public $qosParams = null;
-
-  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\Workspace\Experiment\ComputationalResourceScheduling',
-          ),
-        5 => array(
-          'var' => 'advanceInputDataHandling',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling',
-          ),
-        6 => array(
-          'var' => 'advanceOutputDataHandling',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling',
-          ),
-        7 => array(
-          'var' => 'qosParams',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\QualityOfServiceParams',
-          ),
-        );
-    }
-    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['advanceInputDataHandling'])) {
-        $this->advanceInputDataHandling = $vals['advanceInputDataHandling'];
-      }
-      if (isset($vals['advanceOutputDataHandling'])) {
-        $this->advanceOutputDataHandling = $vals['advanceOutputDataHandling'];
-      }
-      if (isset($vals['qosParams'])) {
-        $this->qosParams = $vals['qosParams'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'UserConfigurationData';
-  }
-
-  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\Workspace\Experiment\ComputationalResourceScheduling();
-            $xfer += $this->computationalResourceScheduling->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          if ($ftype == TType::STRUCT) {
-            $this->advanceInputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling();
-            $xfer += $this->advanceInputDataHandling->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 6:
-          if ($ftype == TType::STRUCT) {
-            $this->advanceOutputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling();
-            $xfer += $this->advanceOutputDataHandling->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 7:
-          if ($ftype == TType::STRUCT) {
-            $this->qosParams = new \Airavata\Model\Workspace\Experiment\QualityOfServiceParams();
-            $xfer += $this->qosParams->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('UserConfigurationData');
-    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->advanceInputDataHandling !== null) {
-      if (!is_object($this->advanceInputDataHandling)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('advanceInputDataHandling', TType::STRUCT, 5);
-      $xfer += $this->advanceInputDataHandling->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->advanceOutputDataHandling !== null) {
-      if (!is_object($this->advanceOutputDataHandling)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('advanceOutputDataHandling', TType::STRUCT, 6);
-      $xfer += $this->advanceOutputDataHandling->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->qosParams !== null) {
-      if (!is_object($this->qosParams)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('qosParams', TType::STRUCT, 7);
-      $xfer += $this->qosParams->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class ErrorDetails {
-  static $_TSPEC;
-
-  public $errorID = "DO_NOT_SET_AT_CLIENTS";
-  public $creationTime = null;
-  public $actualErrorMessage = null;
-  public $userFriendlyMessage = null;
-  public $errorCategory = null;
-  public $transientOrPersistent = false;
-  public $correctiveAction = null;
-  public $actionableGroup = null;
-  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' => 'errorCategory',
-          'type' => TType::I32,
-          ),
-        6 => array(
-          'var' => 'transientOrPersistent',
-          'type' => TType::BOOL,
-          ),
-        7 => array(
-          'var' => 'correctiveAction',
-          'type' => TType::I32,
-          ),
-        8 => array(
-          'var' => 'actionableGroup',
-          'type' => TType::I32,
-          ),
-        9 => 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['errorCategory'])) {
-        $this->errorCategory = $vals['errorCategory'];
-      }
-      if (isset($vals['transientOrPersistent'])) {
-        $this->transientOrPersistent = $vals['transientOrPersistent'];
-      }
-      if (isset($vals['correctiveAction'])) {
-        $this->correctiveAction = $vals['correctiveAction'];
-      }
-      if (isset($vals['actionableGroup'])) {
-        $this->actionableGroup = $vals['actionableGroup'];
-      }
-      if (isset($vals['rootCauseErrorIdList'])) {
-        $this->rootCauseErrorIdList = $vals['rootCauseErrorIdList'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'ErrorDetails';
-  }
-
-  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::I32) {
-            $xfer += $input->readI32($this->errorCategory);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 6:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->transientOrPersistent);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 7:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->correctiveAction);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 8:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->actionableGroup);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 9:
-          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('ErrorDetails');
-    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->errorCategory !== null) {
-      $xfer += $output->writeFieldBegin('errorCategory', TType::I32, 5);
-      $xfer += $output->writeI32($this->errorCategory);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->transientOrPersistent !== null) {
-      $xfer += $output->writeFieldBegin('transientOrPersistent', TType::BOOL, 6);
-      $xfer += $output->writeBool($this->transientOrPersistent);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->correctiveAction !== null) {
-      $xfer += $output->writeFieldBegin('correctiveAction', TType::I32, 7);
-      $xfer += $output->writeI32($this->correctiveAction);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->actionableGroup !== null) {
-      $xfer += $output->writeFieldBegin('actionableGroup', TType::I32, 8);
-      $xfer += $output->writeI32($this->actionableGroup);
-      $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, 9);
-      {
-        $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;
-  }
-
-}
-
-class JobDetails {
-  static $_TSPEC;
-
-  public $jobID = "DO_NOT_SET_AT_CLIENTS";
-  public $jobDescription = null;
-  public $creationTime = null;
-  public $jobStatus = null;
-  public $applicationStatus = null;
-  public $errors = null;
-  public $computeResourceConsumed = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'jobID',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'jobDescription',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'creationTime',
-          'type' => TType::I64,
-          ),
-        4 => array(
-          'var' => 'jobStatus',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\JobStatus',
-          ),
-        5 => array(
-          'var' => 'applicationStatus',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\ApplicationStatus',
-          ),
-        6 => array(
-          'var' => 'errors',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\ErrorDetails',
-            ),
-          ),
-        7 => array(
-          'var' => 'computeResourceConsumed',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['jobID'])) {
-        $this->jobID = $vals['jobID'];
-      }
-      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['applicationStatus'])) {
-        $this->applicationStatus = $vals['applicationStatus'];
-      }
-      if (isset($vals['errors'])) {
-        $this->errors = $vals['errors'];
-      }
-      if (isset($vals['computeResourceConsumed'])) {
-        $this->computeResourceConsumed = $vals['computeResourceConsumed'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'JobDetails';
-  }
-
-  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->jobDescription);
-          } 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::STRUCT) {
-            $this->jobStatus = new \Airavata\Model\Workspace\Experiment\JobStatus();
-            $xfer += $this->jobStatus->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          if ($ftype == TType::STRUCT) {
-            $this->applicationStatus = new \Airavata\Model\Workspace\Experiment\ApplicationStatus();
-            $xfer += $this->applicationStatus->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 6:
-          if ($ftype == TType::LST) {
-            $this->errors = array();
-            $_size7 = 0;
-            $_etype10 = 0;
-            $xfer += $input->readListBegin($_etype10, $_size7);
-            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
-            {
-              $elem12 = null;
-              $elem12 = new \Airavata\Model\Workspace\Experiment\ErrorDetails();
-              $xfer += $elem12->read($input);
-              $this->errors []= $elem12;
-            }
-            $xfer += $input->readListEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 7:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->computeResourceConsumed);
-          } 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('JobDetails');
-    if ($this->jobID !== null) {
-      $xfer += $output->writeFieldBegin('jobID', TType::STRING, 1);
-      $xfer += $output->writeString($this->jobID);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->jobDescription !== null) {
-      $xfer += $output->writeFieldBegin('jobDescription', TType::STRING, 2);
-      $xfer += $output->writeString($this->jobDescription);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 3);
-      $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, 4);
-      $xfer += $this->jobStatus->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->applicationStatus !== null) {
-      if (!is_object($this->applicationStatus)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('applicationStatus', TType::STRUCT, 5);
-      $xfer += $this->applicationStatus->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, 6);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->errors));
-        {
-          foreach ($this->errors as $iter13)
-          {
-            $xfer += $iter13->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->computeResourceConsumed !== null) {
-      $xfer += $output->writeFieldBegin('computeResourceConsumed', TType::STRING, 7);
-      $xfer += $output->writeString($this->computeResourceConsumed);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class DataTransferDetails {
-  static $_TSPEC;
-
-  public $transferID = "DO_NOT_SET_AT_CLIENTS";
-  public $creationTime = null;
-  public $transferDescription = null;
-  public $transferStatus = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'transferID',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'creationTime',
-          'type' => TType::I64,
-          ),
-        3 => array(
-          'var' => 'transferDescription',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'transferStatus',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\TransferStatus',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['transferID'])) {
-        $this->transferID = $vals['transferID'];
-      }
-      if (isset($vals['creationTime'])) {
-        $this->creationTime = $vals['creationTime'];
-      }
-      if (isset($vals['transferDescription'])) {
-        $this->transferDescription = $vals['transferDescription'];
-      }
-      if (isset($vals['transferStatus'])) {
-        $this->transferStatus = $vals['transferStatus'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'DataTransferDetails';
-  }
-
-  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->transferID);
-          } 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->transferDescription);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->transferStatus = new \Airavata\Model\Workspace\Experiment\TransferStatus();
-            $xfer += $this->transferStatus->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('DataTransferDetails');
-    if ($this->transferID !== null) {
-      $xfer += $output->writeFieldBegin('transferID', TType::STRING, 1);
-      $xfer += $output->writeString($this->transferID);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 2);
-      $xfer += $output->writeI64($this->creationTime);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->transferDescription !== null) {
-      $xfer += $output->writeFieldBegin('transferDescription', TType::STRING, 3);
-      $xfer += $output->writeString($this->transferDescription);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->transferStatus !== null) {
-      if (!is_object($this->transferStatus)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('transferStatus', TType::STRUCT, 4);
-      $xfer += $this->transferStatus->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class TaskDetails {
-  static $_TSPEC;
-
-  public $taskID = "DO_NOT_SET_AT_CLIENTS";
-  public $creationTime = null;
-  public $applicationId = null;
-  public $applicationVersion = null;
-  public $applicationInputs = null;
-  public $applicationOutputs = null;
-  public $taskScheduling = null;
-  public $advancedInputDataHandling = null;
-  public $advancedOutputDataHandling = null;
-  public $taskStatus = null;
-  public $jobDetailsList = null;
-  public $dataTransferDetailsList = null;
-  public $errors = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'taskID',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'creationTime',
-          'type' => TType::I64,
-          ),
-        3 => array(
-          'var' => 'applicationId',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'applicationVersion',
-          'type' => TType::STRING,
-          ),
-        5 => array(
-          'var' => 'applicationInputs',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
-            ),
-          ),
-        6 => array(
-          'var' => 'applicationOutputs',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
-            ),
-          ),
-        7 => array(
-          'var' => 'taskScheduling',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling',
-          ),
-        8 => array(
-          'var' => 'advancedInputDataHandling',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling',
-          ),
-        9 => array(
-          'var' => 'advancedOutputDataHandling',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling',
-          ),
-        10 => array(
-          'var' => 'taskStatus',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\TaskStatus',
-          ),
-        11 => array(
-          'var' => 'jobDetailsList',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\JobDetails',
-            ),
-          ),
-        12 => array(
-          'var' => 'dataTransferDetailsList',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\DataTransferDetails',
-            ),
-          ),
-        13 => array(
-          'var' => 'errors',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\ErrorDetails',
-            ),
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['taskID'])) {
-        $this->taskID = $vals['taskID'];
-      }
-      if (isset($vals['creationTime'])) {
-        $this->creationTime = $vals['creationTime'];
-      }
-      if (isset($vals['applicationId'])) {
-        $this->applicationId = $vals['applicationId'];
-      }
-      if (isset($vals['applicationVersion'])) {
-        $this->applicationVersion = $vals['applicationVersion'];
-      }
-      if (isset($vals['applicationInputs'])) {
-        $this->applicationInputs = $vals['applicationInputs'];
-      }
-      if (isset($vals['applicationOutputs'])) {
-        $this->applicationOutputs = $vals['applicationOutputs'];
-      }
-      if (isset($vals['taskScheduling'])) {
-        $this->taskScheduling = $vals['taskScheduling'];
-      }
-      if (isset($vals['advancedInputDataHandling'])) {
-        $this->advancedInputDataHandling = $vals['advancedInputDataHandling'];
-      }
-      if (isset($vals['advancedOutputDataHandling'])) {
-        $this->advancedOutputDataHandling = $vals['advancedOutputDataHandling'];
-      }
-      if (isset($vals['taskStatus'])) {
-        $this->taskStatus = $vals['taskStatus'];
-      }
-      if (isset($vals['jobDetailsList'])) {
-        $this->jobDetailsList = $vals['jobDetailsList'];
-      }
-      if (isset($vals['dataTransferDetailsList'])) {
-        $this->dataTransferDetailsList = $vals['dataTransferDetailsList'];
-      }
-      if (isset($vals['errors'])) {
-        $this->errors = $vals['errors'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'TaskDetails';
-  }
-
-  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::I64) {
-            $xfer += $input->readI64($this->creationTime);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->applicationId);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->applicationVersion);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          if ($ftype == TType::LST) {
-            $this->applicationInputs = array();
-            $_size14 = 0;
-            $_etype17 = 0;
-            $xfer += $input->readListBegin($_etype17, $_size14);
-            for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
-            {
-              $elem19 = null;
-              $elem19 = new \Airavata\Model\Workspace\Experiment\DataObjectType();
-              $xfer += $elem19->read($input);
-              $this->applicationInputs []= $elem19;
-            }
-            $xfer += $input->readListEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 6:
-          if ($ftype == TType::LST) {
-            $this->applicationOutputs = array();
-            $_size20 = 0;
-            $_etype23 = 0;
-            $xfer += $input->readListBegin($_etype23, $_size20);
-            for ($_i24 = 0; $_i24 < $_size20; ++$_i24)
-            {
-              $elem25 = null;
-              $elem25 = new \Airavata\Model\Workspace\Experiment\DataObjectType();
-              $xfer += $elem25->read($input);
-              $this->applicationOutputs []= $elem25;
-            }
-            $xfer += $input->readListEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 7:
-          if ($ftype == TType::STRUCT) {
-            $this->taskScheduling = new \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling();
-            $xfer += $this->taskScheduling->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 8:
-          if ($ftype == TType::STRUCT) {
-            $this->advancedInputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling();
-            $xfer += $this->advancedInputDataHandling->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 9:
-          if ($ftype == TType::STRUCT) {
-            $this->advancedOutputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling();
-            $xfer += $this->advancedOutputDataHandling->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 10:
-          if ($ftype == TType::STRUCT) {
-            $this->taskStatus = new \Airavata\Model\Workspace\Experiment\TaskStatus();
-            $xfer += $this->taskStatus->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 11:
-          if ($ftype == TType::LST) {
-            $this->jobDetailsList = array();
-            $_size26 = 0;
-            $_etype29 = 0;
-            $xfer += $input->readListBegin($_etype29, $_size26);
-            for ($_i30 = 0; $_i30 < $_size26; ++$_i30)
-            {
-              $elem31 = null;
-              $elem31 = new \Airavata\Model\Workspace\Experiment\JobDetails();
-              $xfer += $elem31->read($input);
-              $this->jobDetailsList []= $elem31;
-            }
-            $xfer += $input->readListEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 12:
-          if ($ftype == TType::LST) {
-            $this->dataTransferDetailsList = array();
-            $_size32 = 0;
-            $_etype35 = 0;
-            $xfer += $input->readListBegin($_etype35, $_size32);
-            for ($_i36 = 0; $_i36 < $_size32; ++$_i36)
-            {
-              $elem37 = null;
-              $elem37 = new \Airavata\Model\Workspace\Experiment\DataTransferDetails();
-              $xfer += $elem37->read($input);
-              $this->dataTransferDetailsList []= $elem37;
-            }
-            $xfer += $input->readListEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 13:
-          if ($ftype == TType::LST) {
-            $this->errors = array();
-            $_size38 = 0;
-            $_etype41 = 0;
-            $xfer += $input->readListBegin($_etype41, $_size38);
-            for ($_i42 = 0; $_i42 < $_size38; ++$_i42)
-            {
-              $elem43 = null;
-              $elem43 = new \Airavata\Model\Workspace\Experiment\ErrorDetails();
-              $xfer += $elem43->read($input);
-              $this->errors []= $elem43;
-            }
-            $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('TaskDetails');
-    if ($this->taskID !== null) {
-      $xfer += $output->writeFieldBegin('taskID', TType::STRING, 1);
-      $xfer += $output->writeString($this->taskID);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 2);
-      $xfer += $output->writeI64($this->creationTime);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->applicationId !== null) {
-      $xfer += $output->writeFieldBegin('applicationId', TType::STRING, 3);
-      $xfer += $output->writeString($this->applicationId);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->applicationVersion !== null) {
-      $xfer += $output->writeFieldBegin('applicationVersion', TType::STRING, 4);
-      $xfer += $output->writeString($this->applicationVersion);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->applicationInputs !== null) {
-      if (!is_array($this->applicationInputs)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('applicationInputs', TType::LST, 5);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->applicationInputs));
-        {
-          foreach ($this->applicationInputs as $iter44)
-          {
-            $xfer += $iter44->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->applicationOutputs !== null) {
-      if (!is_array($this->applicationOutputs)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('applicationOutputs', TType::LST, 6);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->applicationOutputs));
-        {
-          foreach ($this->applicationOutputs as $iter45)
-          {
-            $xfer += $iter45->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->taskScheduling !== null) {
-      if (!is_object($this->taskScheduling)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('taskScheduling', TType::STRUCT, 7);
-      $xfer += $this->taskScheduling->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->advancedInputDataHandling !== null) {
-      if (!is_object($this->advancedInputDataHandling)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('advancedInputDataHandling', TType::STRUCT, 8);
-      $xfer += $this->advancedInputDataHandling->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->advancedOutputDataHandling !== null) {
-      if (!is_object($this->advancedOutputDataHandling)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('advancedOutputDataHandling', TType::STRUCT, 9);
-      $xfer += $this->advancedOutputDataHandling->write($output);
-      $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, 10);
-      $xfer += $this->taskStatus->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->jobDetailsList !== null) {
-      if (!is_array($this->jobDetailsList)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('jobDetailsList', TType::LST, 11);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->jobDetailsList));
-        {
-          foreach ($this->jobDetailsList as $iter46)
-          {
-            $xfer += $iter46->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->dataTransferDetailsList !== null) {
-      if (!is_array($this->dataTransferDetailsList)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('dataTransferDetailsList', TType::LST, 12);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->dataTransferDetailsList));
-        {
-          foreach ($this->dataTransferDetailsList as $iter47)
-          {
-            $xfer += $iter47->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $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, 13);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->errors));
-        {
-          foreach ($this->errors as $iter48)
-          {
-            $xfer += $iter48->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class WorkflowNodeDetails {
-  static $_TSPEC;
-
-  public $nodeInstanceId = "DO_NOT_SET_AT_CLIENTS";
-  public $creationTime = null;
-  public $nodeName = "SINGLE_APP_NODE";
-  public $nodeInputs = null;
-  public $nodeOutputs = null;
-  public $workflowNodeStatus = null;
-  public $taskDetailsList = null;
-  public $errors = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'nodeInstanceId',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'creationTime',
-          'type' => TType::I64,
-          ),
-        3 => array(
-          'var' => 'nodeName',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'nodeInputs',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
-            ),
-          ),
-        5 => array(
-          'var' => 'nodeOutputs',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
-            ),
-          ),
-        6 => array(
-          'var' => 'workflowNodeStatus',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\WorkflowNodeStatus',
-          ),
-        7 => array(
-          'var' => 'taskDetailsList',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\TaskDetails',
-            ),
-          ),
-        8 => array(
-          'var' => 'errors',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Experiment\ErrorDetails',
-            ),
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['nodeInstanceId'])) {
-        $this->nodeInstanceId = $vals['nodeInstanceId'];
-      }
-      if (isset($vals['creationTime'])) {
-        $this->creationTime = $vals['creationTime'];
-      }
-      if (isset($vals['nodeName'])) {
-        $this->nodeName = $vals['nodeName'];
-      }
-      if (isset($vals['nodeInputs'])) {
-        $this->nodeInputs = $vals['nodeInputs'];
-      }
-      if (isset($vals['nodeOutputs'])) {
-        $this->nodeOutputs = $vals['nodeOutputs'];
-      }
-      if (isset($vals['workflowNodeStatus'])) {
-        $this->workflowNodeStatus = $vals['workflowNodeStatus'];
-      }
-      if (isset($vals['taskDetailsList'])) {
-        $this->taskDetailsList = $vals['taskDetailsList'];
-      }
-      if (isset($vals['errors'])) {
-        $this->errors = $vals['errors'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'WorkflowNodeDetails';
-  }
-
-  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) {
-        brea

<TRUNCATED>

[18/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.h
new file mode 100644
index 0000000..bbe3692
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavataAPI_CONSTANTS_H
+#define airavataAPI_CONSTANTS_H
+
+#include "airavataAPI_types.h"
+
+namespace airavata { namespace api {
+
+class airavataAPIConstants {
+ public:
+  airavataAPIConstants();
+
+  std::string AIRAVATA_API_VERSION;
+};
+
+extern const airavataAPIConstants g_airavataAPI_constants;
+
+}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.cpp
new file mode 100644
index 0000000..00822cd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.cpp
@@ -0,0 +1,13 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavataAPI_types.h"
+
+#include <algorithm>
+
+namespace airavata { namespace api {
+
+}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.h
new file mode 100644
index 0000000..3fab592
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.h
@@ -0,0 +1,26 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavataAPI_TYPES_H
+#define airavataAPI_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavataErrors_types.h"
+#include "airavataDataModel_types.h"
+#include "experimentModel_types.h"
+#include "workspaceModel_types.h"
+
+
+namespace airavata { namespace api {
+
+}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.cpp
new file mode 100644
index 0000000..934ab94
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.cpp
@@ -0,0 +1,17 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavataDataModel_constants.h"
+
+
+
+const airavataDataModelConstants g_airavataDataModel_constants;
+
+airavataDataModelConstants::airavataDataModelConstants() {
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.h
new file mode 100644
index 0000000..e7de9f3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.h
@@ -0,0 +1,24 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavataDataModel_CONSTANTS_H
+#define airavataDataModel_CONSTANTS_H
+
+#include "airavataDataModel_types.h"
+
+
+
+class airavataDataModelConstants {
+ public:
+  airavataDataModelConstants();
+
+};
+
+extern const airavataDataModelConstants g_airavataDataModel_constants;
+
+
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.cpp
new file mode 100644
index 0000000..c9492d8
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.cpp
@@ -0,0 +1,13 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavataDataModel_types.h"
+
+#include <algorithm>
+
+
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h
new file mode 100644
index 0000000..addaf4b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h
@@ -0,0 +1,23 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavataDataModel_TYPES_H
+#define airavataDataModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "workspaceModel_types.h"
+
+
+
+
+
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.cpp
new file mode 100644
index 0000000..be2d0cb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.cpp
@@ -0,0 +1,17 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavataErrors_constants.h"
+
+namespace airavata { namespace api { namespace error {
+
+const airavataErrorsConstants g_airavataErrors_constants;
+
+airavataErrorsConstants::airavataErrorsConstants() {
+}
+
+}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.h
new file mode 100644
index 0000000..b9823c0
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.h
@@ -0,0 +1,24 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavataErrors_CONSTANTS_H
+#define airavataErrors_CONSTANTS_H
+
+#include "airavataErrors_types.h"
+
+namespace airavata { namespace api { namespace error {
+
+class airavataErrorsConstants {
+ public:
+  airavataErrorsConstants();
+
+};
+
+extern const airavataErrorsConstants g_airavataErrors_constants;
+
+}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp
new file mode 100644
index 0000000..e52eab2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp
@@ -0,0 +1,511 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "airavataErrors_types.h"
+
+#include <algorithm>
+
+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));
+
+const char* ExperimentNotFoundException::ascii_fingerprint = "D0297FC5011701BD87898CC36146A565";
+const uint8_t ExperimentNotFoundException::binary_fingerprint[16] = {0xD0,0x29,0x7F,0xC5,0x01,0x17,0x01,0xBD,0x87,0x89,0x8C,0xC3,0x61,0x46,0xA5,0x65};
+
+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;
+
+
+  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->identifier);
+          this->__isset.identifier = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->key);
+          this->__isset.key = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t ExperimentNotFoundException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("ExperimentNotFoundException");
+
+  if (this->__isset.identifier) {
+    xfer += oprot->writeFieldBegin("identifier", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeString(this->identifier);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.key) {
+    xfer += oprot->writeFieldBegin("key", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->key);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b) {
+  using ::std::swap;
+  swap(a.identifier, b.identifier);
+  swap(a.key, b.key);
+  swap(a.__isset, b.__isset);
+}
+
+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;
+  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();
+  return xfer;
+}
+
+void swap(InvalidRequestException &a, InvalidRequestException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
+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;
+  xfer += oprot->writeStructBegin("TimedOutException");
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(TimedOutException &a, TimedOutException &b) {
+  using ::std::swap;
+  (void) a;
+  (void) b;
+}
+
+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;
+  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();
+  return xfer;
+}
+
+void swap(AuthenticationException &a, AuthenticationException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
+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;
+  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();
+  return xfer;
+}
+
+void swap(AuthorizationException &a, AuthorizationException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
+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 ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->airavataErrorType = (AiravataErrorType::type)ecast0;
+          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;
+  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();
+  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);
+}
+
+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 ecast1;
+          xfer += iprot->readI32(ecast1);
+          this->airavataErrorType = (AiravataErrorType::type)ecast1;
+          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;
+  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();
+  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);
+}
+
+}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h
new file mode 100644
index 0000000..877051e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h
@@ -0,0 +1,341 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef airavataErrors_TYPES_H
+#define airavataErrors_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+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;
+
+typedef struct _ExperimentNotFoundException__isset {
+  _ExperimentNotFoundException__isset() : identifier(false), key(false) {}
+  bool identifier;
+  bool key;
+} _ExperimentNotFoundException__isset;
+
+class ExperimentNotFoundException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "D0297FC5011701BD87898CC36146A565";
+  static const uint8_t binary_fingerprint[16]; // = {0xD0,0x29,0x7F,0xC5,0x01,0x17,0x01,0xBD,0x87,0x89,0x8C,0xC3,0x61,0x46,0xA5,0x65};
+
+  ExperimentNotFoundException() : identifier(), key() {
+  }
+
+  virtual ~ExperimentNotFoundException() throw() {}
+
+  std::string identifier;
+  std::string key;
+
+  _ExperimentNotFoundException__isset __isset;
+
+  void __set_identifier(const std::string& val) {
+    identifier = val;
+    __isset.identifier = true;
+  }
+
+  void __set_key(const std::string& val) {
+    key = val;
+    __isset.key = true;
+  }
+
+  bool operator == (const ExperimentNotFoundException & rhs) const
+  {
+    if (__isset.identifier != rhs.__isset.identifier)
+      return false;
+    else if (__isset.identifier && !(identifier == rhs.identifier))
+      return false;
+    if (__isset.key != rhs.__isset.key)
+      return false;
+    else if (__isset.key && !(key == rhs.key))
+      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;
+
+};
+
+void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &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() : message() {
+  }
+
+  virtual ~InvalidRequestException() throw() {}
+
+  std::string message;
+
+  void __set_message(const std::string& val) {
+    message = 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;
+
+};
+
+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() {
+  }
+
+  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;
+
+};
+
+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() : message() {
+  }
+
+  virtual ~AuthenticationException() throw() {}
+
+  std::string message;
+
+  void __set_message(const std::string& val) {
+    message = 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;
+
+};
+
+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() : message() {
+  }
+
+  virtual ~AuthorizationException() throw() {}
+
+  std::string message;
+
+  void __set_message(const std::string& val) {
+    message = 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;
+
+};
+
+void swap(AuthorizationException &a, AuthorizationException &b);
+
+typedef struct _AiravataClientException__isset {
+  _AiravataClientException__isset() : parameter(false) {}
+  bool parameter;
+} _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() : airavataErrorType((AiravataErrorType::type)0), parameter() {
+  }
+
+  virtual ~AiravataClientException() throw() {}
+
+  AiravataErrorType::type airavataErrorType;
+  std::string parameter;
+
+  _AiravataClientException__isset __isset;
+
+  void __set_airavataErrorType(const AiravataErrorType::type val) {
+    airavataErrorType = val;
+  }
+
+  void __set_parameter(const std::string& val) {
+    parameter = val;
+    __isset.parameter = true;
+  }
+
+  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;
+
+};
+
+void swap(AiravataClientException &a, AiravataClientException &b);
+
+typedef struct _AiravataSystemException__isset {
+  _AiravataSystemException__isset() : message(false) {}
+  bool message;
+} _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() : airavataErrorType((AiravataErrorType::type)0), message() {
+  }
+
+  virtual ~AiravataSystemException() throw() {}
+
+  AiravataErrorType::type airavataErrorType;
+  std::string message;
+
+  _AiravataSystemException__isset __isset;
+
+  void __set_airavataErrorType(const AiravataErrorType::type val) {
+    airavataErrorType = val;
+  }
+
+  void __set_message(const std::string& val) {
+    message = val;
+    __isset.message = true;
+  }
+
+  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;
+
+};
+
+void swap(AiravataSystemException &a, AiravataSystemException &b);
+
+}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.cpp
new file mode 100644
index 0000000..9f94244
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.cpp
@@ -0,0 +1,23 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "experimentModel_constants.h"
+
+
+
+const experimentModelConstants g_experimentModel_constants;
+
+experimentModelConstants::experimentModelConstants() {
+  DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+  DEFAULT_PROJECT_NAME = "DEFAULT";
+
+  SINGLE_APP_NODE_NAME = "SINGLE_APP_NODE";
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.h
new file mode 100644
index 0000000..7525cc7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.h
@@ -0,0 +1,27 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef experimentModel_CONSTANTS_H
+#define experimentModel_CONSTANTS_H
+
+#include "experimentModel_types.h"
+
+
+
+class experimentModelConstants {
+ public:
+  experimentModelConstants();
+
+  std::string DEFAULT_ID;
+  std::string DEFAULT_PROJECT_NAME;
+  std::string SINGLE_APP_NODE_NAME;
+};
+
+extern const experimentModelConstants g_experimentModel_constants;
+
+
+
+#endif


[23/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/assembly/bin-assembly.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/assembly/bin-assembly.xml b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/assembly/bin-assembly.xml
new file mode 100644
index 0000000..5f7ae03
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/assembly/bin-assembly.xml
@@ -0,0 +1,63 @@
+<!--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. -->
+	
+<!DOCTYPE assembly [
+        <!ELEMENT assembly (id|includeBaseDirectory|baseDirectory|formats|fileSets|dependencySets)*>
+        <!ELEMENT id (#PCDATA)>
+        <!ELEMENT includeBaseDirectory (#PCDATA)>
+        <!ELEMENT baseDirectory (#PCDATA)>
+        <!ELEMENT formats (format)*>
+        <!ELEMENT format (#PCDATA)>
+        <!ELEMENT fileSets (fileSet)*>
+        <!ELEMENT fileSet (directory|outputDirectory|includes)*>
+        <!ELEMENT directory (#PCDATA)>
+        <!ELEMENT outputDirectory (#PCDATA)>
+        <!ELEMENT includes (include)*>
+        <!ELEMENT include (#PCDATA)>
+        <!ELEMENT dependencySets (dependencySet)*>
+        <!ELEMENT dependencySet (outputDirectory|includes)*>
+        ]>
+<assembly>
+    <id>bin</id>
+    <includeBaseDirectory>false</includeBaseDirectory>
+    <baseDirectory>${archieve.name}-${version}</baseDirectory>
+    <formats>
+        <format>tar.gz</format>
+        <format>zip</format>
+    </formats>
+    <fileSets>
+        <!-- ********************** copy release notes files ********************** -->
+        <fileSet>
+            <directory>../../../</directory>
+            <outputDirectory>.</outputDirectory>
+            <includes>
+                <include>RELEASE_NOTES</include>
+            </includes>
+        </fileSet>
+        <!-- ********************** copy licenses, readme etc. ********************** -->
+        <fileSet>
+            <directory>src/main/resources/</directory>
+            <outputDirectory>.</outputDirectory>
+            <includes>
+                <include>conf/*</include>
+		<include>lib/*</include>
+                <include>LICENSE</include>
+                <include>NOTICE</include>
+                <include>README</include>
+                <include>INSTALL</include>
+            </includes>
+        </fileSet>
+	<fileSet>
+            <directory>${project.build.directory}/conf</directory>
+            <outputDirectory>conf</outputDirectory>
+	    <includes>
+                <include>*.properties</include>
+            </includes>
+        </fileSet>
+    </fileSets>
+</assembly>

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/INSTALL
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/INSTALL b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/INSTALL
new file mode 100644
index 0000000..c815ce0
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/INSTALL
@@ -0,0 +1,31 @@
+Installing  Apache Airavata Client 0.11
+--------------------------------------
+
+Prerequisites
+-------------
+Java 1.5 or later
+Maven (tested on v 3.0.2)
+
+Build Apache Airavata from Source
+---------------------------------
+* Unzip/untar the source file or check out from svn.
+* cd to project folder and type
+	$ mvn clean install
+	Note: in order to skip tests use the command
+			$ mvn clean install -Dmaven.test.skip=true
+* The compressed binary distribution is created at <PROJECT DIR>/modules/distribution/airavata-client/target
+
+Installing the Airavata Client Libraries
+----------------------------------------
+* Add all the libraries (jar files) in the <AIRAVATA_CLIENT_HOME>/lib directory to the classpath
+* Add the <AIRAVATA_CLIENT_HOME>/conf directory to the classpath
+
+Running Tests
+-------------
+Once the binary is unzipped, instructions to run the tests should be follow from README
+
+Tutorials 
+----------
+The airavata website has instructions for basic tutorials:
+* For basic understanding on how to use Airavata API please look at the samples shipped with the distribution
+* Follow Airavata Wiki for more examples on how to use the Airavata API - https://cwiki.apache.org/confluence/display/AIRAVATA/Gateway+Developer+Guide


[07/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/NOTICE
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/NOTICE b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/NOTICE
new file mode 100644
index 0000000..fa7cba5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/NOTICE
@@ -0,0 +1,163 @@
+Apache Airavata
+Copyright 2014 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+===============================================================================
+Apache Xerces Java Notice:
+
+   Portions of this software were originally based on the following:
+     - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
+     - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
+     - voluntary contributions made by Paul Eng on behalf of the
+       Apache Software Foundation that were originally developed at iClick, Inc.,
+       software copyright (c) 1999.
+
+================================================================================
+Apache XmlBeans Notice: 
+
+   Portions of this software were originally based on the following:
+     - software copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+
+   Aside from contributions to the Apache XMLBeans project, this
+   software also includes:
+
+    - one or more source files from the Apache Xerces-J and Apache Axis
+      products, Copyright (c) 1999-2003 Apache Software Foundation
+
+    - W3C XML Schema documents Copyright 2001-2003 (c) World Wide Web
+      Consortium (Massachusetts Institute of Technology, European Research
+      Consortium for Informatics and Mathematics, Keio University)
+
+    - resolver.jar from Apache Xml Commons project,
+      Copyright (c) 2001-2003 Apache Software Foundation
+
+    - Piccolo XML Parser for Java from http://piccolo.sourceforge.net/,
+      Copyright 2002 Yuval Oren under the terms of the Apache Software License 2.0
+
+    - JSR-173 Streaming API for XML from http://sourceforge.net/projects/xmlpullparser/,
+      Copyright 2005 BEA under the terms of the Apache Software License 2.0
+      
+=========================================================================================
+Apache Axis2 Notice: (axis2-*, mex-1.5.1-impl)
+
+Portions Copyright 2006 International Business Machines Corp.
+Portions Copyright 2005-2007 WSO2, Inc.
+
+This product also includes schemas and specification developed by:
+- the W3C consortium (http://www.w3c.org)
+
+This product also includes WS-* schemas developed by International
+Business Machines Corporation, Microsoft Corporation, BEA Systems, 
+TIBCO Software, SAP AG, Sonic Software, and VeriSign
+
+This product also includes a WSDL developed by salesforce.com
+- Copyright 1999-2006 salesforce.com, inc.
+Portions of the included xmlbeans library were originally based on the following:
+- software copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+
+====================================================================================
+Apache Derby Notice:
+
+Portions of Derby were originally developed by
+International Business Machines Corporation and are
+licensed to the Apache Software Foundation under the
+"Software Grant and Corporate Contribution License Agreement",
+informally known as the "Derby CLA".
+The following copyright notice(s) were affixed to portions of the code
+with which this file is now or was at one time distributed
+and are placed here unaltered.
+
+(C) Copyright 1997,2004 International Business Machines Corporation.  All rights reserved.
+
+(C) Copyright IBM Corp. 2003. 
+
+=======================
+
+The portion of the functionTests under 'nist' was originally 
+developed by the National Institute of Standards and Technology (NIST), 
+an agency of the United States Department of Commerce, and adapted by
+International Business Machines Corporation in accordance with the NIST
+Software Acknowledgment and Redistribution document at
+http://www.itl.nist.gov/div897/ctg/sql_form.htm
+
+========================
+
+The JDBC apis for small devices and JDBC3 (under java/stubs/jsr169 and
+java/stubs/jdbc3) were produced by trimming sources supplied by the
+Apache Harmony project. In addition, the Harmony SerialBlob and
+SerialClob implementations are used. The following notice covers the Harmony sources:
+
+Portions of Harmony were originally developed by
+Intel Corporation and are licensed to the Apache Software
+Foundation under the "Software Grant and Corporate Contribution
+License Agreement", informally known as the "Intel Harmony CLA".
+
+=============================================================================
+Apache Woden Notice:
+
+   This product also includes software developed by :
+   
+     - IBM Corporation (http://www.ibm.com),
+         WSDL4J was the initial code contribution for the Apache Woden
+         project and some of the WSDL4J design and code has been reused.
+     - The W3C Consortium (http://www.w3c.org),
+         Common W3C XML Schema and DTD files are packaged with Apache Woden.
+
+   Please read the different LICENSE files present in the root directory of
+   this distribution.
+
+=========================================================================
+Woodstox Notice: 
+
+This product includes software developed by the Woodstox Project 
+(http://woodstox.codehaus.org/)
+
+This product currently only contains code developed by authors
+of specific components, as identified by the source code files.
+
+Since product implements StAX API, it has dependencies to StAX API
+classes.
+
+For additional credits (generally to people who reported problems)
+see CREDITS file.
+
+===========================================================================
+Apache xml-commons xml-apis Notice:
+
+   Portions of this software were originally based on the following:
+     - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
+     - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
+     - software copyright (c) 2000 World Wide Web Consortium, http://www.w3.org
+
+================================================================================================
+Apache  Xalan Notice: 
+
+Portions of this software was originally based on the following:
+     - software copyright (c) 1999-2002, Lotus Development Corporation., http://www.lotus.com.
+     - software copyright (c) 2001-2002, Sun Microsystems., http://www.sun.com.
+     - software copyright (c) 2003, IBM Corporation., http://www.ibm.com.
+     - voluntary contributions made by Ovidiu Predescu (ovidiu@cup.hp.com) on behalf of the 
+       Apache Software Foundation and was originally developed at Hewlett Packard Company. 
+================================================================================================
+Apache  OpenJPA Notice: 
+
+OpenJPA includes software developed by the SERP project
+Copyright (c) 2002-2006, A. Abram White. All rights reserved.
+
+OpenJPA includes the persistence and orm schemas from the JPA specifications.
+Copyright 2005-2009 Sun Microsystems, Inc. All rights reserved.
+OpenJPA elects to include this software in this distribution under the
+CDDL license.  You can obtain a copy of the License at:
+    https://glassfish.dev.java.net/public/CDDL+GPL.html
+The source code is available at:
+    https://glassfish.dev.java.net/source/browse/glassfish/
+
+OpenJPA includes software written by Miroslav Nachev
+OpenJPA uses test code written by Charles Tillman.
+================================================================================================
+Apache XmlSchema Notice:
+
+Portions Copyright 2006 International Business Machines Corp.
+================================================================================================

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/README
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/README b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/README
new file mode 100644
index 0000000..9c91811
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/README
@@ -0,0 +1,5 @@
+Apache Airavata Thrift PHP Software Development Kit.
+
+The lib directory has THRIFT files and Airavata generated PHP stubs.
+
+The samples directory has example PHP code.
\ No newline at end of file


[29/31] git commit: AIRAVATA-1144

Posted by sa...@apache.org.
AIRAVATA-1144


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

Branch: refs/heads/master
Commit: 4903770b613e18ac460d8e7f2c78301eb613b9a5
Parents: 46205e6
Author: Saminda Wijeratne <sa...@gmail.com>
Authored: Wed Apr 16 19:14:47 2014 -0700
Committer: Saminda Wijeratne <sa...@gmail.com>
Committed: Wed Apr 16 19:14:47 2014 -0700

----------------------------------------------------------------------
 .../airavata-cpp-sdk/README                     |    7 -
 .../airavata-stubs/Airavata.cpp                 | 6268 ------------------
 .../airavata-cpp-sdk/airavata-stubs/Airavata.h  | 2714 --------
 .../airavata-stubs/Airavata_server.skeleton.cpp |  129 -
 .../airavata-stubs/airavataAPI_constants.cpp    |   19 -
 .../airavata-stubs/airavataAPI_constants.h      |   25 -
 .../airavata-stubs/airavataAPI_types.cpp        |   13 -
 .../airavata-stubs/airavataAPI_types.h          |   26 -
 .../airavataDataModel_constants.cpp             |   17 -
 .../airavataDataModel_constants.h               |   24 -
 .../airavata-stubs/airavataDataModel_types.cpp  |   13 -
 .../airavata-stubs/airavataDataModel_types.h    |   23 -
 .../airavata-stubs/airavataErrors_constants.cpp |   17 -
 .../airavata-stubs/airavataErrors_constants.h   |   24 -
 .../airavata-stubs/airavataErrors_types.cpp     |  511 --
 .../airavata-stubs/airavataErrors_types.h       |  341 -
 .../experimentModel_constants.cpp               |   23 -
 .../airavata-stubs/experimentModel_constants.h  |   27 -
 .../airavata-stubs/experimentModel_types.cpp    | 2867 --------
 .../airavata-stubs/experimentModel_types.h      | 1801 -----
 .../airavata-stubs/workspaceModel_constants.cpp |   17 -
 .../airavata-stubs/workspaceModel_constants.h   |   24 -
 .../airavata-stubs/workspaceModel_types.cpp     |  464 --
 .../airavata-stubs/workspaceModel_types.h       |  273 -
 .../airavata-cpp-sdk/pom.xml                    |  114 +
 .../src/main/assembly/bin-assembly.xml          |   63 +
 .../airavata-cpp-sdk/src/main/resources/INSTALL |   31 +
 .../airavata-cpp-sdk/src/main/resources/LICENSE | 2272 +++++++
 .../airavata-cpp-sdk/src/main/resources/NOTICE  |  163 +
 .../airavata-cpp-sdk/src/main/resources/README  |    7 +
 .../src/main/resources/lib/Airavata.cpp         | 6268 ++++++++++++++++++
 .../src/main/resources/lib/Airavata.h           | 2714 ++++++++
 .../resources/lib/Airavata_server.skeleton.cpp  |  129 +
 .../resources/lib/airavataAPI_constants.cpp     |   19 +
 .../main/resources/lib/airavataAPI_constants.h  |   25 +
 .../main/resources/lib/airavataAPI_types.cpp    |   13 +
 .../src/main/resources/lib/airavataAPI_types.h  |   26 +
 .../lib/airavataDataModel_constants.cpp         |   17 +
 .../resources/lib/airavataDataModel_constants.h |   24 +
 .../resources/lib/airavataDataModel_types.cpp   |   13 +
 .../resources/lib/airavataDataModel_types.h     |   23 +
 .../resources/lib/airavataErrors_constants.cpp  |   17 +
 .../resources/lib/airavataErrors_constants.h    |   24 +
 .../main/resources/lib/airavataErrors_types.cpp |  511 ++
 .../main/resources/lib/airavataErrors_types.h   |  341 +
 .../resources/lib/experimentModel_constants.cpp |   23 +
 .../resources/lib/experimentModel_constants.h   |   27 +
 .../resources/lib/experimentModel_types.cpp     | 2867 ++++++++
 .../main/resources/lib/experimentModel_types.h  | 1801 +++++
 .../resources/lib/workspaceModel_constants.cpp  |   17 +
 .../resources/lib/workspaceModel_constants.h    |   24 +
 .../main/resources/lib/workspaceModel_types.cpp |  464 ++
 .../main/resources/lib/workspaceModel_types.h   |  273 +
 53 files changed, 18310 insertions(+), 15667 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/README
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/README b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/README
deleted file mode 100644
index e4a4864..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/README
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Airavata Thrift C++ Software Development Kit.
-
-Prerequisites:
-Since C++ thrift libraries are platform dependent, we encourage you to compile apache thrift locally.
-
-Conveniance Binaries:
-Airavata will bundle conveniance binaries, but again we encourage to build from source.
\ No newline at end of file


[06/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/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
new file mode 100644
index 0000000..42fc7f4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -0,0 +1,4849 @@
+<?php
+namespace Airavata\API;
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * 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;
+
+
+interface AiravataIf {
+  public function GetAPIVersion();
+  public function createProject(\Airavata\Model\Workspace\Project $project, $userName);
+  public function updateProject(\Airavata\Model\Workspace\Project $project);
+  public function getProject($projectId);
+  public function getAllUserProjects($userName);
+  public function getAllExperimentsInProject($projectId);
+  public function getAllUserExperiments($userName);
+  public function createExperiment(\Airavata\Model\Workspace\Experiment\Experiment $experiment);
+  public function getExperiment($airavataExperimentId);
+  public function updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
+  public function updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration);
+  public function updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling);
+  public function launchExperiment($airavataExperimentId, $airavataCredStoreToken);
+  public function getExperimentStatus($airavataExperimentId);
+  public function getExperimentOutputs($airavataExperimentId);
+  public function getJobStatuses($airavataExperimentId);
+  public function cloneExperiment($airavataExperimentIdToBeCloned, \Airavata\Model\Workspace\Experiment\Experiment $updatedExperiment);
+  public function terminateExperiment($airavataExperimentId);
+}
+
+class AiravataClient implements \Airavata\API\AiravataIf {
+  protected $input_ = null;
+  protected $output_ = null;
+
+  protected $seqid_ = 0;
+
+  public function __construct($input, $output=null) {
+    $this->input_ = $input;
+    $this->output_ = $output ? $output : $input;
+  }
+
+  public function GetAPIVersion()
+  {
+    $this->send_GetAPIVersion();
+    return $this->recv_GetAPIVersion();
+  }
+
+  public function send_GetAPIVersion()
+  {
+    $args = new \Airavata\API\Airavata_GetAPIVersion_args();
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'GetAPIVersion', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('GetAPIVersion', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_GetAPIVersion()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_GetAPIVersion_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_GetAPIVersion_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    throw new \Exception("GetAPIVersion failed: unknown result");
+  }
+
+  public function createProject(\Airavata\Model\Workspace\Project $project, $userName)
+  {
+    $this->send_createProject($project, $userName);
+    return $this->recv_createProject();
+  }
+
+  public function send_createProject(\Airavata\Model\Workspace\Project $project, $userName)
+  {
+    $args = new \Airavata\API\Airavata_createProject_args();
+    $args->project = $project;
+    $args->userName = $userName;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'createProject', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('createProject', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_createProject()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_createProject_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_createProject_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    throw new \Exception("createProject failed: unknown result");
+  }
+
+  public function updateProject(\Airavata\Model\Workspace\Project $project)
+  {
+    $this->send_updateProject($project);
+    $this->recv_updateProject();
+  }
+
+  public function send_updateProject(\Airavata\Model\Workspace\Project $project)
+  {
+    $args = new \Airavata\API\Airavata_updateProject_args();
+    $args->project = $project;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'updateProject', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('updateProject', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_updateProject()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_updateProject_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_updateProject_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    return;
+  }
+
+  public function getProject($projectId)
+  {
+    $this->send_getProject($projectId);
+    return $this->recv_getProject();
+  }
+
+  public function send_getProject($projectId)
+  {
+    $args = new \Airavata\API\Airavata_getProject_args();
+    $args->projectId = $projectId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getProject', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getProject', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getProject()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getProject_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_getProject_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    throw new \Exception("getProject failed: unknown result");
+  }
+
+  public function getAllUserProjects($userName)
+  {
+    $this->send_getAllUserProjects($userName);
+    return $this->recv_getAllUserProjects();
+  }
+
+  public function send_getAllUserProjects($userName)
+  {
+    $args = new \Airavata\API\Airavata_getAllUserProjects_args();
+    $args->userName = $userName;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getAllUserProjects', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getAllUserProjects', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getAllUserProjects()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAllUserProjects_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_getAllUserProjects_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    throw new \Exception("getAllUserProjects failed: unknown result");
+  }
+
+  public function getAllExperimentsInProject($projectId)
+  {
+    $this->send_getAllExperimentsInProject($projectId);
+    return $this->recv_getAllExperimentsInProject();
+  }
+
+  public function send_getAllExperimentsInProject($projectId)
+  {
+    $args = new \Airavata\API\Airavata_getAllExperimentsInProject_args();
+    $args->projectId = $projectId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getAllExperimentsInProject', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getAllExperimentsInProject', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getAllExperimentsInProject()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAllExperimentsInProject_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_getAllExperimentsInProject_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    throw new \Exception("getAllExperimentsInProject failed: unknown result");
+  }
+
+  public function getAllUserExperiments($userName)
+  {
+    $this->send_getAllUserExperiments($userName);
+    return $this->recv_getAllUserExperiments();
+  }
+
+  public function send_getAllUserExperiments($userName)
+  {
+    $args = new \Airavata\API\Airavata_getAllUserExperiments_args();
+    $args->userName = $userName;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getAllUserExperiments', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getAllUserExperiments', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getAllUserExperiments()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAllUserExperiments_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_getAllUserExperiments_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    throw new \Exception("getAllUserExperiments failed: unknown result");
+  }
+
+  public function createExperiment(\Airavata\Model\Workspace\Experiment\Experiment $experiment)
+  {
+    $this->send_createExperiment($experiment);
+    return $this->recv_createExperiment();
+  }
+
+  public function send_createExperiment(\Airavata\Model\Workspace\Experiment\Experiment $experiment)
+  {
+    $args = new \Airavata\API\Airavata_createExperiment_args();
+    $args->experiment = $experiment;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'createExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('createExperiment', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_createExperiment()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_createExperiment_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_createExperiment_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    throw new \Exception("createExperiment failed: unknown result");
+  }
+
+  public function getExperiment($airavataExperimentId)
+  {
+    $this->send_getExperiment($airavataExperimentId);
+    return $this->recv_getExperiment();
+  }
+
+  public function send_getExperiment($airavataExperimentId)
+  {
+    $args = new \Airavata\API\Airavata_getExperiment_args();
+    $args->airavataExperimentId = $airavataExperimentId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getExperiment', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getExperiment()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getExperiment_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_getExperiment_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->enf !== null) {
+      throw $result->enf;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    throw new \Exception("getExperiment failed: unknown result");
+  }
+
+  public function updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment)
+  {
+    $this->send_updateExperiment($airavataExperimentId, $experiment);
+    $this->recv_updateExperiment();
+  }
+
+  public function send_updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment)
+  {
+    $args = new \Airavata\API\Airavata_updateExperiment_args();
+    $args->airavataExperimentId = $airavataExperimentId;
+    $args->experiment = $experiment;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'updateExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('updateExperiment', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_updateExperiment()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_updateExperiment_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_updateExperiment_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->enf !== null) {
+      throw $result->enf;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    return;
+  }
+
+  public function updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration)
+  {
+    $this->send_updateExperimentConfiguration($airavataExperimentId, $userConfiguration);
+    $this->recv_updateExperimentConfiguration();
+  }
+
+  public function send_updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration)
+  {
+    $args = new \Airavata\API\Airavata_updateExperimentConfiguration_args();
+    $args->airavataExperimentId = $airavataExperimentId;
+    $args->userConfiguration = $userConfiguration;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'updateExperimentConfiguration', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('updateExperimentConfiguration', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_updateExperimentConfiguration()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_updateExperimentConfiguration_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_updateExperimentConfiguration_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    return;
+  }
+
+  public function updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling)
+  {
+    $this->send_updateResourceScheduleing($airavataExperimentId, $resourceScheduling);
+    $this->recv_updateResourceScheduleing();
+  }
+
+  public function send_updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling)
+  {
+    $args = new \Airavata\API\Airavata_updateResourceScheduleing_args();
+    $args->airavataExperimentId = $airavataExperimentId;
+    $args->resourceScheduling = $resourceScheduling;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'updateResourceScheduleing', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('updateResourceScheduleing', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_updateResourceScheduleing()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_updateResourceScheduleing_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_updateResourceScheduleing_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    return;
+  }
+
+  public function launchExperiment($airavataExperimentId, $airavataCredStoreToken)
+  {
+    $this->send_launchExperiment($airavataExperimentId, $airavataCredStoreToken);
+    $this->recv_launchExperiment();
+  }
+
+  public function send_launchExperiment($airavataExperimentId, $airavataCredStoreToken)
+  {
+    $args = new \Airavata\API\Airavata_launchExperiment_args();
+    $args->airavataExperimentId = $airavataExperimentId;
+    $args->airavataCredStoreToken = $airavataCredStoreToken;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'launchExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('launchExperiment', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_launchExperiment()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_launchExperiment_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_launchExperiment_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->enf !== null) {
+      throw $result->enf;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    return;
+  }
+
+  public function getExperimentStatus($airavataExperimentId)
+  {
+    $this->send_getExperimentStatus($airavataExperimentId);
+    return $this->recv_getExperimentStatus();
+  }
+
+  public function send_getExperimentStatus($airavataExperimentId)
+  {
+    $args = new \Airavata\API\Airavata_getExperimentStatus_args();
+    $args->airavataExperimentId = $airavataExperimentId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getExperimentStatus', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getExperimentStatus', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getExperimentStatus()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getExperimentStatus_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_getExperimentStatus_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->enf !== null) {
+      throw $result->enf;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    throw new \Exception("getExperimentStatus failed: unknown result");
+  }
+
+  public function getExperimentOutputs($airavataExperimentId)
+  {
+    $this->send_getExperimentOutputs($airavataExperimentId);
+    return $this->recv_getExperimentOutputs();
+  }
+
+  public function send_getExperimentOutputs($airavataExperimentId)
+  {
+    $args = new \Airavata\API\Airavata_getExperimentOutputs_args();
+    $args->airavataExperimentId = $airavataExperimentId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getExperimentOutputs', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getExperimentOutputs', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getExperimentOutputs()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getExperimentOutputs_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_getExperimentOutputs_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    throw new \Exception("getExperimentOutputs failed: unknown result");
+  }
+
+  public function getJobStatuses($airavataExperimentId)
+  {
+    $this->send_getJobStatuses($airavataExperimentId);
+    return $this->recv_getJobStatuses();
+  }
+
+  public function send_getJobStatuses($airavataExperimentId)
+  {
+    $args = new \Airavata\API\Airavata_getJobStatuses_args();
+    $args->airavataExperimentId = $airavataExperimentId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getJobStatuses', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getJobStatuses', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getJobStatuses()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getJobStatuses_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_getJobStatuses_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    throw new \Exception("getJobStatuses failed: unknown result");
+  }
+
+  public function cloneExperiment($airavataExperimentIdToBeCloned, \Airavata\Model\Workspace\Experiment\Experiment $updatedExperiment)
+  {
+    $this->send_cloneExperiment($airavataExperimentIdToBeCloned, $updatedExperiment);
+    return $this->recv_cloneExperiment();
+  }
+
+  public function send_cloneExperiment($airavataExperimentIdToBeCloned, \Airavata\Model\Workspace\Experiment\Experiment $updatedExperiment)
+  {
+    $args = new \Airavata\API\Airavata_cloneExperiment_args();
+    $args->airavataExperimentIdToBeCloned = $airavataExperimentIdToBeCloned;
+    $args->updatedExperiment = $updatedExperiment;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'cloneExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('cloneExperiment', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_cloneExperiment()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_cloneExperiment_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_cloneExperiment_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->enf !== null) {
+      throw $result->enf;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    throw new \Exception("cloneExperiment failed: unknown result");
+  }
+
+  public function terminateExperiment($airavataExperimentId)
+  {
+    $this->send_terminateExperiment($airavataExperimentId);
+    $this->recv_terminateExperiment();
+  }
+
+  public function send_terminateExperiment($airavataExperimentId)
+  {
+    $args = new \Airavata\API\Airavata_terminateExperiment_args();
+    $args->airavataExperimentId = $airavataExperimentId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'terminateExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('terminateExperiment', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_terminateExperiment()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_terminateExperiment_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_terminateExperiment_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->enf !== null) {
+      throw $result->enf;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    return;
+  }
+
+}
+
+// HELPER FUNCTIONS AND STRUCTURES
+
+class Airavata_GetAPIVersion_args {
+  static $_TSPEC;
+
+
+  public function __construct() {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        );
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_GetAPIVersion_args';
+  }
+
+  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)
+      {
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('Airavata_GetAPIVersion_args');
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_GetAPIVersion_result {
+  static $_TSPEC;
+
+  public $success = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_GetAPIVersion_result';
+  }
+
+  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 0:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->success);
+          } 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('Airavata_GetAPIVersion_result');
+    if ($this->success !== null) {
+      $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
+      $xfer += $output->writeString($this->success);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_createProject_args {
+  static $_TSPEC;
+
+  public $project = null;
+  public $userName = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'project',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Project',
+          ),
+        2 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['project'])) {
+        $this->project = $vals['project'];
+      }
+      if (isset($vals['userName'])) {
+        $this->userName = $vals['userName'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_createProject_args';
+  }
+
+  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::STRUCT) {
+            $this->project = new \Airavata\Model\Workspace\Project();
+            $xfer += $this->project->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } 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('Airavata_createProject_args');
+    if ($this->project !== null) {
+      if (!is_object($this->project)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('project', TType::STRUCT, 1);
+      $xfer += $this->project->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userName !== null) {
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 2);
+      $xfer += $output->writeString($this->userName);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_createProject_result {
+  static $_TSPEC;
+
+  public $success = null;
+  public $ire = null;
+  public $ace = null;
+  public $ase = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::STRING,
+          ),
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        3 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_createProject_result';
+  }
+
+  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 0:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->success);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->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('Airavata_createProject_result');
+    if ($this->success !== null) {
+      $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
+      $xfer += $output->writeString($this->success);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_updateProject_args {
+  static $_TSPEC;
+
+  public $project = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'project',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Project',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['project'])) {
+        $this->project = $vals['project'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_updateProject_args';
+  }
+
+  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::STRUCT) {
+            $this->project = new \Airavata\Model\Workspace\Project();
+            $xfer += $this->project->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('Airavata_updateProject_args');
+    if ($this->project !== null) {
+      if (!is_object($this->project)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('project', TType::STRUCT, 1);
+      $xfer += $this->project->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_updateProject_result {
+  static $_TSPEC;
+
+  public $ire = null;
+  public $ace = null;
+  public $ase = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        3 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_updateProject_result';
+  }
+
+  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::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->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('Airavata_updateProject_result');
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getProject_args {
+  static $_TSPEC;
+
+  public $projectId = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'projectId',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['projectId'])) {
+        $this->projectId = $vals['projectId'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getProject_args';
+  }
+
+  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->projectId);
+          } 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('Airavata_getProject_args');
+    if ($this->projectId !== null) {
+      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 1);
+      $xfer += $output->writeString($this->projectId);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getProject_result {
+  static $_TSPEC;
+
+  public $success = null;
+  public $ire = null;
+  public $ace = null;
+  public $ase = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Project',
+          ),
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        3 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getProject_result';
+  }
+
+  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 0:
+          if ($ftype == TType::STRUCT) {
+            $this->success = new \Airavata\Model\Workspace\Project();
+            $xfer += $this->success->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->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('Airavata_getProject_result');
+    if ($this->success !== null) {
+      if (!is_object($this->success)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+      $xfer += $this->success->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getAllUserProjects_args {
+  static $_TSPEC;
+
+  public $userName = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['userName'])) {
+        $this->userName = $vals['userName'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getAllUserProjects_args';
+  }
+
+  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->userName);
+          } 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('Airavata_getAllUserProjects_args');
+    if ($this->userName !== null) {
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeString($this->userName);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getAllUserProjects_result {
+  static $_TSPEC;
+
+  public $success = null;
+  public $ire = null;
+  public $ace = null;
+  public $ase = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Project',
+            ),
+          ),
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        3 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getAllUserProjects_result';
+  }
+
+  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 0:
+          if ($ftype == TType::LST) {
+            $this->success = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $elem5 = new \Airavata\Model\Workspace\Project();
+              $xfer += $elem5->read($input);
+              $this->success []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->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('Airavata_getAllUserProjects_result');
+    if ($this->success !== null) {
+      if (!is_array($this->success)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('success', TType::LST, 0);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->success));
+        {
+          foreach ($this->success as $iter6)
+          {
+            $xfer += $iter6->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getAllExperimentsInProject_args {
+  static $_TSPEC;
+
+  public $projectId = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'projectId',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['projectId'])) {
+        $this->projectId = $vals['projectId'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getAllExperimentsInProject_args';
+  }
+
+  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->projectId);
+          } 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('Airavata_getAllExperimentsInProject_args');
+    if ($this->projectId !== null) {
+      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 1);
+      $xfer += $output->writeString($this->projectId);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getAllExperimentsInProject_result {
+  static $_TSPEC;
+
+  public $success = null;
+  public $ire = null;
+  public $ace = null;
+  public $ase = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\Experiment',
+            ),
+          ),
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        3 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getAllExperimentsInProject_result';
+  }
+
+  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 0:
+          if ($ftype == TType::LST) {
+            $this->success = array();
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+            {
+              $elem12 = null;
+              $elem12 = new \Airavata\Model\Workspace\Experiment\Experiment();
+              $xfer += $elem12->read($input);
+              $this->success []= $elem12;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->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('Airavata_getAllExperimentsInProject_result');
+    if ($this->success !== null) {
+      if (!is_array($this->success)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('success', TType::LST, 0);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->success));
+        {
+          foreach ($this->success as $iter13)
+          {
+            $xfer += $iter13->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getAllUserExperiments_args {
+  static $_TSPEC;
+
+  public $userName = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['userName'])) {
+        $this->userName = $vals['userName'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getAllUserExperiments_args';
+  }
+
+  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->userName);
+          } 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('Airavata_getAllUserExperiments_args');
+    if ($this->userName !== null) {
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
+      $xfer += $output->writeString($this->userName);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getAllUserExperiments_result {
+  static $_TSPEC;
+
+  public $success = null;
+  public $ire = null;
+  public $ace = null;
+  public $ase = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\Experiment',
+            ),
+          ),
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        3 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getAllUserExperiments_result';
+  }
+
+  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 0:
+          if ($ftype == TType::LST) {
+            $this->success = array();
+            $_size14 = 0;
+            $_etype17 = 0;
+            $xfer += $input->readListBegin($_etype17, $_size14);
+            for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
+            {
+              $elem19 = null;
+              $elem19 = new \Airavata\Model\Workspace\Experiment\Experiment();
+              $xfer += $elem19->read($input);
+              $this->success []= $elem19;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->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('Airavata_getAllUserExperiments_result');
+    if ($this->success !== null) {
+      if (!is_array($this->success)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('success', TType::LST, 0);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->success));
+        {
+          foreach ($this->success as $iter20)
+          {
+            $xfer += $iter20->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_createExperiment_args {
+  static $_TSPEC;
+
+  public $experiment = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'experiment',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\Experiment',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['experiment'])) {
+        $this->experiment = $vals['experiment'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_createExperiment_args';
+  }
+
+  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::STRUCT) {
+            $this->experiment = new \Airavata\Model\Workspace\Experiment\Experiment();
+            $xfer += $this->experiment->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('Airavata_createExperiment_args');
+    if ($this->experiment !== null) {
+      if (!is_object($this->experiment)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('experiment', TType::STRUCT, 1);
+      $xfer += $this->experiment->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_createExperiment_result {
+  static $_TSPEC;
+
+  public $success = null;
+  public $ire = null;
+  public $ace = null;
+  public $ase = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::STRING,
+          ),
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        3 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_createExperiment_result';
+  }
+
+  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 0:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->success);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->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('Airavata_createExperiment_result');
+    if ($this->success !== null) {
+      $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
+      $xfer += $output->writeString($this->success);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getExperiment_args {
+  static $_TSPEC;
+
+  public $airavataExperimentId = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'airavataExperimentId',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['airavataExperimentId'])) {
+        $this->airavataExperimentId = $vals['airavataExperimentId'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getExperiment_args';
+  }
+
+  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->airavataExperimentId);
+          } 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('Airavata_getExperiment_args');
+    if ($this->airavataExperimentId !== null) {
+      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 1);
+      $xfer += $output->writeString($this->airavataExperimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getExperiment_result {
+  static $_TSPEC;
+
+  public $success = null;
+  public $ire = null;
+  public $enf = null;
+  public $ace = null;
+  public $ase = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\Experiment',
+          ),
+        1 => array(
+        

<TRUNCATED>

[02/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TBinaryProtocolAccelerated.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TBinaryProtocolAccelerated.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TBinaryProtocolAccelerated.php
new file mode 100644
index 0000000..392aa21
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TBinaryProtocolAccelerated.php
@@ -0,0 +1,47 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Protocol;
+
+use Thrift\Protocol\TBinaryProtocol;
+use Thrift\Transport\TBufferedTransport;
+
+/**
+ * Accelerated binary protocol: used in conjunction with the thrift_protocol
+ * extension for faster deserialization
+ */
+class TBinaryProtocolAccelerated extends TBinaryProtocol {
+  public function __construct($trans, $strictRead=false, $strictWrite=true) {
+    // If the transport doesn't implement putBack, wrap it in a
+    // TBufferedTransport (which does)
+    if (!method_exists($trans, 'putBack')) {
+      $trans = new TBufferedTransport($trans);
+    }
+    parent::__construct($trans, $strictRead, $strictWrite);
+  }
+  public function isStrictRead() {
+    return $this->strictRead_;
+  }
+  public function isStrictWrite() {
+    return $this->strictWrite_;
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TCompactProtocol.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TCompactProtocol.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TCompactProtocol.php
new file mode 100644
index 0000000..e637a59
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TCompactProtocol.php
@@ -0,0 +1,669 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Protocol;
+
+use Thrift\Protocol\TProtocol;
+use Thrift\Type\TType;
+use Thrift\Exception\TProtocolException;
+use Thrift\Factory\TStringFuncFactory;
+
+/**
+ * Compact implementation of the Thrift protocol.
+ *
+ */
+class TCompactProtocol extends TProtocol {
+
+  const COMPACT_STOP = 0x00;
+  const COMPACT_TRUE = 0x01;
+  const COMPACT_FALSE = 0x02;
+  const COMPACT_BYTE = 0x03;
+  const COMPACT_I16 = 0x04;
+  const COMPACT_I32 = 0x05;
+  const COMPACT_I64 = 0x06;
+  const COMPACT_DOUBLE = 0x07;
+  const COMPACT_BINARY = 0x08;
+  const COMPACT_LIST = 0x09;
+  const COMPACT_SET = 0x0A;
+  const COMPACT_MAP = 0x0B;
+  const COMPACT_STRUCT = 0x0C;
+
+  const STATE_CLEAR = 0;
+  const STATE_FIELD_WRITE = 1;
+  const STATE_VALUE_WRITE = 2;
+  const STATE_CONTAINER_WRITE = 3;
+  const STATE_BOOL_WRITE = 4;
+  const STATE_FIELD_READ = 5;
+  const STATE_CONTAINER_READ = 6;
+  const STATE_VALUE_READ = 7;
+  const STATE_BOOL_READ = 8;
+
+  const VERSION_MASK = 0x1f;
+  const VERSION = 1;
+  const PROTOCOL_ID = 0x82;
+  const TYPE_MASK = 0xe0;
+  const TYPE_SHIFT_AMOUNT = 5;
+
+  protected static $ctypes = array(
+    TType::STOP => TCompactProtocol::COMPACT_STOP,
+    TType::BOOL => TCompactProtocol::COMPACT_TRUE, // used for collection
+    TType::BYTE => TCompactProtocol::COMPACT_BYTE,
+    TType::I16 => TCompactProtocol::COMPACT_I16,
+    TType::I32 => TCompactProtocol::COMPACT_I32,
+    TType::I64 => TCompactProtocol::COMPACT_I64,
+    TType::DOUBLE => TCompactProtocol::COMPACT_DOUBLE,
+    TType::STRING => TCompactProtocol::COMPACT_BINARY,
+    TType::STRUCT => TCompactProtocol::COMPACT_STRUCT,
+    TType::LST => TCompactProtocol::COMPACT_LIST,
+    TType::SET => TCompactProtocol::COMPACT_SET,
+    TType::MAP => TCompactProtocol::COMPACT_MAP,
+  );
+
+  protected static $ttypes = array(
+    TCompactProtocol::COMPACT_STOP => TType::STOP ,
+    TCompactProtocol::COMPACT_TRUE => TType::BOOL, // used for collection
+    TCompactProtocol::COMPACT_FALSE => TType::BOOL,
+    TCompactProtocol::COMPACT_BYTE => TType::BYTE,
+    TCompactProtocol::COMPACT_I16 => TType::I16,
+    TCompactProtocol::COMPACT_I32 => TType::I32,
+    TCompactProtocol::COMPACT_I64 => TType::I64,
+    TCompactProtocol::COMPACT_DOUBLE => TType::DOUBLE,
+    TCompactProtocol::COMPACT_BINARY => TType::STRING,
+    TCompactProtocol::COMPACT_STRUCT => TType::STRUCT,
+    TCompactProtocol::COMPACT_LIST => TType::LST,
+    TCompactProtocol::COMPACT_SET => TType::SET,
+    TCompactProtocol::COMPACT_MAP => TType::MAP,
+  );
+
+  protected $state = TCompactProtocol::STATE_CLEAR;
+  protected $lastFid = 0;
+  protected $boolFid = null;
+  protected $boolValue = null;
+  protected $structs = array();
+  protected $containers = array();
+
+  // Some varint / zigzag helper methods
+  public function toZigZag($n, $bits) {
+    return ($n << 1) ^ ($n >> ($bits - 1));
+  }
+
+  public function fromZigZag($n) {
+    return ($n >> 1) ^ -($n & 1);
+  }
+
+  public function getVarint($data) {
+    $out = "";
+    while (true) {
+      if (($data & ~0x7f) === 0) {
+        $out .= chr($data);
+        break;
+      } else {
+        $out .= chr(($data & 0xff) | 0x80);
+        $data = $data >> 7;
+      }
+    }
+    return $out;
+  }
+
+  public function writeVarint($data) {
+    $out = $this->getVarint($data);
+    $result = TStringFuncFactory::create()->strlen($out);
+    $this->trans_->write($out, $result);
+    return $result;
+  }
+
+  public function readVarint(&$result) {
+    $idx = 0;
+    $shift = 0;
+    $result = 0;
+    while (true) {
+      $x = $this->trans_->readAll(1);
+      $arr = unpack('C', $x);
+      $byte = $arr[1];
+      $idx += 1;
+      $result |= ($byte & 0x7f) << $shift;
+      if (($byte >> 7) === 0) {
+        return $idx;
+      }
+      $shift += 7;
+    }
+
+    return $idx;
+  }
+
+  public function __construct($trans) {
+    parent::__construct($trans);
+  }
+
+  public function writeMessageBegin($name, $type, $seqid) {
+    $written =
+      $this->writeUByte(TCompactProtocol::PROTOCOL_ID) +
+      $this->writeUByte(TCompactProtocol::VERSION |
+                        ($type << TCompactProtocol::TYPE_SHIFT_AMOUNT)) +
+      $this->writeVarint($seqid) +
+      $this->writeString($name);
+    $this->state = TCompactProtocol::STATE_VALUE_WRITE;
+    return $written;
+  }
+
+  public function writeMessageEnd() {
+    $this->state = TCompactProtocol::STATE_CLEAR;
+    return 0;
+  }
+
+  public function writeStructBegin($name) {
+    $this->structs[] = array($this->state, $this->lastFid);
+    $this->state = TCompactProtocol::STATE_FIELD_WRITE;
+    $this->lastFid = 0;
+    return 0;
+  }
+
+  public function writeStructEnd() {
+    $old_values = array_pop($this->structs);
+    $this->state = $old_values[0];
+    $this->lastFid = $old_values[1];
+    return 0;
+  }
+
+  public function writeFieldStop() {
+    return $this->writeByte(0);
+  }
+
+  public function writeFieldHeader($type, $fid) {
+    $written = 0;
+    $delta = $fid - $this->lastFid;
+    if (0 < $delta && $delta <= 15) {
+      $written = $this->writeUByte(($delta << 4) | $type);
+    } else {
+      $written = $this->writeByte($type) +
+        $this->writeI16($fid);
+    }
+    $this->lastFid = $fid;
+    return $written;
+  }
+
+  public function writeFieldBegin($field_name, $field_type, $field_id) {
+    if ($field_type == TTYPE::BOOL) {
+      $this->state = TCompactProtocol::STATE_BOOL_WRITE;
+      $this->boolFid = $field_id;
+      return 0;
+    } else {
+      $this->state = TCompactProtocol::STATE_VALUE_WRITE;
+      return $this->writeFieldHeader(self::$ctypes[$field_type], $field_id);
+    }
+  }
+
+  public function writeFieldEnd() {
+    $this->state = TCompactProtocol::STATE_FIELD_WRITE;
+    return 0;
+  }
+
+  public function writeCollectionBegin($etype, $size) {
+    $written = 0;
+    if ($size <= 14) {
+      $written = $this->writeUByte($size << 4 |
+                                    self::$ctypes[$etype]);
+    } else {
+      $written = $this->writeUByte(0xf0 |
+                                   self::$ctypes[$etype]) +
+        $this->writeVarint($size);
+    }
+    $this->containers[] = $this->state;
+    $this->state = TCompactProtocol::STATE_CONTAINER_WRITE;
+
+    return $written;
+  }
+
+  public function writeMapBegin($key_type, $val_type, $size) {
+    $written = 0;
+    if ($size == 0) {
+      $written = $this->writeByte(0);
+    } else {
+      $written = $this->writeVarint($size) +
+        $this->writeUByte(self::$ctypes[$key_type] << 4 |
+                          self::$ctypes[$val_type]);
+    }
+    $this->containers[] = $this->state;
+    return $written;
+  }
+
+  public function writeCollectionEnd() {
+    $this->state = array_pop($this->containers);
+    return 0;
+  }
+
+  public function writeMapEnd() {
+    return $this->writeCollectionEnd();
+  }
+
+  public function writeListBegin($elem_type, $size) {
+    return $this->writeCollectionBegin($elem_type, $size);
+  }
+
+  public function writeListEnd() {
+    return $this->writeCollectionEnd();
+  }
+
+  public function writeSetBegin($elem_type, $size) {
+    return $this->writeCollectionBegin($elem_type, $size);
+  }
+
+  public function writeSetEnd() {
+    return $this->writeCollectionEnd();
+  }
+
+  public function writeBool($value) {
+    if ($this->state == TCompactProtocol::STATE_BOOL_WRITE) {
+      $ctype = TCompactProtocol::COMPACT_FALSE;
+      if ($value) {
+        $ctype = TCompactProtocol::COMPACT_TRUE;
+      }
+      return $this->writeFieldHeader($ctype, $this->boolFid);
+    } else if ($this->state == TCompactProtocol::STATE_CONTAINER_WRITE) {
+      return $this->writeByte($value ? 1 : 0);
+    } else {
+      throw new TProtocolException('Invalid state in compact protocol');
+    }
+  }
+
+  public function writeByte($value) {
+    $data = pack('c', $value);
+    $this->trans_->write($data, 1);
+    return 1;
+  }
+
+  public function writeUByte($byte) {
+    $this->trans_->write(pack('C', $byte), 1);
+    return 1;
+  }
+
+  public function writeI16($value) {
+    $thing = $this->toZigZag($value, 16);
+    return $this->writeVarint($thing);
+  }
+
+  public function writeI32($value) {
+    $thing = $this->toZigZag($value, 32);
+    return $this->writeVarint($thing);
+  }
+
+  public function writeDouble($value) {
+    $data = pack('d', $value);
+    $this->trans_->write(strrev($data), 8);
+    return 8;
+  }
+
+  public function writeString($value) {
+    $len = TStringFuncFactory::create()->strlen($value);
+    $result = $this->writeVarint($len);
+    if ($len) {
+      $this->trans_->write($value, $len);
+    }
+    return $result + $len;
+  }
+
+  public function readFieldBegin(&$name, &$field_type, &$field_id) {
+    $result = $this->readUByte($field_type);
+
+    if (($field_type & 0x0f) == TType::STOP) {
+      $field_id = 0;
+      return $result;
+    }
+    $delta = $field_type >> 4;
+    if ($delta == 0) {
+      $result += $this->readI16($field_id);
+    } else {
+      $field_id = $this->lastFid + $delta;
+    }
+    $this->lastFid = $field_id;
+    $field_type = $this->getTType($field_type & 0x0f);
+    if ($field_type == TCompactProtocol::COMPACT_TRUE) {
+      $this->state = TCompactProtocol::STATE_BOOL_READ;
+      $this->boolValue = true;
+    } else if ($field_type == TCompactProtocol::COMPACT_FALSE) {
+      $this->state = TCompactProtocol::STATE_BOOL_READ;
+      $this->boolValue = false;
+    } else {
+      $this->state = TCompactProtocol::STATE_VALUE_READ;
+    }
+    return $result;
+  }
+
+  public function readFieldEnd() {
+    $this->state = TCompactProtocol::STATE_FIELD_READ;
+    return 0;
+  }
+
+  public function readUByte(&$value) {
+    $data = $this->trans_->readAll(1);
+    $arr = unpack('C', $data);
+    $value = $arr[1];
+    return 1;
+  }
+
+  public function readByte(&$value) {
+    $data = $this->trans_->readAll(1);
+    $arr = unpack('c', $data);
+    $value = $arr[1];
+    return 1;
+  }
+
+  public function readZigZag(&$value) {
+    $result = $this->readVarint($value);
+    $value = $this->fromZigZag($value);
+    return $result;
+  }
+
+  public function readMessageBegin(&$name, &$type, &$seqid) {
+    $protoId = 0;
+    $result = $this->readUByte($protoId);
+    if ($protoId != TCompactProtocol::PROTOCOL_ID) {
+      throw new TProtocolException('Bad protocol id in TCompact message');
+    }
+    $verType = 0;
+    $result += $this->readUByte($verType);
+    $type = ($verType & TCompactProtocol::TYPE_MASK) >>
+      TCompactProtocol::TYPE_SHIFT_AMOUNT;
+    $version = $verType & TCompactProtocol::VERSION_MASK;
+    if ($version != TCompactProtocol::VERSION) {
+      throw new TProtocolException('Bad version in TCompact message');
+    }
+    $result += $this->readVarint($seqId);
+    $name += $this->readString($name);
+
+    return $result;
+  }
+
+  public function readMessageEnd() {
+    return 0;
+  }
+
+  public function readStructBegin(&$name) {
+    $name = ''; // unused
+    $this->structs[] = array($this->state, $this->lastFid);
+    $this->state = TCompactProtocol::STATE_FIELD_READ;
+    $this->lastFid = 0;
+    return 0;
+  }
+
+  public function readStructEnd() {
+    $last = array_pop($this->structs);
+    $this->state = $last[0];
+    $this->lastFid = $last[1];
+    return 0;
+  }
+
+  public function readCollectionBegin(&$type, &$size) {
+    $sizeType = 0;
+    $result = $this->readUByte($sizeType);
+    $size = $sizeType >> 4;
+    $type = $this->getTType($sizeType);
+    if ($size == 15) {
+      $result += $this->readVarint($size);
+    }
+    $this->containers[] = $this->state;
+    $this->state = TCompactProtocol::STATE_CONTAINER_READ;
+
+    return $result;
+  }
+
+  public function readMapBegin(&$key_type, &$val_type, &$size) {
+    $result = $this->readVarint($size);
+    $types = 0;
+    if ($size > 0) {
+      $result += $this->readUByte($types);
+    }
+    $val_type = $this->getTType($types);
+    $key_type = $this->getTType($types >> 4);
+    $this->containers[] = $this->state;
+    $this->state = TCompactProtocol::STATE_CONTAINER_READ;
+
+    return $result;
+  }
+
+  public function readCollectionEnd() {
+    $this->state = array_pop($this->containers);
+    return 0;
+  }
+
+  public function readMapEnd() {
+    return $this->readCollectionEnd();
+  }
+
+  public function readListBegin(&$elem_type, &$size) {
+    return $this->readCollectionBegin($elem_type, $size);
+  }
+
+  public function readListEnd() {
+    return $this->readCollectionEnd();
+  }
+
+  public function readSetBegin(&$elem_type, &$size) {
+    return $this->readCollectionBegin($elem_type, $size);
+  }
+
+  public function readSetEnd() {
+    return $this->readCollectionEnd();
+  }
+
+  public function readBool(&$value) {
+    if ($this->state == TCompactProtocol::STATE_BOOL_READ) {
+      $value = $this->boolValue;
+      return 0;
+    } else if ($this->state == TCompactProtocol::STATE_CONTAINER_READ) {
+      return $this->readByte($value);
+    } else {
+      throw new TProtocolException('Invalid state in compact protocol');
+    }
+  }
+
+  public function readI16(&$value) {
+    return $this->readZigZag($value);
+  }
+
+  public function readI32(&$value) {
+    return $this->readZigZag($value);
+  }
+
+  public function readDouble(&$value) {
+    $data = strrev($this->trans_->readAll(8));
+    $arr = unpack('d', $data);
+    $value = $arr[1];
+    return 8;
+  }
+
+  public function readString(&$value) {
+    $result = $this->readVarint($len);
+    if ($len) {
+      $value = $this->trans_->readAll($len);
+    } else {
+      $value = '';
+    }
+    return $result + $len;
+  }
+
+  public function getTType($byte) {
+    return self::$ttypes[$byte & 0x0f];
+  }
+
+  // If we are on a 32bit architecture we have to explicitly deal with
+  // 64-bit twos-complement arithmetic since PHP wants to treat all ints
+  // as signed and any int over 2^31 - 1 as a float
+
+  // Read and write I64 as two 32 bit numbers $hi and $lo
+
+  public function readI64(&$value) {
+    // Read varint from wire
+    $hi = 0;
+    $lo = 0;
+
+    $idx = 0;
+    $shift = 0;
+
+    while (true) {
+      $x = $this->trans_->readAll(1);
+      $arr = unpack('C', $x);
+      $byte = $arr[1];
+      $idx += 1;
+      if ($shift < 32) {
+        $lo |= (($byte & 0x7f) << $shift) &
+          0x00000000ffffffff;
+      }
+      // Shift hi and lo together.
+      if ($shift >= 32) {
+        $hi |= (($byte & 0x7f) << ($shift - 32));
+      } else if ($shift > 25) {
+        $hi |= (($byte & 0x7f) >> ($shift - 25));
+      }
+      if (($byte >> 7) === 0) {
+        break;
+      }
+      $shift += 7;
+    }
+
+    // Now, unzig it.
+    $xorer = 0;
+    if ($lo & 1) {
+      $xorer = 0xffffffff;
+    }
+    $lo = ($lo >> 1) & 0x7fffffff;
+    $lo = $lo | (($hi & 1) << 31);
+    $hi = ($hi >> 1) ^ $xorer;
+    $lo = $lo ^ $xorer;
+
+    // Now put $hi and $lo back together
+    if (true) {
+      $isNeg = $hi  < 0;
+
+      // Check for a negative
+      if ($isNeg) {
+        $hi = ~$hi & (int)0xffffffff;
+        $lo = ~$lo & (int)0xffffffff;
+
+        if ($lo == (int)0xffffffff) {
+          $hi++;
+          $lo = 0;
+        } else {
+          $lo++;
+        }
+      }
+
+      // Force 32bit words in excess of 2G to be positive - we deal with sign
+      // explicitly below
+
+      if ($hi & (int)0x80000000) {
+        $hi &= (int)0x7fffffff;
+        $hi += 0x80000000;
+      }
+
+      if ($lo & (int)0x80000000) {
+        $lo &= (int)0x7fffffff;
+        $lo += 0x80000000;
+      }
+
+      $value = $hi * 4294967296 + $lo;
+
+      if ($isNeg) {
+        $value = 0 - $value;
+      }
+    } else {
+
+      // Upcast negatives in LSB bit
+      if ($arr[2] & 0x80000000) {
+        $arr[2] = $arr[2] & 0xffffffff;
+      }
+
+      // Check for a negative
+      if ($arr[1] & 0x80000000) {
+        $arr[1] = $arr[1] & 0xffffffff;
+        $arr[1] = $arr[1] ^ 0xffffffff;
+        $arr[2] = $arr[2] ^ 0xffffffff;
+        $value = 0 - $arr[1] * 4294967296 - $arr[2] - 1;
+      } else {
+        $value = $arr[1] * 4294967296 + $arr[2];
+      }
+    }
+
+    return $idx;
+  }
+
+  public function writeI64($value) {
+    // If we are in an I32 range, use the easy method below.
+    if (($value > 4294967296) || ($value < -4294967296)) {
+      // Convert $value to $hi and $lo
+      $neg = $value < 0;
+
+      if ($neg) {
+        $value *= -1;
+      }
+
+      $hi = (int)$value >> 32;
+      $lo = (int)$value & 0xffffffff;
+
+      if ($neg) {
+        $hi = ~$hi;
+        $lo = ~$lo;
+        if (($lo & (int)0xffffffff) == (int)0xffffffff) {
+          $lo = 0;
+          $hi++;
+        } else {
+          $lo++;
+        }
+      }
+
+      // Now do the zigging and zagging.
+      $xorer = 0;
+      if ($neg) {
+        $xorer = 0xffffffff;
+      }
+      $lowbit = ($lo >> 31) & 1;
+      $hi = ($hi << 1) | $lowbit;
+      $lo = ($lo << 1);
+      $lo = ($lo ^ $xorer) & 0xffffffff;
+      $hi = ($hi ^ $xorer) & 0xffffffff;
+
+      // now write out the varint, ensuring we shift both hi and lo
+      $out = "";
+      while (true) {
+        if (($lo & ~0x7f) === 0 &&
+           $hi === 0) {
+          $out .= chr($lo);
+          break;
+        } else {
+          $out .= chr(($lo & 0xff) | 0x80);
+          $lo = $lo >> 7;
+          $lo = $lo | ($hi << 25);
+          $hi = $hi >> 7;
+          // Right shift carries sign, but we don't want it to.
+          $hi = $hi & (127 << 25);
+        }
+      }
+
+      $ret = TStringFuncFactory::create()->strlen($out);
+      $this->trans_->write($out, $ret);
+
+      return $ret;
+    } else {
+      return $this->writeVarint($this->toZigZag($value, 64));
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TJSONProtocol.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TJSONProtocol.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TJSONProtocol.php
new file mode 100644
index 0000000..3d39583
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TJSONProtocol.php
@@ -0,0 +1,694 @@
+<?php
+
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Protocol;
+
+use Thrift\Protocol\TProtocol;
+use Thrift\Type\TType;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\JSON\BaseContext;
+use Thrift\Protocol\JSON\LookaheadReader;
+use Thrift\Protocol\JSON\PairContext;
+use Thrift\Protocol\JSON\ListContext;
+
+/**
+ * JSON implementation of thrift protocol, ported from Java.
+ */
+class TJSONProtocol extends TProtocol
+{
+    const COMMA = ',';
+    const COLON = ':';
+    const LBRACE = '{';
+    const RBRACE = '}';
+    const LBRACKET = '[';
+    const RBRACKET = ']';
+    const QUOTE = '"';
+    const BACKSLASH = '\\';
+    const ZERO = '0';
+    const ESCSEQ = '\\';
+    const DOUBLEESC = '__DOUBLE_ESCAPE_SEQUENCE__';
+
+    const VERSION = 1;
+
+    public static $JSON_CHAR_TABLE = array(
+        /*  0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F */
+        0, 0, 0, 0, 0, 0, 0, 0, 'b', 't', 'n', 0, 'f', 'r', 0, 0, // 0
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1
+        1, 1, '"', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2
+    );
+
+    public static $ESCAPE_CHARS = array('"', '\\', "b", "f", "n", "r", "t");
+
+    public static $ESCAPE_CHAR_VALS = array(
+        '"', '\\', "\x08", "\f", "\n", "\r", "\t",
+    );
+
+    const NAME_BOOL = "tf";
+    const NAME_BYTE = "i8";
+    const NAME_I16 = "i16";
+    const NAME_I32 = "i32";
+    const NAME_I64 = "i64";
+    const NAME_DOUBLE = "dbl";
+    const NAME_STRUCT = "rec";
+    const NAME_STRING = "str";
+    const NAME_MAP = "map";
+    const NAME_LIST = "lst";
+    const NAME_SET = "set";
+
+    private function getTypeNameForTypeID($typeID)
+    {
+        switch ($typeID) {
+            case TType::BOOL:
+                return self::NAME_BOOL;
+            case TType::BYTE:
+                return self::NAME_BYTE;
+            case TType::I16:
+                return self::NAME_I16;
+            case TType::I32:
+                return self::NAME_I32;
+            case TType::I64:
+                return self::NAME_I64;
+            case TType::DOUBLE:
+                return self::NAME_DOUBLE;
+            case TType::STRING:
+                return self::NAME_STRING;
+            case TType::STRUCT:
+                return self::NAME_STRUCT;
+            case TType::MAP:
+                return self::NAME_MAP;
+            case TType::SET:
+                return self::NAME_SET;
+            case TType::LST:
+                return self::NAME_LIST;
+            default:
+                throw new TProtocolException("Unrecognized type", TProtocolException::UNKNOWN);
+        }
+    }
+
+    private function getTypeIDForTypeName($name)
+    {
+        $result = TType::STOP;
+
+        if (strlen($name) > 1) {
+            switch (substr($name, 0, 1)) {
+                case 'd':
+                    $result = TType::DOUBLE;
+                    break;
+                case 'i':
+                    switch (substr($name, 1, 1)) {
+                        case '8':
+                            $result = TType::BYTE;
+                            break;
+                        case '1':
+                            $result = TType::I16;
+                            break;
+                        case '3':
+                            $result = TType::I32;
+                            break;
+                        case '6':
+                            $result = TType::I64;
+                            break;
+                    }
+                    break;
+                case 'l':
+                    $result = TType::LST;
+                    break;
+                case 'm':
+                    $result = TType::MAP;
+                    break;
+                case 'r':
+                    $result = TType::STRUCT;
+                    break;
+                case 's':
+                    if (substr($name, 1, 1) == 't') {
+                        $result = TType::STRING;
+                    }
+                    else if (substr($name, 1, 1) == 'e') {
+                        $result = TType::SET;
+                    }
+                    break;
+                case 't':
+                    $result = TType::BOOL;
+                    break;
+            }
+        }
+        if ($result == TType::STOP) {
+            throw new TProtocolException("Unrecognized type", TProtocolException::INVALID_DATA);
+        }
+        return $result;
+    }
+
+    public $contextStack_ = array();
+    public $context_;
+    public $reader_;
+
+    private function pushContext($c) {
+        array_push($this->contextStack_, $this->context_);
+        $this->context_ = $c;
+    }
+
+    private function popContext() {
+        $this->context_ = array_pop($this->contextStack_);
+    }
+
+    public function __construct($trans) {
+        parent::__construct($trans);
+        $this->context_ = new BaseContext();
+        $this->reader_ = new LookaheadReader($this);
+    }
+
+    public function reset() {
+        $this->contextStack_ = array();
+        $this->context_ = new BaseContext();
+        $this->reader_ = new LookaheadReader($this);
+    }
+
+    private $tmpbuf_ = array(4);
+
+    public function readJSONSyntaxChar($b) {
+        $ch = $this->reader_->read();
+
+        if (substr($ch, 0, 1) != $b) {
+            throw new TProtocolException("Unexpected character: " . $ch, TProtocolException::INVALID_DATA);
+        }
+    }
+
+    private function hexVal($s) {
+        for ($i = 0; $i < strlen($s); $i++) {
+            $ch = substr($s, $i, 1);
+
+            if (!($ch >= "a" && $ch <= "f") && !($ch >= "0" && $ch <= "9")) {
+                throw new TProtocolException("Expected hex character " . $ch, TProtocolException::INVALID_DATA);
+            }
+        }
+
+        return hexdec($s);
+    }
+
+    private function hexChar($val) {
+        return dechex($val);
+    }
+
+    private function writeJSONString($b) {
+        $this->context_->write();
+
+        if (is_numeric($b) && $this->context_->escapeNum()) {
+            $this->trans_->write(self::QUOTE);
+        }
+
+        $this->trans_->write(json_encode($b));
+
+        if (is_numeric($b) && $this->context_->escapeNum()) {
+            $this->trans_->write(self::QUOTE);
+        }
+    }
+
+    private function writeJSONInteger($num) {
+        $this->context_->write();
+
+        if ($this->context_->escapeNum()) {
+            $this->trans_->write(self::QUOTE);
+        }
+
+        $this->trans_->write($num);
+
+        if ($this->context_->escapeNum()) {
+            $this->trans_->write(self::QUOTE);
+        }
+    }
+
+    private function writeJSONDouble($num) {
+        $this->context_->write();
+
+        if ($this->context_->escapeNum()) {
+            $this->trans_->write(self::QUOTE);
+        }
+
+        $this->trans_->write(json_encode($num));
+
+        if ($this->context_->escapeNum()) {
+            $this->trans_->write(self::QUOTE);
+        }
+    }
+
+    private function writeJSONBase64($data) {
+        $this->context_->write();
+        $this->trans_->write(self::QUOTE);
+        $this->trans_->write(json_encode(base64_encode($data)));
+        $this->trans_->write(self::QUOTE);
+    }
+
+    private function writeJSONObjectStart() {
+      $this->context_->write();
+      $this->trans_->write(self::LBRACE);
+      $this->pushContext(new PairContext($this));
+    }
+
+    private function writeJSONObjectEnd() {
+      $this->popContext();
+      $this->trans_->write(self::RBRACE);
+    }
+
+    private function writeJSONArrayStart() {
+      $this->context_->write();
+      $this->trans_->write(self::LBRACKET);
+      $this->pushContext(new ListContext($this));
+    }
+
+    private function writeJSONArrayEnd() {
+      $this->popContext();
+      $this->trans_->write(self::RBRACKET);
+    }
+
+    private function readJSONString($skipContext) {
+      if (!$skipContext) {
+        $this->context_->read();
+      }
+
+      $jsonString = '';
+      $lastChar = NULL;
+      while (true) {
+        $ch = $this->reader_->read();
+        $jsonString .= $ch;
+        if ($ch == self::QUOTE &&
+          $lastChar !== NULL &&
+            $lastChar !== self::ESCSEQ) {
+          break;
+        }
+        if ($ch == self::ESCSEQ && $lastChar == self::ESCSEQ) {
+          $lastChar = self::DOUBLEESC;
+        } else {
+          $lastChar = $ch;
+        }
+      }
+      return json_decode($jsonString);
+    }
+
+    private function isJSONNumeric($b) {
+        switch ($b) {
+            case '+':
+            case '-':
+            case '.':
+            case '0':
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+            case 'E':
+            case 'e':
+              return true;
+            }
+        return false;
+    }
+
+    private function readJSONNumericChars() {
+        $strbld = array();
+
+        while (true) {
+            $ch = $this->reader_->peek();
+
+            if (!$this->isJSONNumeric($ch)) {
+                break;
+            }
+
+            $strbld[] = $this->reader_->read();
+        }
+
+        return implode("", $strbld);
+    }
+
+    private function readJSONInteger() {
+        $this->context_->read();
+
+        if ($this->context_->escapeNum()) {
+            $this->readJSONSyntaxChar(self::QUOTE);
+        }
+
+        $str = $this->readJSONNumericChars();
+
+        if ($this->context_->escapeNum()) {
+            $this->readJSONSyntaxChar(self::QUOTE);
+        }
+
+        if (!is_numeric($str)) {
+            throw new TProtocolException("Invalid data in numeric: " . $str, TProtocolException::INVALID_DATA);
+        }
+
+        return intval($str);
+    }
+
+    /**
+     * Identical to readJSONInteger but without the final cast.
+     * Needed for proper handling of i64 on 32 bit machines.  Why a
+     * separate function?  So we don't have to force the rest of the
+     * use cases through the extra conditional.
+     */
+    private function readJSONIntegerAsString() {
+        $this->context_->read();
+
+        if ($this->context_->escapeNum()) {
+            $this->readJSONSyntaxChar(self::QUOTE);
+        }
+
+        $str = $this->readJSONNumericChars();
+
+        if ($this->context_->escapeNum()) {
+            $this->readJSONSyntaxChar(self::QUOTE);
+        }
+
+        if (!is_numeric($str)) {
+            throw new TProtocolException("Invalid data in numeric: " . $str, TProtocolException::INVALID_DATA);
+        }
+
+        return $str;
+    }
+
+    private function readJSONDouble() {
+        $this->context_->read();
+
+        if (substr($this->reader_->peek(), 0, 1) == self::QUOTE) {
+            $arr = $this->readJSONString(true);
+
+            if ($arr == "NaN") {
+                return NAN;
+            } else if ($arr == "Infinity") {
+                return INF;
+            } else if (!$this->context_->escapeNum()) {
+                throw new TProtocolException("Numeric data unexpectedly quoted " . $arr,
+                                              TProtocolException::INVALID_DATA);
+            }
+
+            return floatval($arr);
+        } else {
+            if ($this->context_->escapeNum()) {
+                $this->readJSONSyntaxChar(self::QUOTE);
+            }
+
+            return floatval($this->readJSONNumericChars());
+        }
+    }
+
+    private function readJSONBase64() {
+        $arr = $this->readJSONString(false);
+        $data = base64_decode($arr, true);
+
+        if ($data === false) {
+            throw new TProtocolException("Invalid base64 data " . $arr, TProtocolException::INVALID_DATA);
+        }
+
+        return $data;
+    }
+
+    private function readJSONObjectStart() {
+        $this->context_->read();
+        $this->readJSONSyntaxChar(self::LBRACE);
+        $this->pushContext(new PairContext($this));
+    }
+
+    private function readJSONObjectEnd() {
+        $this->readJSONSyntaxChar(self::RBRACE);
+        $this->popContext();
+    }
+
+    private function readJSONArrayStart()
+    {
+        $this->context_->read();
+        $this->readJSONSyntaxChar(self::LBRACKET);
+        $this->pushContext(new ListContext($this));
+    }
+
+    private function readJSONArrayEnd() {
+        $this->readJSONSyntaxChar(self::RBRACKET);
+        $this->popContext();
+    }
+
+    /**
+     * Writes the message header
+     *
+     * @param string $name Function name
+     * @param int $type message type TMessageType::CALL or TMessageType::REPLY
+     * @param int $seqid The sequence id of this message
+     */
+    public function writeMessageBegin($name, $type, $seqid) {
+        $this->writeJSONArrayStart();
+        $this->writeJSONInteger(self::VERSION);
+        $this->writeJSONString($name);
+        $this->writeJSONInteger($type);
+        $this->writeJSONInteger($seqid);
+    }
+
+    /**
+     * Close the message
+     */
+    public function writeMessageEnd() {
+        $this->writeJSONArrayEnd();
+    }
+
+    /**
+     * Writes a struct header.
+     *
+     * @param string     $name Struct name
+     * @throws TException on write error
+     * @return int How many bytes written
+     */
+    public function writeStructBegin($name) {
+        $this->writeJSONObjectStart();
+    }
+
+    /**
+     * Close a struct.
+     *
+     * @throws TException on write error
+     * @return int How many bytes written
+     */
+    public function writeStructEnd() {
+        $this->writeJSONObjectEnd();
+    }
+
+    public function writeFieldBegin($fieldName, $fieldType, $fieldId) {
+        $this->writeJSONInteger($fieldId);
+        $this->writeJSONObjectStart();
+        $this->writeJSONString($this->getTypeNameForTypeID($fieldType));
+    }
+
+    public function writeFieldEnd() {
+        $this->writeJsonObjectEnd();
+    }
+
+    public function writeFieldStop() {
+    }
+
+    public function writeMapBegin($keyType, $valType, $size) {
+        $this->writeJSONArrayStart();
+        $this->writeJSONString($this->getTypeNameForTypeID($keyType));
+        $this->writeJSONString($this->getTypeNameForTypeID($valType));
+        $this->writeJSONInteger($size);
+        $this->writeJSONObjectStart();
+    }
+
+    public function writeMapEnd() {
+        $this->writeJSONObjectEnd();
+        $this->writeJSONArrayEnd();
+    }
+
+    public function writeListBegin($elemType, $size) {
+        $this->writeJSONArrayStart();
+        $this->writeJSONString($this->getTypeNameForTypeID($elemType));
+        $this->writeJSONInteger($size);
+    }
+
+    public function writeListEnd() {
+        $this->writeJSONArrayEnd();
+    }
+
+    public function writeSetBegin($elemType, $size) {
+        $this->writeJSONArrayStart();
+        $this->writeJSONString($this->getTypeNameForTypeID($elemType));
+        $this->writeJSONInteger($size);
+    }
+
+    public function writeSetEnd() {
+        $this->writeJSONArrayEnd();
+    }
+
+    public function writeBool($bool) {
+        $this->writeJSONInteger($bool ? 1 : 0);
+    }
+
+    public function writeByte($byte) {
+        $this->writeJSONInteger($byte);
+    }
+
+    public function writeI16($i16) {
+        $this->writeJSONInteger($i16);
+    }
+
+    public function writeI32($i32) {
+        $this->writeJSONInteger($i32);
+    }
+
+    public function writeI64($i64) {
+        $this->writeJSONInteger($i64);
+    }
+
+    public function writeDouble($dub) {
+        $this->writeJSONDouble($dub);
+    }
+
+    public function writeString($str) {
+        $this->writeJSONString($str);
+    }
+
+    /**
+     * Reads the message header
+     *
+     * @param string $name Function name
+     * @param int $type message type TMessageType::CALL or TMessageType::REPLY
+     * @parem int $seqid The sequence id of this message
+     */
+    public function readMessageBegin(&$name, &$type, &$seqid) {
+        $this->readJSONArrayStart();
+
+        if ($this->readJSONInteger() != self::VERSION) {
+            throw new TProtocolException("Message contained bad version", TProtocolException::BAD_VERSION);
+        }
+
+        $name = $this->readJSONString(false);
+        $type = $this->readJSONInteger();
+        $seqid = $this->readJSONInteger();
+
+        return true;
+    }
+
+    /**
+     * Read the close of message
+     */
+    public function readMessageEnd() {
+        $this->readJSONArrayEnd();
+    }
+
+    public function readStructBegin(&$name) {
+        $this->readJSONObjectStart();
+        return 0;
+    }
+
+    public function readStructEnd() {
+        $this->readJSONObjectEnd();
+    }
+
+    public function readFieldBegin(&$name, &$fieldType, &$fieldId) {
+        $ch = $this->reader_->peek();
+        $name = "";
+
+        if (substr($ch, 0, 1) == self::RBRACE) {
+            $fieldType = TType::STOP;
+        } else {
+            $fieldId = $this->readJSONInteger();
+            $this->readJSONObjectStart();
+            $fieldType = $this->getTypeIDForTypeName($this->readJSONString(false));
+        }
+    }
+
+    public function readFieldEnd() {
+        $this->readJSONObjectEnd();
+    }
+
+    public function readMapBegin(&$keyType, &$valType, &$size) {
+        $this->readJSONArrayStart();
+        $keyType = $this->getTypeIDForTypeName($this->readJSONString(false));
+        $valType = $this->getTypeIDForTypeName($this->readJSONString(false));
+        $size = $this->readJSONInteger();
+        $this->readJSONObjectStart();
+    }
+
+    public function readMapEnd() {
+        $this->readJSONObjectEnd();
+        $this->readJSONArrayEnd();
+    }
+
+    public function readListBegin(&$elemType, &$size) {
+        $this->readJSONArrayStart();
+        $elemType = $this->getTypeIDForTypeName($this->readJSONString(false));
+        $size = $this->readJSONInteger();
+        return true;
+    }
+
+    public function readListEnd() {
+        $this->readJSONArrayEnd();
+    }
+
+    public function readSetBegin(&$elemType, &$size) {
+        $this->readJSONArrayStart();
+        $elemType = $this->getTypeIDForTypeName($this->readJSONString(false));
+        $size = $this->readJSONInteger();
+        return true;
+    }
+
+    public function readSetEnd() {
+        $this->readJSONArrayEnd();
+    }
+
+    public function readBool(&$bool) {
+        $bool = $this->readJSONInteger() == 0 ? false : true;
+        return true;
+    }
+
+    public function readByte(&$byte) {
+        $byte = $this->readJSONInteger();
+        return true;
+    }
+
+    public function readI16(&$i16) {
+        $i16 = $this->readJSONInteger();
+        return true;
+    }
+
+    public function readI32(&$i32) {
+        $i32 = $this->readJSONInteger();
+        return true;
+    }
+
+    public function readI64(&$i64) {
+        if ( PHP_INT_SIZE === 4 ) {
+            $i64 = $this->readJSONIntegerAsString();
+        } else {
+            $i64 = $this->readJSONInteger();
+        }
+        return true;
+    }
+
+    public function readDouble(&$dub) {
+        $dub = $this->readJSONDouble();
+        return true;
+    }
+
+    public function readString(&$str) {
+        $str = $this->readJSONString(false);
+        return true;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TProtocol.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TProtocol.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TProtocol.php
new file mode 100644
index 0000000..380ff10
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Protocol/TProtocol.php
@@ -0,0 +1,340 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Protocol;
+
+use Thrift\Type\TType;
+use Thrift\Exception\TProtocolException;
+
+/**
+ * Protocol base class module.
+ */
+abstract class TProtocol {
+
+  /**
+   * Underlying transport
+   *
+   * @var TTransport
+   */
+  protected $trans_;
+
+  /**
+   * Constructor
+   */
+  protected function __construct($trans) {
+    $this->trans_ = $trans;
+  }
+
+  /**
+   * Accessor for transport
+   *
+   * @return TTransport
+   */
+  public function getTransport() {
+    return $this->trans_;
+  }
+
+  /**
+   * Writes the message header
+   *
+   * @param string $name Function name
+   * @param int $type message type TMessageType::CALL or TMessageType::REPLY
+   * @param int $seqid The sequence id of this message
+   */
+  public abstract function writeMessageBegin($name, $type, $seqid);
+
+  /**
+   * Close the message
+   */
+  public abstract function writeMessageEnd();
+
+  /**
+   * Writes a struct header.
+   *
+   * @param string     $name Struct name
+   * @throws TException on write error
+   * @return int How many bytes written
+   */
+  public abstract function writeStructBegin($name);
+
+  /**
+   * Close a struct.
+   *
+   * @throws TException on write error
+   * @return int How many bytes written
+   */
+  public abstract function writeStructEnd();
+
+  /*
+   * Starts a field.
+   *
+   * @param string     $name Field name
+   * @param int        $type Field type
+   * @param int        $fid  Field id
+   * @throws TException on write error
+   * @return int How many bytes written
+   */
+  public abstract function writeFieldBegin($fieldName, $fieldType, $fieldId);
+
+  public abstract function writeFieldEnd();
+
+  public abstract function writeFieldStop();
+
+  public abstract function writeMapBegin($keyType, $valType, $size);
+
+  public abstract function writeMapEnd();
+
+  public abstract function writeListBegin($elemType, $size);
+
+  public abstract function writeListEnd();
+
+  public abstract function writeSetBegin($elemType, $size);
+
+  public abstract function writeSetEnd();
+
+  public abstract function writeBool($bool);
+
+  public abstract function writeByte($byte);
+
+  public abstract function writeI16($i16);
+
+  public abstract function writeI32($i32);
+
+  public abstract function writeI64($i64);
+
+  public abstract function writeDouble($dub);
+
+  public abstract function writeString($str);
+
+  /**
+   * Reads the message header
+   *
+   * @param string $name Function name
+   * @param int $type message type TMessageType::CALL or TMessageType::REPLY
+   * @parem int $seqid The sequence id of this message
+   */
+  public abstract function readMessageBegin(&$name, &$type, &$seqid);
+
+  /**
+   * Read the close of message
+   */
+  public abstract function readMessageEnd();
+
+  public abstract function readStructBegin(&$name);
+
+  public abstract function readStructEnd();
+
+  public abstract function readFieldBegin(&$name, &$fieldType, &$fieldId);
+
+  public abstract function readFieldEnd();
+
+  public abstract function readMapBegin(&$keyType, &$valType, &$size);
+
+  public abstract function readMapEnd();
+
+  public abstract function readListBegin(&$elemType, &$size);
+
+  public abstract function readListEnd();
+
+  public abstract function readSetBegin(&$elemType, &$size);
+
+  public abstract function readSetEnd();
+
+  public abstract function readBool(&$bool);
+
+  public abstract function readByte(&$byte);
+
+  public abstract function readI16(&$i16);
+
+  public abstract function readI32(&$i32);
+
+  public abstract function readI64(&$i64);
+
+  public abstract function readDouble(&$dub);
+
+  public abstract function readString(&$str);
+
+  /**
+   * The skip function is a utility to parse over unrecognized date without
+   * causing corruption.
+   *
+   * @param TType $type What type is it
+   */
+  public function skip($type) {
+    switch ($type) {
+    case TType::BOOL:
+      return $this->readBool($bool);
+    case TType::BYTE:
+      return $this->readByte($byte);
+    case TType::I16:
+      return $this->readI16($i16);
+    case TType::I32:
+      return $this->readI32($i32);
+    case TType::I64:
+      return $this->readI64($i64);
+    case TType::DOUBLE:
+      return $this->readDouble($dub);
+    case TType::STRING:
+      return $this->readString($str);
+    case TType::STRUCT:
+      {
+        $result = $this->readStructBegin($name);
+        while (true) {
+          $result += $this->readFieldBegin($name, $ftype, $fid);
+          if ($ftype == TType::STOP) {
+            break;
+          }
+          $result += $this->skip($ftype);
+          $result += $this->readFieldEnd();
+        }
+        $result += $this->readStructEnd();
+        return $result;
+      }
+    case TType::MAP:
+      {
+        $result = $this->readMapBegin($keyType, $valType, $size);
+        for ($i = 0; $i < $size; $i++) {
+          $result += $this->skip($keyType);
+          $result += $this->skip($valType);
+        }
+        $result += $this->readMapEnd();
+        return $result;
+      }
+    case TType::SET:
+      {
+        $result = $this->readSetBegin($elemType, $size);
+        for ($i = 0; $i < $size; $i++) {
+          $result += $this->skip($elemType);
+        }
+        $result += $this->readSetEnd();
+        return $result;
+      }
+    case TType::LST:
+      {
+        $result = $this->readListBegin($elemType, $size);
+        for ($i = 0; $i < $size; $i++) {
+          $result += $this->skip($elemType);
+        }
+        $result += $this->readListEnd();
+        return $result;
+      }
+    default:
+      throw new TProtocolException('Unknown field type: '.$type,
+                                   TProtocolException::INVALID_DATA);
+    }
+  }
+
+  /**
+   * Utility for skipping binary data
+   *
+   * @param TTransport $itrans TTransport object
+   * @param int        $type   Field type
+   */
+  public static function skipBinary($itrans, $type) {
+    switch ($type) {
+    case TType::BOOL:
+      return $itrans->readAll(1);
+    case TType::BYTE:
+      return $itrans->readAll(1);
+    case TType::I16:
+      return $itrans->readAll(2);
+    case TType::I32:
+      return $itrans->readAll(4);
+    case TType::I64:
+      return $itrans->readAll(8);
+    case TType::DOUBLE:
+      return $itrans->readAll(8);
+    case TType::STRING:
+      $len = unpack('N', $itrans->readAll(4));
+      $len = $len[1];
+      if ($len > 0x7fffffff) {
+        $len = 0 - (($len - 1) ^ 0xffffffff);
+      }
+      return 4 + $itrans->readAll($len);
+    case TType::STRUCT:
+      {
+        $result = 0;
+        while (true) {
+          $ftype = 0;
+          $fid = 0;
+          $data = $itrans->readAll(1);
+          $arr = unpack('c', $data);
+          $ftype = $arr[1];
+          if ($ftype == TType::STOP) {
+            break;
+          }
+          // I16 field id
+          $result += $itrans->readAll(2);
+          $result += self::skipBinary($itrans, $ftype);
+        }
+        return $result;
+      }
+    case TType::MAP:
+      {
+        // Ktype
+        $data = $itrans->readAll(1);
+        $arr = unpack('c', $data);
+        $ktype = $arr[1];
+        // Vtype
+        $data = $itrans->readAll(1);
+        $arr = unpack('c', $data);
+        $vtype = $arr[1];
+        // Size
+        $data = $itrans->readAll(4);
+        $arr = unpack('N', $data);
+        $size = $arr[1];
+        if ($size > 0x7fffffff) {
+          $size = 0 - (($size - 1) ^ 0xffffffff);
+        }
+        $result = 6;
+        for ($i = 0; $i < $size; $i++) {
+          $result += self::skipBinary($itrans, $ktype);
+          $result += self::skipBinary($itrans, $vtype);
+        }
+        return $result;
+      }
+    case TType::SET:
+    case TType::LST:
+      {
+        // Vtype
+        $data = $itrans->readAll(1);
+        $arr = unpack('c', $data);
+        $vtype = $arr[1];
+        // Size
+        $data = $itrans->readAll(4);
+        $arr = unpack('N', $data);
+        $size = $arr[1];
+        if ($size > 0x7fffffff) {
+          $size = 0 - (($size - 1) ^ 0xffffffff);
+        }
+        $result = 5;
+        for ($i = 0; $i < $size; $i++) {
+          $result += self::skipBinary($itrans, $vtype);
+        }
+        return $result;
+      }
+    default:
+      throw new TProtocolException('Unknown field type: '.$type,
+                                   TProtocolException::INVALID_DATA);
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Serializer/TBinarySerializer.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Serializer/TBinarySerializer.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Serializer/TBinarySerializer.php
new file mode 100644
index 0000000..2a7cc3e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Serializer/TBinarySerializer.php
@@ -0,0 +1,73 @@
+<?php
+/*
+ * 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 thrift.protocol
+ * @author: rmarin (marin.radu@facebook.com)
+ */
+
+namespace Thrift\Serializer;
+
+use Thrift\Transport\TMemoryBuffer;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Type\TMessageType;
+
+/**
+ * Utility class for serializing and deserializing
+ * a thrift object using TBinaryProtocolAccelerated.
+ */
+class TBinarySerializer {
+
+  // NOTE(rmarin): Because thrift_protocol_write_binary
+  // adds a begin message prefix, you cannot specify
+  // a transport in which to serialize an object. It has to
+  // be a string. Otherwise we will break the compatibility with
+  // normal deserialization.
+  public static function serialize($object) {
+    $transport = new TMemoryBuffer();
+    $protocol = new TBinaryProtocolAccelerated($transport);
+    if (function_exists('thrift_protocol_write_binary')) {
+      thrift_protocol_write_binary($protocol, $object->getName(),
+                                   TMessageType::REPLY, $object,
+                                   0, $protocol->isStrictWrite());
+
+      $protocol->readMessageBegin($unused_name, $unused_type,
+                                  $unused_seqid);
+    } else {
+      $object->write($protocol);
+    }
+    $protocol->getTransport()->flush();
+    return $transport->getBuffer();
+  }
+
+  public static function deserialize($string_object, $class_name) {
+     $transport = new TMemoryBuffer();
+     $protocol = new TBinaryProtocolAccelerated($transport);
+     if (function_exists('thrift_protocol_read_binary')) {
+       $protocol->writeMessageBegin('', TMessageType::REPLY, 0);
+       $transport->write($string_object);
+       return thrift_protocol_read_binary($protocol, $class_name,
+                                          $protocol->isStrictRead());
+     } else {
+       $transport->write($string_object);
+       $object = new $class_name();
+       $object->read($protocol);
+       return $object;
+     }
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TForkingServer.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TForkingServer.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TForkingServer.php
new file mode 100644
index 0000000..6fca305
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TForkingServer.php
@@ -0,0 +1,119 @@
+<?php
+
+namespace Thrift\Server;
+
+use Thrift\Server\TServer;
+use Thrift\Transport\TTransport;
+use Thrift\Exception\TException;
+use Thrift\Exception\TTransportException;
+
+/**
+ * A forking implementation of a Thrift server.
+ *
+ * @package thrift.server
+ */
+class TForkingServer extends TServer {
+  /**
+   * Flag for the main serving loop
+   *
+   * @var bool
+   */
+  private $stop_ = false;
+
+  /**
+   * List of children.
+   *
+   * @var array
+   */
+  protected $children_ = array();
+
+  /**
+   * Listens for new client using the supplied
+   * transport. We fork when a new connection
+   * arrives.
+   *
+   * @return void
+   */
+  public function serve() {
+    $this->transport_->listen();
+
+    while (!$this->stop_) {
+      try {
+        $transport = $this->transport_->accept();
+
+        if ($transport != null) {
+          $pid = pcntl_fork();
+
+          if ($pid > 0) {
+            $this->handleParent($transport, $pid);
+          }
+          else if ($pid === 0) {
+            $this->handleChild($transport);
+          }
+          else {
+            throw new TException('Failed to fork');
+          }
+        }
+      }
+      catch (TTransportException $e) { }
+
+      $this->collectChildren();
+    }
+  }
+
+  /**
+   * Code run by the parent
+   *
+   * @param TTransport $transport
+   * @param int $pid
+   * @return void
+   */
+  private function handleParent(TTransport $transport, $pid) {
+    $this->children_[$pid] = $transport;
+  }
+
+  /**
+   * Code run by the child.
+   *
+   * @param TTransport $transport
+   * @return void
+   */
+  private function handleChild(TTransport $transport) {
+    try {
+      $inputTransport = $this->inputTransportFactory_->getTransport($transport);
+      $outputTransport = $this->outputTransportFactory_->getTransport($transport);
+      $inputProtocol = $this->inputProtocolFactory_->getProtocol($inputTransport);
+      $outputProtocol = $this->outputProtocolFactory_->getProtocol($outputTransport);
+      while ($this->processor_->process($inputProtocol, $outputProtocol)) { }
+      @$transport->close();
+    }
+    catch (TTransportException $e) { }
+
+    exit(0);
+  }
+
+  /**
+   * Collects any children we may have
+   *
+   * @return void
+   */
+  private function collectChildren() {
+    foreach ($this->children_ as $pid => $transport) {
+      if (pcntl_waitpid($pid, $status, WNOHANG) > 0) {
+        unset($this->children_[$pid]);
+        if ($transport) @$transport->close();
+      }
+    }
+  }
+
+  /**
+   * Stops the server running. Kills the transport
+   * and then stops the main serving loop
+   *
+   * @return void
+   */
+  public function stop() {
+    $this->transport_->close();
+    $this->stop_ = true;
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServer.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServer.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServer.php
new file mode 100644
index 0000000..343bf4b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServer.php
@@ -0,0 +1,101 @@
+<?php
+
+namespace Thrift\Server;
+
+use Thrift\Server\TServerTransport;
+use Thrift\Factory\TTransportFactory;
+use Thrift\Factory\TProtocolFactory;
+
+/**
+ * Generic class for a Thrift server.
+ *
+ * @package thrift.server
+ */
+abstract class TServer {
+
+  /**
+   * Processor to handle new clients
+   *
+   * @var TProcessor
+   */
+  protected $processor_;
+
+  /**
+   * Server transport to be used for listening
+   * and accepting new clients
+   *
+   * @var TServerTransport
+   */
+  protected $transport_;
+
+  /**
+   * Input transport factory
+   *
+   * @var TTransportFactory
+   */
+  protected $inputTransportFactory_;
+
+  /**
+   * Output transport factory
+   *
+   * @var TTransportFactory
+   */
+  protected $outputTransportFactory_;
+
+  /**
+   * Input protocol factory
+   *
+   * @var TProtocolFactory
+   */
+  protected $inputProtocolFactory_;
+
+  /**
+   * Output protocol factory
+   *
+   * @var TProtocolFactory
+   */
+  protected $outputProtocolFactory_;
+
+  /**
+   * Sets up all the factories, etc
+   *
+   * @param object $processor
+   * @param TServerTransport $transport
+   * @param TTransportFactory $inputTransportFactory
+   * @param TTransportFactory $outputTransportFactory
+   * @param TProtocolFactory $inputProtocolFactory
+   * @param TProtocolFactory $outputProtocolFactory
+   * @return void
+   */
+  public function __construct($processor,
+                              TServerTransport $transport,
+                              TTransportFactory $inputTransportFactory,
+                              TTransportFactory $outputTransportFactory,
+                              TProtocolFactory $inputProtocolFactory,
+                              TProtocolFactory $outputProtocolFactory) {
+    $this->processor_ = $processor;
+    $this->transport_ = $transport;
+    $this->inputTransportFactory_ = $inputTransportFactory;
+    $this->outputTransportFactory_ = $outputTransportFactory;
+    $this->inputProtocolFactory_ = $inputProtocolFactory;
+    $this->outputProtocolFactory_ = $outputProtocolFactory;
+  }
+
+  /**
+   * Serves the server. This should never return
+   * unless a problem permits it to do so or it
+   * is interrupted intentionally
+   *
+   * @abstract
+   * @return void
+   */
+  abstract public function serve();
+
+  /**
+   * Stops the server serving
+   *
+   * @abstract
+   * @return void
+   */
+  abstract public function stop();
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServerSocket.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServerSocket.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServerSocket.php
new file mode 100644
index 0000000..00a6fb9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServerSocket.php
@@ -0,0 +1,98 @@
+<?php
+
+namespace Thrift\Server;
+
+use Thrift\Server\TServerTransport;
+use Thrift\Transport\TSocket;
+
+/**
+ * Socket implementation of a server agent.
+ *
+ * @package thrift.transport
+ */
+class TServerSocket extends TServerTransport {
+
+  /**
+   * Handle for the listener socket
+   *
+   * @var resource
+   */
+  private $listener_;
+
+  /**
+   * Port for the listener to listen on
+   *
+   * @var int
+   */
+  private $port_;
+
+  /**
+   * Timeout when listening for a new client
+   *
+   * @var int
+   */
+  private $acceptTimeout_ = 30000;
+
+  /**
+   * Host to listen on
+   *
+   * @var string
+   */
+  private $host_;
+
+  /**
+   * ServerSocket constructor
+   *
+   * @param string $host        Host to listen on
+   * @param int $port           Port to listen on
+   * @return void
+   */
+  public function __construct($host = 'localhost', $port = 9090) {
+    $this->host_ = $host;
+    $this->port_ = $port;
+  }
+
+  /**
+   * Sets the accept timeout
+   *
+   * @param int $acceptTimeout
+   * @return void
+   */
+  public function setAcceptTimeout($acceptTimeout) {
+    $this->acceptTimeout_ = $acceptTimeout;
+  }
+
+  /**
+   * Opens a new socket server handle
+   *
+   * @return void
+   */
+  public function listen() {
+    $this->listener_ = stream_socket_server('tcp://' . $this->host_ . ':' . $this->port_);
+  }
+
+  /**
+   * Closes the socket server handle
+   *
+   * @return void
+   */
+  public function close() {
+    @fclose($this->listener_);
+    $this->listener_ = null;
+  }
+
+  /**
+   * Implementation of accept. If not client is accepted in the given time
+   *
+   * @return TSocket
+   */
+  protected function acceptImpl() {
+    $handle = @stream_socket_accept($this->listener_, $this->acceptTimeout_ / 1000.0);
+    if(!$handle) return null;
+
+    $socket = new TSocket();
+    $socket->setHandle($handle);
+
+    return $socket;
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServerTransport.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServerTransport.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServerTransport.php
new file mode 100644
index 0000000..5324712
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TServerTransport.php
@@ -0,0 +1,54 @@
+<?php
+
+namespace Thrift\Server;
+
+use Thrift\Exception\TTransportException;
+
+/**
+ * Generic class for Server agent.
+ *
+ * @package thrift.transport
+ */
+abstract class TServerTransport {
+  /**
+   * List for new clients
+   *
+   * @abstract
+   * @return void
+   */
+  abstract public function listen();
+
+  /**
+   * Close the server
+   *
+   * @abstract
+   * @return void
+   */
+  abstract public function close();
+
+  /**
+   * Subclasses should use this to implement
+   * accept.
+   *
+   * @abstract
+   * @return TTransport
+   */
+  protected abstract function acceptImpl();
+
+  /**
+   * Uses the accept implemtation. If null is returned, an
+   * exception is thrown.
+   *
+   * @throws TTransportException
+   * @return TTransport
+   */
+  public function accept() {
+    $transport = $this->acceptImpl();
+
+    if ($transport == null) {
+      throw new TTransportException("accept() may not return NULL");
+    }
+
+    return $transport;
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TSimpleServer.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TSimpleServer.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TSimpleServer.php
new file mode 100644
index 0000000..790e48f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/Server/TSimpleServer.php
@@ -0,0 +1,57 @@
+<?php
+
+namespace Thrift\Server;
+
+use Thrift\Server\TServer;
+use Thrift\Exception\TTransportException;
+
+/**
+ * Simple implemtation of a Thrift server.
+ *
+ * @package thrift.server
+ */
+class TSimpleServer extends TServer {
+  /**
+   * Flag for the main serving loop
+   *
+   * @var bool
+   */
+  private $stop_ = false;
+
+  /**
+   * Listens for new client using the supplied
+   * transport. It handles TTransportExceptions
+   * to avoid timeouts etc killing it
+   *
+   * @return void
+   */
+  public function serve() {
+    $this->transport_->listen();
+
+    while (!$this->stop_) {
+      try {
+        $transport = $this->transport_->accept();
+
+        if ($transport != null) {
+          $inputTransport = $this->inputTransportFactory_->getTransport($transport);
+          $outputTransport = $this->outputTransportFactory_->getTransport($transport);
+          $inputProtocol = $this->inputProtocolFactory_->getProtocol($inputTransport);
+          $outputProtocol = $this->outputProtocolFactory_->getProtocol($outputTransport);
+          while ($this->processor_->process($inputProtocol, $outputProtocol)) { }
+        }
+      }
+      catch (TTransportException $e) { }
+    }
+  }
+
+  /**
+   * Stops the server running. Kills the transport
+   * and then stops the main serving loop
+   *
+   * @return void
+   */
+  public function stop() {
+    $this->transport_->close();
+    $this->stop_ = true;
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/Core.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/Core.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/Core.php
new file mode 100644
index 0000000..e38a5b2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/Core.php
@@ -0,0 +1,38 @@
+<?php
+/*
+ * 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.
+ *
+ */
+
+namespace Thrift\StringFunc;
+
+use Thrift\StringFunc\TStringFunc;
+
+class Core implements TStringFunc {
+    public function substr($str, $start, $length = null) {
+        // specifying a null $length would return an empty string
+        if($length === null) {
+            return substr($str, $start);
+        }
+        return substr($str, $start, $length);
+    }
+
+    public function strlen($str) {
+        return strlen($str);
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/Mbstring.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/Mbstring.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/Mbstring.php
new file mode 100644
index 0000000..c1ace13
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/Mbstring.php
@@ -0,0 +1,45 @@
+<?php
+/*
+ * 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.
+ *
+ */
+
+namespace Thrift\StringFunc;
+
+use Thrift\StringFunc\TStringFunc;
+
+class Mbstring implements TStringFunc {
+    public function substr($str, $start, $length = null) {
+        /**
+         * We need to set the charset parameter, which is the second
+         * optional parameter and the first optional parameter can't
+         * be null or false as a "magic" value because that would
+         * cause an empty string to be returned, so we need to
+         * actually calculate the proper length value.
+         */
+        if($length === null) {
+            $length = $this->strlen($str) - $start;
+        }
+
+        return mb_substr($str, $start, $length, '8bit');
+    }
+
+    public function strlen($str) {
+        return mb_strlen($str, '8bit');
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/TStringFunc.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/TStringFunc.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/TStringFunc.php
new file mode 100644
index 0000000..c5bb390
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Thrift/StringFunc/TStringFunc.php
@@ -0,0 +1,27 @@
+<?php
+/*
+ * 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.
+ *
+ */
+
+namespace Thrift\StringFunc;
+
+interface TStringFunc {
+    public function substr($str, $start, $length = null);
+    public function strlen($str);
+}
\ No newline at end of file


[16/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h
new file mode 100644
index 0000000..c0ec3c2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h
@@ -0,0 +1,1801 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef experimentModel_TYPES_H
+#define experimentModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+
+
+struct ExperimentState {
+  enum type {
+    CREATED = 0,
+    VALIDATED = 1,
+    SCHEDULED = 2,
+    LAUNCHED = 3,
+    EXECUTING = 4,
+    CANCELED = 5,
+    COMPLETED = 6,
+    FAILED = 7,
+    UNKNOWN = 8
+  };
+};
+
+extern const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES;
+
+struct WorkflowNodeState {
+  enum type {
+    INVOKED = 0,
+    EXECUTING = 1,
+    CANCELED = 2,
+    COMPLETED = 3,
+    FAILED = 4,
+    UNKNOWN = 5
+  };
+};
+
+extern const std::map<int, const char*> _WorkflowNodeState_VALUES_TO_NAMES;
+
+struct TaskState {
+  enum type {
+    WAITING = 0,
+    STARTED = 1,
+    PRE_PROCESSING = 2,
+    CONFIGURING_WORKSPACE = 3,
+    INPUT_DATA_STAGING = 4,
+    OUTPUT_DATA_STAGING = 5,
+    POST_PROCESSING = 6,
+    EXECUTING = 7,
+    CANCELED = 8,
+    COMPLETED = 9,
+    FAILED = 10,
+    UNKNOWN = 11
+  };
+};
+
+extern const std::map<int, const char*> _TaskState_VALUES_TO_NAMES;
+
+struct JobState {
+  enum type {
+    SUBMITTED = 0,
+    UN_SUBMITTED = 1,
+    SETUP = 2,
+    QUEUED = 3,
+    ACTIVE = 4,
+    COMPLETE = 5,
+    CANCELED = 6,
+    FAILED = 7,
+    HELD = 8,
+    SUSPENDED = 9,
+    UNKNOWN = 10
+  };
+};
+
+extern const std::map<int, const char*> _JobState_VALUES_TO_NAMES;
+
+struct TransferState {
+  enum type {
+    DIRECTORY_SETUP = 0,
+    UPLOAD = 1,
+    DOWNLOAD = 2,
+    ACTIVE = 3,
+    COMPLETE = 4,
+    STDOUT_DOWNLOAD = 5,
+    STDERROR_DOWNLOAD = 6,
+    CANCELED = 7,
+    FAILED = 8,
+    HELD = 9,
+    SUSPENDED = 10,
+    UNKNOWN = 11
+  };
+};
+
+extern const std::map<int, const char*> _TransferState_VALUES_TO_NAMES;
+
+struct ActionableGroup {
+  enum type {
+    RESOURCE_ADMINS = 0,
+    AIRAVATA_ADMINS = 1,
+    GATEWAYS_ADMINS = 2,
+    USER = 3,
+    CANNOT_BE_DETERMINED = 4
+  };
+};
+
+extern const std::map<int, const char*> _ActionableGroup_VALUES_TO_NAMES;
+
+struct ErrorCategory {
+  enum type {
+    FILE_SYSTEM_FAILURE = 0,
+    APPLICATION_FAILURE = 1,
+    RESOURCE_NODE_FAILURE = 2,
+    DISK_FULL = 3,
+    INSUFFICIENT_ALLOCATION = 4,
+    SYSTEM_MAINTENANCE = 5,
+    AIRAVATA_INTERNAL_ERROR = 6,
+    CANNOT_BE_DETERMINED = 7
+  };
+};
+
+extern const std::map<int, const char*> _ErrorCategory_VALUES_TO_NAMES;
+
+struct CorrectiveAction {
+  enum type {
+    RETRY_SUBMISSION = 0,
+    CONTACT_SUPPORT = 1,
+    CANNOT_BE_DETERMINED = 2
+  };
+};
+
+extern const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES;
+
+typedef struct _ExperimentStatus__isset {
+  _ExperimentStatus__isset() : timeOfStateChange(false) {}
+  bool timeOfStateChange;
+} _ExperimentStatus__isset;
+
+class ExperimentStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
+  static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+  ExperimentStatus() : experimentState((ExperimentState::type)0), timeOfStateChange(0) {
+  }
+
+  virtual ~ExperimentStatus() throw() {}
+
+  ExperimentState::type experimentState;
+  int64_t timeOfStateChange;
+
+  _ExperimentStatus__isset __isset;
+
+  void __set_experimentState(const ExperimentState::type val) {
+    experimentState = val;
+  }
+
+  void __set_timeOfStateChange(const int64_t val) {
+    timeOfStateChange = val;
+    __isset.timeOfStateChange = true;
+  }
+
+  bool operator == (const ExperimentStatus & rhs) const
+  {
+    if (!(experimentState == rhs.experimentState))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      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;
+
+};
+
+void swap(ExperimentStatus &a, ExperimentStatus &b);
+
+typedef struct _WorkflowNodeStatus__isset {
+  _WorkflowNodeStatus__isset() : timeOfStateChange(false) {}
+  bool timeOfStateChange;
+} _WorkflowNodeStatus__isset;
+
+class WorkflowNodeStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
+  static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+  WorkflowNodeStatus() : workflowNodeState((WorkflowNodeState::type)0), timeOfStateChange(0) {
+  }
+
+  virtual ~WorkflowNodeStatus() throw() {}
+
+  WorkflowNodeState::type workflowNodeState;
+  int64_t timeOfStateChange;
+
+  _WorkflowNodeStatus__isset __isset;
+
+  void __set_workflowNodeState(const WorkflowNodeState::type val) {
+    workflowNodeState = val;
+  }
+
+  void __set_timeOfStateChange(const int64_t val) {
+    timeOfStateChange = val;
+    __isset.timeOfStateChange = true;
+  }
+
+  bool operator == (const WorkflowNodeStatus & rhs) const
+  {
+    if (!(workflowNodeState == rhs.workflowNodeState))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    return true;
+  }
+  bool operator != (const WorkflowNodeStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const WorkflowNodeStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(WorkflowNodeStatus &a, WorkflowNodeStatus &b);
+
+typedef struct _TaskStatus__isset {
+  _TaskStatus__isset() : timeOfStateChange(false) {}
+  bool timeOfStateChange;
+} _TaskStatus__isset;
+
+class TaskStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
+  static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+  TaskStatus() : executionState((TaskState::type)0), timeOfStateChange(0) {
+  }
+
+  virtual ~TaskStatus() throw() {}
+
+  TaskState::type executionState;
+  int64_t timeOfStateChange;
+
+  _TaskStatus__isset __isset;
+
+  void __set_executionState(const TaskState::type val) {
+    executionState = val;
+  }
+
+  void __set_timeOfStateChange(const int64_t val) {
+    timeOfStateChange = val;
+    __isset.timeOfStateChange = true;
+  }
+
+  bool operator == (const TaskStatus & rhs) const
+  {
+    if (!(executionState == rhs.executionState))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      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;
+
+};
+
+void swap(TaskStatus &a, TaskStatus &b);
+
+typedef struct _JobStatus__isset {
+  _JobStatus__isset() : timeOfStateChange(false) {}
+  bool timeOfStateChange;
+} _JobStatus__isset;
+
+class JobStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
+  static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+  JobStatus() : jobState((JobState::type)0), timeOfStateChange(0) {
+  }
+
+  virtual ~JobStatus() throw() {}
+
+  JobState::type jobState;
+  int64_t timeOfStateChange;
+
+  _JobStatus__isset __isset;
+
+  void __set_jobState(const JobState::type val) {
+    jobState = val;
+  }
+
+  void __set_timeOfStateChange(const int64_t val) {
+    timeOfStateChange = val;
+    __isset.timeOfStateChange = true;
+  }
+
+  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;
+    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;
+
+};
+
+void swap(JobStatus &a, JobStatus &b);
+
+typedef struct _TransferStatus__isset {
+  _TransferStatus__isset() : timeOfStateChange(false) {}
+  bool timeOfStateChange;
+} _TransferStatus__isset;
+
+class TransferStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
+  static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+  TransferStatus() : transferState((TransferState::type)0), timeOfStateChange(0) {
+  }
+
+  virtual ~TransferStatus() throw() {}
+
+  TransferState::type transferState;
+  int64_t timeOfStateChange;
+
+  _TransferStatus__isset __isset;
+
+  void __set_transferState(const TransferState::type val) {
+    transferState = val;
+  }
+
+  void __set_timeOfStateChange(const int64_t val) {
+    timeOfStateChange = val;
+    __isset.timeOfStateChange = true;
+  }
+
+  bool operator == (const TransferStatus & rhs) const
+  {
+    if (!(transferState == rhs.transferState))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    return true;
+  }
+  bool operator != (const TransferStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TransferStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(TransferStatus &a, TransferStatus &b);
+
+typedef struct _ApplicationStatus__isset {
+  _ApplicationStatus__isset() : timeOfStateChange(false) {}
+  bool timeOfStateChange;
+} _ApplicationStatus__isset;
+
+class ApplicationStatus {
+ public:
+
+  static const char* ascii_fingerprint; // = "E17E126D15049701494262EE3246F603";
+  static const uint8_t binary_fingerprint[16]; // = {0xE1,0x7E,0x12,0x6D,0x15,0x04,0x97,0x01,0x49,0x42,0x62,0xEE,0x32,0x46,0xF6,0x03};
+
+  ApplicationStatus() : applicationState(), timeOfStateChange(0) {
+  }
+
+  virtual ~ApplicationStatus() throw() {}
+
+  std::string applicationState;
+  int64_t timeOfStateChange;
+
+  _ApplicationStatus__isset __isset;
+
+  void __set_applicationState(const std::string& val) {
+    applicationState = val;
+  }
+
+  void __set_timeOfStateChange(const int64_t val) {
+    timeOfStateChange = val;
+    __isset.timeOfStateChange = true;
+  }
+
+  bool operator == (const ApplicationStatus & rhs) const
+  {
+    if (!(applicationState == rhs.applicationState))
+      return false;
+    if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+      return false;
+    else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+      return false;
+    return true;
+  }
+  bool operator != (const ApplicationStatus &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ApplicationStatus & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ApplicationStatus &a, ApplicationStatus &b);
+
+typedef struct _DataObjectType__isset {
+  _DataObjectType__isset() : value(false), type(false), metaData(false) {}
+  bool value;
+  bool type;
+  bool metaData;
+} _DataObjectType__isset;
+
+class DataObjectType {
+ 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};
+
+  DataObjectType() : key(), value(), type(), metaData() {
+  }
+
+  virtual ~DataObjectType() throw() {}
+
+  std::string key;
+  std::string value;
+  std::string type;
+  std::string metaData;
+
+  _DataObjectType__isset __isset;
+
+  void __set_key(const std::string& val) {
+    key = val;
+  }
+
+  void __set_value(const std::string& val) {
+    value = val;
+    __isset.value = true;
+  }
+
+  void __set_type(const std::string& val) {
+    type = val;
+    __isset.type = true;
+  }
+
+  void __set_metaData(const std::string& val) {
+    metaData = val;
+    __isset.metaData = true;
+  }
+
+  bool operator == (const DataObjectType & rhs) const
+  {
+    if (!(key == rhs.key))
+      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.metaData != rhs.__isset.metaData)
+      return false;
+    else if (__isset.metaData && !(metaData == rhs.metaData))
+      return false;
+    return true;
+  }
+  bool operator != (const DataObjectType &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DataObjectType & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(DataObjectType &a, DataObjectType &b);
+
+typedef struct _ComputationalResourceScheduling__isset {
+  _ComputationalResourceScheduling__isset() : resourceHostId(false), totalCPUCount(false), nodeCount(false), numberOfThreads(false), queueName(false), wallTimeLimit(false), jobStartTime(false), totalPhysicalMemory(false), ComputationalProjectAccount(false) {}
+  bool resourceHostId;
+  bool totalCPUCount;
+  bool nodeCount;
+  bool numberOfThreads;
+  bool queueName;
+  bool wallTimeLimit;
+  bool jobStartTime;
+  bool totalPhysicalMemory;
+  bool ComputationalProjectAccount;
+} _ComputationalResourceScheduling__isset;
+
+class ComputationalResourceScheduling {
+ public:
+
+  static const char* ascii_fingerprint; // = "32AC7AC41AD3753A7224A32FD6EB4B5D";
+  static const uint8_t binary_fingerprint[16]; // = {0x32,0xAC,0x7A,0xC4,0x1A,0xD3,0x75,0x3A,0x72,0x24,0xA3,0x2F,0xD6,0xEB,0x4B,0x5D};
+
+  ComputationalResourceScheduling() : resourceHostId(), totalCPUCount(0), nodeCount(0), numberOfThreads(0), queueName(), wallTimeLimit(0), jobStartTime(0), totalPhysicalMemory(0), ComputationalProjectAccount() {
+  }
+
+  virtual ~ComputationalResourceScheduling() throw() {}
+
+  std::string resourceHostId;
+  int32_t totalCPUCount;
+  int32_t nodeCount;
+  int32_t numberOfThreads;
+  std::string queueName;
+  int32_t wallTimeLimit;
+  int32_t jobStartTime;
+  int32_t totalPhysicalMemory;
+  std::string ComputationalProjectAccount;
+
+  _ComputationalResourceScheduling__isset __isset;
+
+  void __set_resourceHostId(const std::string& val) {
+    resourceHostId = val;
+    __isset.resourceHostId = true;
+  }
+
+  void __set_totalCPUCount(const int32_t val) {
+    totalCPUCount = val;
+    __isset.totalCPUCount = true;
+  }
+
+  void __set_nodeCount(const int32_t val) {
+    nodeCount = val;
+    __isset.nodeCount = true;
+  }
+
+  void __set_numberOfThreads(const int32_t val) {
+    numberOfThreads = val;
+    __isset.numberOfThreads = true;
+  }
+
+  void __set_queueName(const std::string& val) {
+    queueName = val;
+    __isset.queueName = true;
+  }
+
+  void __set_wallTimeLimit(const int32_t val) {
+    wallTimeLimit = val;
+    __isset.wallTimeLimit = true;
+  }
+
+  void __set_jobStartTime(const int32_t val) {
+    jobStartTime = val;
+    __isset.jobStartTime = true;
+  }
+
+  void __set_totalPhysicalMemory(const int32_t val) {
+    totalPhysicalMemory = val;
+    __isset.totalPhysicalMemory = true;
+  }
+
+  void __set_ComputationalProjectAccount(const std::string& val) {
+    ComputationalProjectAccount = val;
+    __isset.ComputationalProjectAccount = true;
+  }
+
+  bool operator == (const ComputationalResourceScheduling & 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.jobStartTime != rhs.__isset.jobStartTime)
+      return false;
+    else if (__isset.jobStartTime && !(jobStartTime == rhs.jobStartTime))
+      return false;
+    if (__isset.totalPhysicalMemory != rhs.__isset.totalPhysicalMemory)
+      return false;
+    else if (__isset.totalPhysicalMemory && !(totalPhysicalMemory == rhs.totalPhysicalMemory))
+      return false;
+    if (__isset.ComputationalProjectAccount != rhs.__isset.ComputationalProjectAccount)
+      return false;
+    else if (__isset.ComputationalProjectAccount && !(ComputationalProjectAccount == rhs.ComputationalProjectAccount))
+      return false;
+    return true;
+  }
+  bool operator != (const ComputationalResourceScheduling &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ComputationalResourceScheduling & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ComputationalResourceScheduling &a, ComputationalResourceScheduling &b);
+
+typedef struct _AdvancedInputDataHandling__isset {
+  _AdvancedInputDataHandling__isset() : stageInputFilesToWorkingDir(true), parentWorkingDirectory(false), uniqueWorkingDirectory(false), cleanUpWorkingDirAfterJob(true) {}
+  bool stageInputFilesToWorkingDir;
+  bool parentWorkingDirectory;
+  bool uniqueWorkingDirectory;
+  bool cleanUpWorkingDirAfterJob;
+} _AdvancedInputDataHandling__isset;
+
+class AdvancedInputDataHandling {
+ public:
+
+  static const char* ascii_fingerprint; // = "6139039875942E8B25C483838DD664B7";
+  static const uint8_t binary_fingerprint[16]; // = {0x61,0x39,0x03,0x98,0x75,0x94,0x2E,0x8B,0x25,0xC4,0x83,0x83,0x8D,0xD6,0x64,0xB7};
+
+  AdvancedInputDataHandling() : stageInputFilesToWorkingDir(false), parentWorkingDirectory(), uniqueWorkingDirectory(), cleanUpWorkingDirAfterJob(false) {
+  }
+
+  virtual ~AdvancedInputDataHandling() throw() {}
+
+  bool stageInputFilesToWorkingDir;
+  std::string parentWorkingDirectory;
+  std::string uniqueWorkingDirectory;
+  bool cleanUpWorkingDirAfterJob;
+
+  _AdvancedInputDataHandling__isset __isset;
+
+  void __set_stageInputFilesToWorkingDir(const bool val) {
+    stageInputFilesToWorkingDir = val;
+    __isset.stageInputFilesToWorkingDir = true;
+  }
+
+  void __set_parentWorkingDirectory(const std::string& val) {
+    parentWorkingDirectory = val;
+    __isset.parentWorkingDirectory = true;
+  }
+
+  void __set_uniqueWorkingDirectory(const std::string& val) {
+    uniqueWorkingDirectory = val;
+    __isset.uniqueWorkingDirectory = true;
+  }
+
+  void __set_cleanUpWorkingDirAfterJob(const bool val) {
+    cleanUpWorkingDirAfterJob = val;
+    __isset.cleanUpWorkingDirAfterJob = true;
+  }
+
+  bool operator == (const AdvancedInputDataHandling & rhs) const
+  {
+    if (__isset.stageInputFilesToWorkingDir != rhs.__isset.stageInputFilesToWorkingDir)
+      return false;
+    else if (__isset.stageInputFilesToWorkingDir && !(stageInputFilesToWorkingDir == rhs.stageInputFilesToWorkingDir))
+      return false;
+    if (__isset.parentWorkingDirectory != rhs.__isset.parentWorkingDirectory)
+      return false;
+    else if (__isset.parentWorkingDirectory && !(parentWorkingDirectory == rhs.parentWorkingDirectory))
+      return false;
+    if (__isset.uniqueWorkingDirectory != rhs.__isset.uniqueWorkingDirectory)
+      return false;
+    else if (__isset.uniqueWorkingDirectory && !(uniqueWorkingDirectory == rhs.uniqueWorkingDirectory))
+      return false;
+    if (__isset.cleanUpWorkingDirAfterJob != rhs.__isset.cleanUpWorkingDirAfterJob)
+      return false;
+    else if (__isset.cleanUpWorkingDirAfterJob && !(cleanUpWorkingDirAfterJob == rhs.cleanUpWorkingDirAfterJob))
+      return false;
+    return true;
+  }
+  bool operator != (const AdvancedInputDataHandling &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const AdvancedInputDataHandling & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(AdvancedInputDataHandling &a, AdvancedInputDataHandling &b);
+
+typedef struct _AdvancedOutputDataHandling__isset {
+  _AdvancedOutputDataHandling__isset() : outputDataDir(false), dataRegistryURL(false), persistOutputData(true) {}
+  bool outputDataDir;
+  bool dataRegistryURL;
+  bool persistOutputData;
+} _AdvancedOutputDataHandling__isset;
+
+class AdvancedOutputDataHandling {
+ public:
+
+  static const char* ascii_fingerprint; // = "6EC898D3B5ECFF21200795BD22F73CD2";
+  static const uint8_t binary_fingerprint[16]; // = {0x6E,0xC8,0x98,0xD3,0xB5,0xEC,0xFF,0x21,0x20,0x07,0x95,0xBD,0x22,0xF7,0x3C,0xD2};
+
+  AdvancedOutputDataHandling() : outputDataDir(), dataRegistryURL(), persistOutputData(true) {
+  }
+
+  virtual ~AdvancedOutputDataHandling() throw() {}
+
+  std::string outputDataDir;
+  std::string dataRegistryURL;
+  bool persistOutputData;
+
+  _AdvancedOutputDataHandling__isset __isset;
+
+  void __set_outputDataDir(const std::string& val) {
+    outputDataDir = val;
+    __isset.outputDataDir = true;
+  }
+
+  void __set_dataRegistryURL(const std::string& val) {
+    dataRegistryURL = val;
+    __isset.dataRegistryURL = true;
+  }
+
+  void __set_persistOutputData(const bool val) {
+    persistOutputData = val;
+    __isset.persistOutputData = true;
+  }
+
+  bool operator == (const AdvancedOutputDataHandling & rhs) const
+  {
+    if (__isset.outputDataDir != rhs.__isset.outputDataDir)
+      return false;
+    else if (__isset.outputDataDir && !(outputDataDir == rhs.outputDataDir))
+      return false;
+    if (__isset.dataRegistryURL != rhs.__isset.dataRegistryURL)
+      return false;
+    else if (__isset.dataRegistryURL && !(dataRegistryURL == rhs.dataRegistryURL))
+      return false;
+    if (__isset.persistOutputData != rhs.__isset.persistOutputData)
+      return false;
+    else if (__isset.persistOutputData && !(persistOutputData == rhs.persistOutputData))
+      return false;
+    return true;
+  }
+  bool operator != (const AdvancedOutputDataHandling &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const AdvancedOutputDataHandling & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(AdvancedOutputDataHandling &a, AdvancedOutputDataHandling &b);
+
+typedef struct _QualityOfServiceParams__isset {
+  _QualityOfServiceParams__isset() : startExecutionAt(false), executeBefore(false), numberofRetries(false) {}
+  bool startExecutionAt;
+  bool executeBefore;
+  bool numberofRetries;
+} _QualityOfServiceParams__isset;
+
+class QualityOfServiceParams {
+ public:
+
+  static const char* ascii_fingerprint; // = "35985D966603A273E8D7132543B44873";
+  static const uint8_t binary_fingerprint[16]; // = {0x35,0x98,0x5D,0x96,0x66,0x03,0xA2,0x73,0xE8,0xD7,0x13,0x25,0x43,0xB4,0x48,0x73};
+
+  QualityOfServiceParams() : startExecutionAt(), executeBefore(), numberofRetries(0) {
+  }
+
+  virtual ~QualityOfServiceParams() throw() {}
+
+  std::string startExecutionAt;
+  std::string executeBefore;
+  int32_t numberofRetries;
+
+  _QualityOfServiceParams__isset __isset;
+
+  void __set_startExecutionAt(const std::string& val) {
+    startExecutionAt = val;
+    __isset.startExecutionAt = true;
+  }
+
+  void __set_executeBefore(const std::string& val) {
+    executeBefore = val;
+    __isset.executeBefore = true;
+  }
+
+  void __set_numberofRetries(const int32_t val) {
+    numberofRetries = val;
+    __isset.numberofRetries = true;
+  }
+
+  bool operator == (const QualityOfServiceParams & rhs) const
+  {
+    if (__isset.startExecutionAt != rhs.__isset.startExecutionAt)
+      return false;
+    else if (__isset.startExecutionAt && !(startExecutionAt == rhs.startExecutionAt))
+      return false;
+    if (__isset.executeBefore != rhs.__isset.executeBefore)
+      return false;
+    else if (__isset.executeBefore && !(executeBefore == rhs.executeBefore))
+      return false;
+    if (__isset.numberofRetries != rhs.__isset.numberofRetries)
+      return false;
+    else if (__isset.numberofRetries && !(numberofRetries == rhs.numberofRetries))
+      return false;
+    return true;
+  }
+  bool operator != (const QualityOfServiceParams &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const QualityOfServiceParams & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(QualityOfServiceParams &a, QualityOfServiceParams &b);
+
+typedef struct _UserConfigurationData__isset {
+  _UserConfigurationData__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false), advanceInputDataHandling(false), advanceOutputDataHandling(false), qosParams(false) {}
+  bool shareExperimentPublicly;
+  bool computationalResourceScheduling;
+  bool advanceInputDataHandling;
+  bool advanceOutputDataHandling;
+  bool qosParams;
+} _UserConfigurationData__isset;
+
+class UserConfigurationData {
+ public:
+
+  static const char* ascii_fingerprint; // = "889486266D7ADC041ED1C586A2468611";
+  static const uint8_t binary_fingerprint[16]; // = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
+
+  UserConfigurationData() : airavataAutoSchedule(false), overrideManualScheduledParams(false), shareExperimentPublicly(false) {
+  }
+
+  virtual ~UserConfigurationData() throw() {}
+
+  bool airavataAutoSchedule;
+  bool overrideManualScheduledParams;
+  bool shareExperimentPublicly;
+  ComputationalResourceScheduling computationalResourceScheduling;
+  AdvancedInputDataHandling advanceInputDataHandling;
+  AdvancedOutputDataHandling advanceOutputDataHandling;
+  QualityOfServiceParams qosParams;
+
+  _UserConfigurationData__isset __isset;
+
+  void __set_airavataAutoSchedule(const bool val) {
+    airavataAutoSchedule = val;
+  }
+
+  void __set_overrideManualScheduledParams(const bool val) {
+    overrideManualScheduledParams = val;
+  }
+
+  void __set_shareExperimentPublicly(const bool val) {
+    shareExperimentPublicly = val;
+    __isset.shareExperimentPublicly = true;
+  }
+
+  void __set_computationalResourceScheduling(const ComputationalResourceScheduling& val) {
+    computationalResourceScheduling = val;
+    __isset.computationalResourceScheduling = true;
+  }
+
+  void __set_advanceInputDataHandling(const AdvancedInputDataHandling& val) {
+    advanceInputDataHandling = val;
+    __isset.advanceInputDataHandling = true;
+  }
+
+  void __set_advanceOutputDataHandling(const AdvancedOutputDataHandling& val) {
+    advanceOutputDataHandling = val;
+    __isset.advanceOutputDataHandling = true;
+  }
+
+  void __set_qosParams(const QualityOfServiceParams& val) {
+    qosParams = val;
+    __isset.qosParams = true;
+  }
+
+  bool operator == (const UserConfigurationData & 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.advanceInputDataHandling != rhs.__isset.advanceInputDataHandling)
+      return false;
+    else if (__isset.advanceInputDataHandling && !(advanceInputDataHandling == rhs.advanceInputDataHandling))
+      return false;
+    if (__isset.advanceOutputDataHandling != rhs.__isset.advanceOutputDataHandling)
+      return false;
+    else if (__isset.advanceOutputDataHandling && !(advanceOutputDataHandling == rhs.advanceOutputDataHandling))
+      return false;
+    if (__isset.qosParams != rhs.__isset.qosParams)
+      return false;
+    else if (__isset.qosParams && !(qosParams == rhs.qosParams))
+      return false;
+    return true;
+  }
+  bool operator != (const UserConfigurationData &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const UserConfigurationData & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(UserConfigurationData &a, UserConfigurationData &b);
+
+typedef struct _ErrorDetails__isset {
+  _ErrorDetails__isset() : creationTime(false), actualErrorMessage(false), userFriendlyMessage(false), errorCategory(false), transientOrPersistent(true), correctiveAction(false), actionableGroup(false), rootCauseErrorIdList(false) {}
+  bool creationTime;
+  bool actualErrorMessage;
+  bool userFriendlyMessage;
+  bool errorCategory;
+  bool transientOrPersistent;
+  bool correctiveAction;
+  bool actionableGroup;
+  bool rootCauseErrorIdList;
+} _ErrorDetails__isset;
+
+class ErrorDetails {
+ public:
+
+  static const char* ascii_fingerprint; // = "170CA6E79EB283F31417B9D68071DA33";
+  static const uint8_t binary_fingerprint[16]; // = {0x17,0x0C,0xA6,0xE7,0x9E,0xB2,0x83,0xF3,0x14,0x17,0xB9,0xD6,0x80,0x71,0xDA,0x33};
+
+  ErrorDetails() : errorID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), actualErrorMessage(), userFriendlyMessage(), errorCategory((ErrorCategory::type)0), transientOrPersistent(false), correctiveAction((CorrectiveAction::type)0), actionableGroup((ActionableGroup::type)0) {
+  }
+
+  virtual ~ErrorDetails() throw() {}
+
+  std::string errorID;
+  int64_t creationTime;
+  std::string actualErrorMessage;
+  std::string userFriendlyMessage;
+  ErrorCategory::type errorCategory;
+  bool transientOrPersistent;
+  CorrectiveAction::type correctiveAction;
+  ActionableGroup::type actionableGroup;
+  std::vector<std::string>  rootCauseErrorIdList;
+
+  _ErrorDetails__isset __isset;
+
+  void __set_errorID(const std::string& val) {
+    errorID = val;
+  }
+
+  void __set_creationTime(const int64_t val) {
+    creationTime = val;
+    __isset.creationTime = true;
+  }
+
+  void __set_actualErrorMessage(const std::string& val) {
+    actualErrorMessage = val;
+    __isset.actualErrorMessage = true;
+  }
+
+  void __set_userFriendlyMessage(const std::string& val) {
+    userFriendlyMessage = val;
+    __isset.userFriendlyMessage = true;
+  }
+
+  void __set_errorCategory(const ErrorCategory::type val) {
+    errorCategory = val;
+    __isset.errorCategory = true;
+  }
+
+  void __set_transientOrPersistent(const bool val) {
+    transientOrPersistent = val;
+    __isset.transientOrPersistent = true;
+  }
+
+  void __set_correctiveAction(const CorrectiveAction::type val) {
+    correctiveAction = val;
+    __isset.correctiveAction = true;
+  }
+
+  void __set_actionableGroup(const ActionableGroup::type val) {
+    actionableGroup = val;
+    __isset.actionableGroup = true;
+  }
+
+  void __set_rootCauseErrorIdList(const std::vector<std::string> & val) {
+    rootCauseErrorIdList = val;
+    __isset.rootCauseErrorIdList = true;
+  }
+
+  bool operator == (const ErrorDetails & 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.errorCategory != rhs.__isset.errorCategory)
+      return false;
+    else if (__isset.errorCategory && !(errorCategory == rhs.errorCategory))
+      return false;
+    if (__isset.transientOrPersistent != rhs.__isset.transientOrPersistent)
+      return false;
+    else if (__isset.transientOrPersistent && !(transientOrPersistent == rhs.transientOrPersistent))
+      return false;
+    if (__isset.correctiveAction != rhs.__isset.correctiveAction)
+      return false;
+    else if (__isset.correctiveAction && !(correctiveAction == rhs.correctiveAction))
+      return false;
+    if (__isset.actionableGroup != rhs.__isset.actionableGroup)
+      return false;
+    else if (__isset.actionableGroup && !(actionableGroup == rhs.actionableGroup))
+      return false;
+    if (__isset.rootCauseErrorIdList != rhs.__isset.rootCauseErrorIdList)
+      return false;
+    else if (__isset.rootCauseErrorIdList && !(rootCauseErrorIdList == rhs.rootCauseErrorIdList))
+      return false;
+    return true;
+  }
+  bool operator != (const ErrorDetails &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ErrorDetails & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ErrorDetails &a, ErrorDetails &b);
+
+typedef struct _JobDetails__isset {
+  _JobDetails__isset() : creationTime(false), jobStatus(false), applicationStatus(false), errors(false), computeResourceConsumed(false) {}
+  bool creationTime;
+  bool jobStatus;
+  bool applicationStatus;
+  bool errors;
+  bool computeResourceConsumed;
+} _JobDetails__isset;
+
+class JobDetails {
+ public:
+
+  static const char* ascii_fingerprint; // = "5946807521C11BC65075D497F8568057";
+  static const uint8_t binary_fingerprint[16]; // = {0x59,0x46,0x80,0x75,0x21,0xC1,0x1B,0xC6,0x50,0x75,0xD4,0x97,0xF8,0x56,0x80,0x57};
+
+  JobDetails() : jobID("DO_NOT_SET_AT_CLIENTS"), jobDescription(), creationTime(0), computeResourceConsumed() {
+  }
+
+  virtual ~JobDetails() throw() {}
+
+  std::string jobID;
+  std::string jobDescription;
+  int64_t creationTime;
+  JobStatus jobStatus;
+  ApplicationStatus applicationStatus;
+  std::vector<ErrorDetails>  errors;
+  std::string computeResourceConsumed;
+
+  _JobDetails__isset __isset;
+
+  void __set_jobID(const std::string& val) {
+    jobID = val;
+  }
+
+  void __set_jobDescription(const std::string& val) {
+    jobDescription = val;
+  }
+
+  void __set_creationTime(const int64_t val) {
+    creationTime = val;
+    __isset.creationTime = true;
+  }
+
+  void __set_jobStatus(const JobStatus& val) {
+    jobStatus = val;
+    __isset.jobStatus = true;
+  }
+
+  void __set_applicationStatus(const ApplicationStatus& val) {
+    applicationStatus = val;
+    __isset.applicationStatus = true;
+  }
+
+  void __set_errors(const std::vector<ErrorDetails> & val) {
+    errors = val;
+    __isset.errors = true;
+  }
+
+  void __set_computeResourceConsumed(const std::string& val) {
+    computeResourceConsumed = val;
+    __isset.computeResourceConsumed = true;
+  }
+
+  bool operator == (const JobDetails & rhs) const
+  {
+    if (!(jobID == rhs.jobID))
+      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.applicationStatus != rhs.__isset.applicationStatus)
+      return false;
+    else if (__isset.applicationStatus && !(applicationStatus == rhs.applicationStatus))
+      return false;
+    if (__isset.errors != rhs.__isset.errors)
+      return false;
+    else if (__isset.errors && !(errors == rhs.errors))
+      return false;
+    if (__isset.computeResourceConsumed != rhs.__isset.computeResourceConsumed)
+      return false;
+    else if (__isset.computeResourceConsumed && !(computeResourceConsumed == rhs.computeResourceConsumed))
+      return false;
+    return true;
+  }
+  bool operator != (const JobDetails &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const JobDetails & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(JobDetails &a, JobDetails &b);
+
+typedef struct _DataTransferDetails__isset {
+  _DataTransferDetails__isset() : creationTime(false), transferStatus(false) {}
+  bool creationTime;
+  bool transferStatus;
+} _DataTransferDetails__isset;
+
+class DataTransferDetails {
+ public:
+
+  static const char* ascii_fingerprint; // = "40D4FEC20E3B334AEEBA92DA2AB9E91E";
+  static const uint8_t binary_fingerprint[16]; // = {0x40,0xD4,0xFE,0xC2,0x0E,0x3B,0x33,0x4A,0xEE,0xBA,0x92,0xDA,0x2A,0xB9,0xE9,0x1E};
+
+  DataTransferDetails() : transferID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), transferDescription() {
+  }
+
+  virtual ~DataTransferDetails() throw() {}
+
+  std::string transferID;
+  int64_t creationTime;
+  std::string transferDescription;
+  TransferStatus transferStatus;
+
+  _DataTransferDetails__isset __isset;
+
+  void __set_transferID(const std::string& val) {
+    transferID = val;
+  }
+
+  void __set_creationTime(const int64_t val) {
+    creationTime = val;
+    __isset.creationTime = true;
+  }
+
+  void __set_transferDescription(const std::string& val) {
+    transferDescription = val;
+  }
+
+  void __set_transferStatus(const TransferStatus& val) {
+    transferStatus = val;
+    __isset.transferStatus = true;
+  }
+
+  bool operator == (const DataTransferDetails & rhs) const
+  {
+    if (!(transferID == rhs.transferID))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (!(transferDescription == rhs.transferDescription))
+      return false;
+    if (__isset.transferStatus != rhs.__isset.transferStatus)
+      return false;
+    else if (__isset.transferStatus && !(transferStatus == rhs.transferStatus))
+      return false;
+    return true;
+  }
+  bool operator != (const DataTransferDetails &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DataTransferDetails & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(DataTransferDetails &a, DataTransferDetails &b);
+
+typedef struct _TaskDetails__isset {
+  _TaskDetails__isset() : creationTime(false), applicationId(false), applicationVersion(false), applicationInputs(false), applicationOutputs(false), taskScheduling(false), advancedInputDataHandling(false), advancedOutputDataHandling(false), taskStatus(false), jobDetailsList(false), dataTransferDetailsList(false), errors(false) {}
+  bool creationTime;
+  bool applicationId;
+  bool applicationVersion;
+  bool applicationInputs;
+  bool applicationOutputs;
+  bool taskScheduling;
+  bool advancedInputDataHandling;
+  bool advancedOutputDataHandling;
+  bool taskStatus;
+  bool jobDetailsList;
+  bool dataTransferDetailsList;
+  bool errors;
+} _TaskDetails__isset;
+
+class TaskDetails {
+ public:
+
+  static const char* ascii_fingerprint; // = "705A0D2F86DF8E37DD3741EEF4EB51A0";
+  static const uint8_t binary_fingerprint[16]; // = {0x70,0x5A,0x0D,0x2F,0x86,0xDF,0x8E,0x37,0xDD,0x37,0x41,0xEE,0xF4,0xEB,0x51,0xA0};
+
+  TaskDetails() : taskID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), applicationId(), applicationVersion() {
+  }
+
+  virtual ~TaskDetails() throw() {}
+
+  std::string taskID;
+  int64_t creationTime;
+  std::string applicationId;
+  std::string applicationVersion;
+  std::vector<DataObjectType>  applicationInputs;
+  std::vector<DataObjectType>  applicationOutputs;
+  ComputationalResourceScheduling taskScheduling;
+  AdvancedInputDataHandling advancedInputDataHandling;
+  AdvancedOutputDataHandling advancedOutputDataHandling;
+  TaskStatus taskStatus;
+  std::vector<JobDetails>  jobDetailsList;
+  std::vector<DataTransferDetails>  dataTransferDetailsList;
+  std::vector<ErrorDetails>  errors;
+
+  _TaskDetails__isset __isset;
+
+  void __set_taskID(const std::string& val) {
+    taskID = val;
+  }
+
+  void __set_creationTime(const int64_t val) {
+    creationTime = val;
+    __isset.creationTime = true;
+  }
+
+  void __set_applicationId(const std::string& val) {
+    applicationId = val;
+    __isset.applicationId = true;
+  }
+
+  void __set_applicationVersion(const std::string& val) {
+    applicationVersion = val;
+    __isset.applicationVersion = true;
+  }
+
+  void __set_applicationInputs(const std::vector<DataObjectType> & val) {
+    applicationInputs = val;
+    __isset.applicationInputs = true;
+  }
+
+  void __set_applicationOutputs(const std::vector<DataObjectType> & val) {
+    applicationOutputs = val;
+    __isset.applicationOutputs = true;
+  }
+
+  void __set_taskScheduling(const ComputationalResourceScheduling& val) {
+    taskScheduling = val;
+    __isset.taskScheduling = true;
+  }
+
+  void __set_advancedInputDataHandling(const AdvancedInputDataHandling& val) {
+    advancedInputDataHandling = val;
+    __isset.advancedInputDataHandling = true;
+  }
+
+  void __set_advancedOutputDataHandling(const AdvancedOutputDataHandling& val) {
+    advancedOutputDataHandling = val;
+    __isset.advancedOutputDataHandling = true;
+  }
+
+  void __set_taskStatus(const TaskStatus& val) {
+    taskStatus = val;
+    __isset.taskStatus = true;
+  }
+
+  void __set_jobDetailsList(const std::vector<JobDetails> & val) {
+    jobDetailsList = val;
+    __isset.jobDetailsList = true;
+  }
+
+  void __set_dataTransferDetailsList(const std::vector<DataTransferDetails> & val) {
+    dataTransferDetailsList = val;
+    __isset.dataTransferDetailsList = true;
+  }
+
+  void __set_errors(const std::vector<ErrorDetails> & val) {
+    errors = val;
+    __isset.errors = true;
+  }
+
+  bool operator == (const TaskDetails & rhs) const
+  {
+    if (!(taskID == rhs.taskID))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (__isset.applicationId != rhs.__isset.applicationId)
+      return false;
+    else if (__isset.applicationId && !(applicationId == rhs.applicationId))
+      return false;
+    if (__isset.applicationVersion != rhs.__isset.applicationVersion)
+      return false;
+    else if (__isset.applicationVersion && !(applicationVersion == rhs.applicationVersion))
+      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;
+    if (__isset.taskScheduling != rhs.__isset.taskScheduling)
+      return false;
+    else if (__isset.taskScheduling && !(taskScheduling == rhs.taskScheduling))
+      return false;
+    if (__isset.advancedInputDataHandling != rhs.__isset.advancedInputDataHandling)
+      return false;
+    else if (__isset.advancedInputDataHandling && !(advancedInputDataHandling == rhs.advancedInputDataHandling))
+      return false;
+    if (__isset.advancedOutputDataHandling != rhs.__isset.advancedOutputDataHandling)
+      return false;
+    else if (__isset.advancedOutputDataHandling && !(advancedOutputDataHandling == rhs.advancedOutputDataHandling))
+      return false;
+    if (__isset.taskStatus != rhs.__isset.taskStatus)
+      return false;
+    else if (__isset.taskStatus && !(taskStatus == rhs.taskStatus))
+      return false;
+    if (__isset.jobDetailsList != rhs.__isset.jobDetailsList)
+      return false;
+    else if (__isset.jobDetailsList && !(jobDetailsList == rhs.jobDetailsList))
+      return false;
+    if (__isset.dataTransferDetailsList != rhs.__isset.dataTransferDetailsList)
+      return false;
+    else if (__isset.dataTransferDetailsList && !(dataTransferDetailsList == rhs.dataTransferDetailsList))
+      return false;
+    if (__isset.errors != rhs.__isset.errors)
+      return false;
+    else if (__isset.errors && !(errors == rhs.errors))
+      return false;
+    return true;
+  }
+  bool operator != (const TaskDetails &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const TaskDetails & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(TaskDetails &a, TaskDetails &b);
+
+typedef struct _WorkflowNodeDetails__isset {
+  _WorkflowNodeDetails__isset() : creationTime(false), nodeInputs(false), nodeOutputs(false), workflowNodeStatus(false), taskDetailsList(false), errors(false) {}
+  bool creationTime;
+  bool nodeInputs;
+  bool nodeOutputs;
+  bool workflowNodeStatus;
+  bool taskDetailsList;
+  bool errors;
+} _WorkflowNodeDetails__isset;
+
+class WorkflowNodeDetails {
+ public:
+
+  static const char* ascii_fingerprint; // = "D244C94A6A1DF1DFBA2E34E7756C28EF";
+  static const uint8_t binary_fingerprint[16]; // = {0xD2,0x44,0xC9,0x4A,0x6A,0x1D,0xF1,0xDF,0xBA,0x2E,0x34,0xE7,0x75,0x6C,0x28,0xEF};
+
+  WorkflowNodeDetails() : nodeInstanceId("DO_NOT_SET_AT_CLIENTS"), creationTime(0), nodeName("SINGLE_APP_NODE") {
+  }
+
+  virtual ~WorkflowNodeDetails() throw() {}
+
+  std::string nodeInstanceId;
+  int64_t creationTime;
+  std::string nodeName;
+  std::vector<DataObjectType>  nodeInputs;
+  std::vector<DataObjectType>  nodeOutputs;
+  WorkflowNodeStatus workflowNodeStatus;
+  std::vector<TaskDetails>  taskDetailsList;
+  std::vector<ErrorDetails>  errors;
+
+  _WorkflowNodeDetails__isset __isset;
+
+  void __set_nodeInstanceId(const std::string& val) {
+    nodeInstanceId = val;
+  }
+
+  void __set_creationTime(const int64_t val) {
+    creationTime = val;
+    __isset.creationTime = true;
+  }
+
+  void __set_nodeName(const std::string& val) {
+    nodeName = val;
+  }
+
+  void __set_nodeInputs(const std::vector<DataObjectType> & val) {
+    nodeInputs = val;
+    __isset.nodeInputs = true;
+  }
+
+  void __set_nodeOutputs(const std::vector<DataObjectType> & val) {
+    nodeOutputs = val;
+    __isset.nodeOutputs = true;
+  }
+
+  void __set_workflowNodeStatus(const WorkflowNodeStatus& val) {
+    workflowNodeStatus = val;
+    __isset.workflowNodeStatus = true;
+  }
+
+  void __set_taskDetailsList(const std::vector<TaskDetails> & val) {
+    taskDetailsList = val;
+    __isset.taskDetailsList = true;
+  }
+
+  void __set_errors(const std::vector<ErrorDetails> & val) {
+    errors = val;
+    __isset.errors = true;
+  }
+
+  bool operator == (const WorkflowNodeDetails & rhs) const
+  {
+    if (!(nodeInstanceId == rhs.nodeInstanceId))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (!(nodeName == rhs.nodeName))
+      return false;
+    if (__isset.nodeInputs != rhs.__isset.nodeInputs)
+      return false;
+    else if (__isset.nodeInputs && !(nodeInputs == rhs.nodeInputs))
+      return false;
+    if (__isset.nodeOutputs != rhs.__isset.nodeOutputs)
+      return false;
+    else if (__isset.nodeOutputs && !(nodeOutputs == rhs.nodeOutputs))
+      return false;
+    if (__isset.workflowNodeStatus != rhs.__isset.workflowNodeStatus)
+      return false;
+    else if (__isset.workflowNodeStatus && !(workflowNodeStatus == rhs.workflowNodeStatus))
+      return false;
+    if (__isset.taskDetailsList != rhs.__isset.taskDetailsList)
+      return false;
+    else if (__isset.taskDetailsList && !(taskDetailsList == rhs.taskDetailsList))
+      return false;
+    if (__isset.errors != rhs.__isset.errors)
+      return false;
+    else if (__isset.errors && !(errors == rhs.errors))
+      return false;
+    return true;
+  }
+  bool operator != (const WorkflowNodeDetails &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const WorkflowNodeDetails & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(WorkflowNodeDetails &a, WorkflowNodeDetails &b);
+
+typedef struct _Experiment__isset {
+  _Experiment__isset() : creationTime(false), description(false), applicationId(false), applicationVersion(false), workflowTemplateId(false), workflowTemplateVersion(false), userConfigurationData(false), workflowExecutionInstanceId(false), experimentInputs(false), experimentOutputs(false), experimentStatus(false), stateChangeList(false), workflowNodeDetailsList(false), errors(false) {}
+  bool creationTime;
+  bool description;
+  bool applicationId;
+  bool applicationVersion;
+  bool workflowTemplateId;
+  bool workflowTemplateVersion;
+  bool userConfigurationData;
+  bool workflowExecutionInstanceId;
+  bool experimentInputs;
+  bool experimentOutputs;
+  bool experimentStatus;
+  bool stateChangeList;
+  bool workflowNodeDetailsList;
+  bool errors;
+} _Experiment__isset;
+
+class Experiment {
+ public:
+
+  static const char* ascii_fingerprint; // = "AAEAE252F6A2D0BD15514CB57DB7745F";
+  static const uint8_t binary_fingerprint[16]; // = {0xAA,0xEA,0xE2,0x52,0xF6,0xA2,0xD0,0xBD,0x15,0x51,0x4C,0xB5,0x7D,0xB7,0x74,0x5F};
+
+  Experiment() : experimentID("DO_NOT_SET_AT_CLIENTS"), projectID("DEFAULT"), creationTime(0), userName(), name(), description(), applicationId(), applicationVersion(), workflowTemplateId(), workflowTemplateVersion(), workflowExecutionInstanceId() {
+  }
+
+  virtual ~Experiment() throw() {}
+
+  std::string experimentID;
+  std::string projectID;
+  int64_t creationTime;
+  std::string userName;
+  std::string name;
+  std::string description;
+  std::string applicationId;
+  std::string applicationVersion;
+  std::string workflowTemplateId;
+  std::string workflowTemplateVersion;
+  UserConfigurationData userConfigurationData;
+  std::string workflowExecutionInstanceId;
+  std::vector<DataObjectType>  experimentInputs;
+  std::vector<DataObjectType>  experimentOutputs;
+  ExperimentStatus experimentStatus;
+  std::vector<WorkflowNodeStatus>  stateChangeList;
+  std::vector<WorkflowNodeDetails>  workflowNodeDetailsList;
+  std::vector<ErrorDetails>  errors;
+
+  _Experiment__isset __isset;
+
+  void __set_experimentID(const std::string& val) {
+    experimentID = val;
+  }
+
+  void __set_projectID(const std::string& val) {
+    projectID = val;
+  }
+
+  void __set_creationTime(const int64_t val) {
+    creationTime = val;
+    __isset.creationTime = true;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_name(const std::string& val) {
+    name = val;
+  }
+
+  void __set_description(const std::string& val) {
+    description = val;
+    __isset.description = true;
+  }
+
+  void __set_applicationId(const std::string& val) {
+    applicationId = val;
+    __isset.applicationId = true;
+  }
+
+  void __set_applicationVersion(const std::string& val) {
+    applicationVersion = val;
+    __isset.applicationVersion = true;
+  }
+
+  void __set_workflowTemplateId(const std::string& val) {
+    workflowTemplateId = val;
+    __isset.workflowTemplateId = true;
+  }
+
+  void __set_workflowTemplateVersion(const std::string& val) {
+    workflowTemplateVersion = val;
+    __isset.workflowTemplateVersion = true;
+  }
+
+  void __set_userConfigurationData(const UserConfigurationData& val) {
+    userConfigurationData = val;
+    __isset.userConfigurationData = true;
+  }
+
+  void __set_workflowExecutionInstanceId(const std::string& val) {
+    workflowExecutionInstanceId = val;
+    __isset.workflowExecutionInstanceId = true;
+  }
+
+  void __set_experimentInputs(const std::vector<DataObjectType> & val) {
+    experimentInputs = val;
+    __isset.experimentInputs = true;
+  }
+
+  void __set_experimentOutputs(const std::vector<DataObjectType> & val) {
+    experimentOutputs = val;
+    __isset.experimentOutputs = true;
+  }
+
+  void __set_experimentStatus(const ExperimentStatus& val) {
+    experimentStatus = val;
+    __isset.experimentStatus = true;
+  }
+
+  void __set_stateChangeList(const std::vector<WorkflowNodeStatus> & val) {
+    stateChangeList = val;
+    __isset.stateChangeList = true;
+  }
+
+  void __set_workflowNodeDetailsList(const std::vector<WorkflowNodeDetails> & val) {
+    workflowNodeDetailsList = val;
+    __isset.workflowNodeDetailsList = true;
+  }
+
+  void __set_errors(const std::vector<ErrorDetails> & val) {
+    errors = val;
+    __isset.errors = true;
+  }
+
+  bool operator == (const Experiment & rhs) const
+  {
+    if (!(experimentID == rhs.experimentID))
+      return false;
+    if (!(projectID == rhs.projectID))
+      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.applicationId != rhs.__isset.applicationId)
+      return false;
+    else if (__isset.applicationId && !(applicationId == rhs.applicationId))
+      return false;
+    if (__isset.applicationVersion != rhs.__isset.applicationVersion)
+      return false;
+    else if (__isset.applicationVersion && !(applicationVersion == rhs.applicationVersion))
+      return false;
+    if (__isset.workflowTemplateId != rhs.__isset.workflowTemplateId)
+      return false;
+    else if (__isset.workflowTemplateId && !(workflowTemplateId == rhs.workflowTemplateId))
+      return false;
+    if (__isset.workflowTemplateVersion != rhs.__isset.workflowTemplateVersion)
+      return false;
+    else if (__isset.workflowTemplateVersion && !(workflowTemplateVersion == rhs.workflowTemplateVersion))
+      return false;
+    if (__isset.userConfigurationData != rhs.__isset.userConfigurationData)
+      return false;
+    else if (__isset.userConfigurationData && !(userConfigurationData == rhs.userConfigurationData))
+      return false;
+    if (__isset.workflowExecutionInstanceId != rhs.__isset.workflowExecutionInstanceId)
+      return false;
+    else if (__isset.workflowExecutionInstanceId && !(workflowExecutionInstanceId == rhs.workflowExecutionInstanceId))
+      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.stateChangeList != rhs.__isset.stateChangeList)
+      return false;
+    else if (__isset.stateChangeList && !(stateChangeList == rhs.stateChangeList))
+      return false;
+    if (__isset.workflowNodeDetailsList != rhs.__isset.workflowNodeDetailsList)
+      return false;
+    else if (__isset.workflowNodeDetailsList && !(workflowNodeDetailsList == rhs.workflowNodeDetailsList))
+      return false;
+    if (__isset.errors != rhs.__isset.errors)
+      return false;
+    else if (__isset.errors && !(errors == rhs.errors))
+      return false;
+    return true;
+  }
+  bool operator != (const Experiment &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Experiment & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(Experiment &a, Experiment &b);
+
+
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.cpp
new file mode 100644
index 0000000..656aed3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.cpp
@@ -0,0 +1,17 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "workspaceModel_constants.h"
+
+
+
+const workspaceModelConstants g_workspaceModel_constants;
+
+workspaceModelConstants::workspaceModelConstants() {
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.h
new file mode 100644
index 0000000..d3417fd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.h
@@ -0,0 +1,24 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef workspaceModel_CONSTANTS_H
+#define workspaceModel_CONSTANTS_H
+
+#include "workspaceModel_types.h"
+
+
+
+class workspaceModelConstants {
+ public:
+  workspaceModelConstants();
+
+};
+
+extern const workspaceModelConstants g_workspaceModel_constants;
+
+
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.cpp
new file mode 100644
index 0000000..dd81192
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.cpp
@@ -0,0 +1,464 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "workspaceModel_types.h"
+
+#include <algorithm>
+
+
+
+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;
+  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();
+  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);
+}
+
+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 _size0;
+            ::apache::thrift::protocol::TType _etype3;
+            xfer += iprot->readListBegin(_etype3, _size0);
+            this->sharedUsers.resize(_size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              xfer += iprot->readString(this->sharedUsers[_i4]);
+            }
+            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 _size5;
+            ::apache::thrift::protocol::TType _etype8;
+            xfer += iprot->readListBegin(_etype8, _size5);
+            this->sharedGroups.resize(_size5);
+            uint32_t _i9;
+            for (_i9 = 0; _i9 < _size5; ++_i9)
+            {
+              xfer += iprot->readString(this->sharedGroups[_i9]);
+            }
+            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;
+  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 _iter10;
+      for (_iter10 = this->sharedUsers.begin(); _iter10 != this->sharedUsers.end(); ++_iter10)
+      {
+        xfer += oprot->writeString((*_iter10));
+      }
+      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 _iter11;
+      for (_iter11 = this->sharedGroups.begin(); _iter11 != this->sharedGroups.end(); ++_iter11)
+      {
+        xfer += oprot->writeString((*_iter11));
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  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);
+}
+
+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 _size12;
+            ::apache::thrift::protocol::TType _etype15;
+            xfer += iprot->readListBegin(_etype15, _size12);
+            this->groupList.resize(_size12);
+            uint32_t _i16;
+            for (_i16 = 0; _i16 < _size12; ++_i16)
+            {
+              xfer += this->groupList[_i16].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;
+  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 _iter17;
+      for (_iter17 = this->groupList.begin(); _iter17 != this->groupList.end(); ++_iter17)
+      {
+        xfer += (*_iter17).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  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);
+}
+
+const char* Gateway::ascii_fingerprint = "07A9615F837F7D0A952B595DD3020972";
+const uint8_t Gateway::binary_fingerprint[16] = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
+
+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;
+  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->gatewayId);
+          isset_gatewayId = 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;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_name)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Gateway::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Gateway");
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->name);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(Gateway &a, Gateway &b) {
+  using ::std::swap;
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.name, b.name);
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.h
new file mode 100644
index 0000000..340fd54
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.h
@@ -0,0 +1,273 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#ifndef workspaceModel_TYPES_H
+#define workspaceModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "experimentModel_types.h"
+
+
+
+
+typedef struct _Group__isset {
+  _Group__isset() : description(false) {}
+  bool description;
+} _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() : groupName(), description() {
+  }
+
+  virtual ~Group() throw() {}
+
+  std::string groupName;
+  std::string description;
+
+  _Group__isset __isset;
+
+  void __set_groupName(const std::string& val) {
+    groupName = val;
+  }
+
+  void __set_description(const std::string& val) {
+    description = val;
+    __isset.description = true;
+  }
+
+  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;
+
+};
+
+void swap(Group &a, Group &b);
+
+typedef struct _Project__isset {
+  _Project__isset() : description(false), creationTime(false), sharedUsers(false), sharedGroups(false) {}
+  bool description;
+  bool creationTime;
+  bool sharedUsers;
+  bool sharedGroups;
+} _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() : projectID("DEFAULT"), 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) {
+    projectID = val;
+  }
+
+  void __set_owner(const std::string& val) {
+    owner = val;
+  }
+
+  void __set_name(const std::string& val) {
+    name = val;
+  }
+
+  void __set_description(const std::string& val) {
+    description = val;
+    __isset.description = true;
+  }
+
+  void __set_creationTime(const int64_t val) {
+    creationTime = val;
+    __isset.creationTime = true;
+  }
+
+  void __set_sharedUsers(const std::vector<std::string> & val) {
+    sharedUsers = val;
+    __isset.sharedUsers = true;
+  }
+
+  void __set_sharedGroups(const std::vector<std::string> & val) {
+    sharedGroups = val;
+    __isset.sharedGroups = true;
+  }
+
+  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;
+
+};
+
+void swap(Project &a, Project &b);
+
+typedef struct _User__isset {
+  _User__isset() : groupList(false) {}
+  bool groupList;
+} _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() : userName() {
+  }
+
+  virtual ~User() throw() {}
+
+  std::string userName;
+  std::vector<Group>  groupList;
+
+  _User__isset __isset;
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_groupList(const std::vector<Group> & val) {
+    groupList = val;
+    __isset.groupList = true;
+  }
+
+  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;
+
+};
+
+void swap(User &a, User &b);
+
+
+class Gateway {
+ 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};
+
+  Gateway() : gatewayId("DO_NOT_SET_AT_CLIENTS"), name() {
+  }
+
+  virtual ~Gateway() throw() {}
+
+  std::string gatewayId;
+  std::string name;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
+  void __set_name(const std::string& val) {
+    name = val;
+  }
+
+  bool operator == (const Gateway & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(name == rhs.name))
+      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;
+
+};
+
+void swap(Gateway &a, Gateway &b);
+
+
+
+#endif


[04/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
new file mode 100644
index 0000000..62f7fba
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
@@ -0,0 +1,3670 @@
+<?php
+namespace Airavata\Model\Workspace\Experiment;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * 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 CANCELED = 5;
+  const COMPLETED = 6;
+  const FAILED = 7;
+  const UNKNOWN = 8;
+  static public $__names = array(
+    0 => 'CREATED',
+    1 => 'VALIDATED',
+    2 => 'SCHEDULED',
+    3 => 'LAUNCHED',
+    4 => 'EXECUTING',
+    5 => 'CANCELED',
+    6 => 'COMPLETED',
+    7 => 'FAILED',
+    8 => 'UNKNOWN',
+  );
+}
+
+final class WorkflowNodeState {
+  const INVOKED = 0;
+  const EXECUTING = 1;
+  const CANCELED = 2;
+  const COMPLETED = 3;
+  const FAILED = 4;
+  const UNKNOWN = 5;
+  static public $__names = array(
+    0 => 'INVOKED',
+    1 => 'EXECUTING',
+    2 => 'CANCELED',
+    3 => 'COMPLETED',
+    4 => 'FAILED',
+    5 => 'UNKNOWN',
+  );
+}
+
+final class TaskState {
+  const WAITING = 0;
+  const STARTED = 1;
+  const PRE_PROCESSING = 2;
+  const CONFIGURING_WORKSPACE = 3;
+  const INPUT_DATA_STAGING = 4;
+  const OUTPUT_DATA_STAGING = 5;
+  const POST_PROCESSING = 6;
+  const EXECUTING = 7;
+  const CANCELED = 8;
+  const COMPLETED = 9;
+  const FAILED = 10;
+  const UNKNOWN = 11;
+  static public $__names = array(
+    0 => 'WAITING',
+    1 => 'STARTED',
+    2 => 'PRE_PROCESSING',
+    3 => 'CONFIGURING_WORKSPACE',
+    4 => 'INPUT_DATA_STAGING',
+    5 => 'OUTPUT_DATA_STAGING',
+    6 => 'POST_PROCESSING',
+    7 => 'EXECUTING',
+    8 => 'CANCELED',
+    9 => 'COMPLETED',
+    10 => 'FAILED',
+    11 => 'UNKNOWN',
+  );
+}
+
+final class JobState {
+  const SUBMITTED = 0;
+  const UN_SUBMITTED = 1;
+  const SETUP = 2;
+  const QUEUED = 3;
+  const ACTIVE = 4;
+  const COMPLETE = 5;
+  const CANCELED = 6;
+  const FAILED = 7;
+  const HELD = 8;
+  const SUSPENDED = 9;
+  const UNKNOWN = 10;
+  static public $__names = array(
+    0 => 'SUBMITTED',
+    1 => 'UN_SUBMITTED',
+    2 => 'SETUP',
+    3 => 'QUEUED',
+    4 => 'ACTIVE',
+    5 => 'COMPLETE',
+    6 => 'CANCELED',
+    7 => 'FAILED',
+    8 => 'HELD',
+    9 => 'SUSPENDED',
+    10 => 'UNKNOWN',
+  );
+}
+
+final class TransferState {
+  const DIRECTORY_SETUP = 0;
+  const UPLOAD = 1;
+  const DOWNLOAD = 2;
+  const ACTIVE = 3;
+  const COMPLETE = 4;
+  const STDOUT_DOWNLOAD = 5;
+  const STDERROR_DOWNLOAD = 6;
+  const CANCELED = 7;
+  const FAILED = 8;
+  const HELD = 9;
+  const SUSPENDED = 10;
+  const UNKNOWN = 11;
+  static public $__names = array(
+    0 => 'DIRECTORY_SETUP',
+    1 => 'UPLOAD',
+    2 => 'DOWNLOAD',
+    3 => 'ACTIVE',
+    4 => 'COMPLETE',
+    5 => 'STDOUT_DOWNLOAD',
+    6 => 'STDERROR_DOWNLOAD',
+    7 => 'CANCELED',
+    8 => 'FAILED',
+    9 => 'HELD',
+    10 => 'SUSPENDED',
+    11 => 'UNKNOWN',
+  );
+}
+
+final class ActionableGroup {
+  const RESOURCE_ADMINS = 0;
+  const AIRAVATA_ADMINS = 1;
+  const GATEWAYS_ADMINS = 2;
+  const USER = 3;
+  const CANNOT_BE_DETERMINED = 4;
+  static public $__names = array(
+    0 => 'RESOURCE_ADMINS',
+    1 => 'AIRAVATA_ADMINS',
+    2 => 'GATEWAYS_ADMINS',
+    3 => 'USER',
+    4 => 'CANNOT_BE_DETERMINED',
+  );
+}
+
+final class ErrorCategory {
+  const FILE_SYSTEM_FAILURE = 0;
+  const APPLICATION_FAILURE = 1;
+  const RESOURCE_NODE_FAILURE = 2;
+  const DISK_FULL = 3;
+  const INSUFFICIENT_ALLOCATION = 4;
+  const SYSTEM_MAINTENANCE = 5;
+  const AIRAVATA_INTERNAL_ERROR = 6;
+  const CANNOT_BE_DETERMINED = 7;
+  static public $__names = array(
+    0 => 'FILE_SYSTEM_FAILURE',
+    1 => 'APPLICATION_FAILURE',
+    2 => 'RESOURCE_NODE_FAILURE',
+    3 => 'DISK_FULL',
+    4 => 'INSUFFICIENT_ALLOCATION',
+    5 => 'SYSTEM_MAINTENANCE',
+    6 => 'AIRAVATA_INTERNAL_ERROR',
+    7 => 'CANNOT_BE_DETERMINED',
+  );
+}
+
+final class CorrectiveAction {
+  const RETRY_SUBMISSION = 0;
+  const CONTACT_SUPPORT = 1;
+  const CANNOT_BE_DETERMINED = 2;
+  static public $__names = array(
+    0 => 'RETRY_SUBMISSION',
+    1 => 'CONTACT_SUPPORT',
+    2 => 'CANNOT_BE_DETERMINED',
+  );
+}
+
+class ExperimentStatus {
+  static $_TSPEC;
+
+  public $experimentState = null;
+  public $timeOfStateChange = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'experimentState',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'timeOfStateChange',
+          'type' => TType::I64,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['experimentState'])) {
+        $this->experimentState = $vals['experimentState'];
+      }
+      if (isset($vals['timeOfStateChange'])) {
+        $this->timeOfStateChange = $vals['timeOfStateChange'];
+      }
+    }
+  }
+
+  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->experimentState);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->timeOfStateChange);
+          } 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->experimentState !== null) {
+      $xfer += $output->writeFieldBegin('experimentState', TType::I32, 1);
+      $xfer += $output->writeI32($this->experimentState);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->timeOfStateChange !== null) {
+      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+      $xfer += $output->writeI64($this->timeOfStateChange);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class WorkflowNodeStatus {
+  static $_TSPEC;
+
+  public $workflowNodeState = null;
+  public $timeOfStateChange = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'workflowNodeState',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'timeOfStateChange',
+          'type' => TType::I64,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['workflowNodeState'])) {
+        $this->workflowNodeState = $vals['workflowNodeState'];
+      }
+      if (isset($vals['timeOfStateChange'])) {
+        $this->timeOfStateChange = $vals['timeOfStateChange'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'WorkflowNodeStatus';
+  }
+
+  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->workflowNodeState);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->timeOfStateChange);
+          } 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('WorkflowNodeStatus');
+    if ($this->workflowNodeState !== null) {
+      $xfer += $output->writeFieldBegin('workflowNodeState', TType::I32, 1);
+      $xfer += $output->writeI32($this->workflowNodeState);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->timeOfStateChange !== null) {
+      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+      $xfer += $output->writeI64($this->timeOfStateChange);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class TaskStatus {
+  static $_TSPEC;
+
+  public $executionState = null;
+  public $timeOfStateChange = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'executionState',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'timeOfStateChange',
+          'type' => TType::I64,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['executionState'])) {
+        $this->executionState = $vals['executionState'];
+      }
+      if (isset($vals['timeOfStateChange'])) {
+        $this->timeOfStateChange = $vals['timeOfStateChange'];
+      }
+    }
+  }
+
+  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->executionState);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->timeOfStateChange);
+          } 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->executionState !== null) {
+      $xfer += $output->writeFieldBegin('executionState', TType::I32, 1);
+      $xfer += $output->writeI32($this->executionState);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->timeOfStateChange !== null) {
+      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+      $xfer += $output->writeI64($this->timeOfStateChange);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class JobStatus {
+  static $_TSPEC;
+
+  public $jobState = null;
+  public $timeOfStateChange = 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,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['jobState'])) {
+        $this->jobState = $vals['jobState'];
+      }
+      if (isset($vals['timeOfStateChange'])) {
+        $this->timeOfStateChange = $vals['timeOfStateChange'];
+      }
+    }
+  }
+
+  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;
+        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();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class TransferStatus {
+  static $_TSPEC;
+
+  public $transferState = null;
+  public $timeOfStateChange = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'transferState',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'timeOfStateChange',
+          'type' => TType::I64,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['transferState'])) {
+        $this->transferState = $vals['transferState'];
+      }
+      if (isset($vals['timeOfStateChange'])) {
+        $this->timeOfStateChange = $vals['timeOfStateChange'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'TransferStatus';
+  }
+
+  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->transferState);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->timeOfStateChange);
+          } 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('TransferStatus');
+    if ($this->transferState !== null) {
+      $xfer += $output->writeFieldBegin('transferState', TType::I32, 1);
+      $xfer += $output->writeI32($this->transferState);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->timeOfStateChange !== null) {
+      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+      $xfer += $output->writeI64($this->timeOfStateChange);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ApplicationStatus {
+  static $_TSPEC;
+
+  public $applicationState = null;
+  public $timeOfStateChange = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'applicationState',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'timeOfStateChange',
+          'type' => TType::I64,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['applicationState'])) {
+        $this->applicationState = $vals['applicationState'];
+      }
+      if (isset($vals['timeOfStateChange'])) {
+        $this->timeOfStateChange = $vals['timeOfStateChange'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ApplicationStatus';
+  }
+
+  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->applicationState);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->timeOfStateChange);
+          } 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('ApplicationStatus');
+    if ($this->applicationState !== null) {
+      $xfer += $output->writeFieldBegin('applicationState', TType::STRING, 1);
+      $xfer += $output->writeString($this->applicationState);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->timeOfStateChange !== null) {
+      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+      $xfer += $output->writeI64($this->timeOfStateChange);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class DataObjectType {
+  static $_TSPEC;
+
+  public $key = null;
+  public $value = null;
+  public $type = null;
+  public $metaData = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'key',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'value',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'type',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'metaData',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['key'])) {
+        $this->key = $vals['key'];
+      }
+      if (isset($vals['value'])) {
+        $this->value = $vals['value'];
+      }
+      if (isset($vals['type'])) {
+        $this->type = $vals['type'];
+      }
+      if (isset($vals['metaData'])) {
+        $this->metaData = $vals['metaData'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DataObjectType';
+  }
+
+  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->key);
+          } 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::STRING) {
+            $xfer += $input->readString($this->type);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->metaData);
+          } 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('DataObjectType');
+    if ($this->key !== null) {
+      $xfer += $output->writeFieldBegin('key', TType::STRING, 1);
+      $xfer += $output->writeString($this->key);
+      $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::STRING, 3);
+      $xfer += $output->writeString($this->type);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->metaData !== null) {
+      $xfer += $output->writeFieldBegin('metaData', TType::STRING, 4);
+      $xfer += $output->writeString($this->metaData);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ComputationalResourceScheduling {
+  static $_TSPEC;
+
+  public $resourceHostId = null;
+  public $totalCPUCount = null;
+  public $nodeCount = null;
+  public $numberOfThreads = null;
+  public $queueName = null;
+  public $wallTimeLimit = null;
+  public $jobStartTime = null;
+  public $totalPhysicalMemory = null;
+  public $ComputationalProjectAccount = 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' => 'jobStartTime',
+          'type' => TType::I32,
+          ),
+        8 => array(
+          'var' => 'totalPhysicalMemory',
+          'type' => TType::I32,
+          ),
+        9 => array(
+          'var' => 'ComputationalProjectAccount',
+          '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['jobStartTime'])) {
+        $this->jobStartTime = $vals['jobStartTime'];
+      }
+      if (isset($vals['totalPhysicalMemory'])) {
+        $this->totalPhysicalMemory = $vals['totalPhysicalMemory'];
+      }
+      if (isset($vals['ComputationalProjectAccount'])) {
+        $this->ComputationalProjectAccount = $vals['ComputationalProjectAccount'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ComputationalResourceScheduling';
+  }
+
+  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->jobStartTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->totalPhysicalMemory);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->ComputationalProjectAccount);
+          } 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('ComputationalResourceScheduling');
+    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->jobStartTime !== null) {
+      $xfer += $output->writeFieldBegin('jobStartTime', TType::I32, 7);
+      $xfer += $output->writeI32($this->jobStartTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->totalPhysicalMemory !== null) {
+      $xfer += $output->writeFieldBegin('totalPhysicalMemory', TType::I32, 8);
+      $xfer += $output->writeI32($this->totalPhysicalMemory);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ComputationalProjectAccount !== null) {
+      $xfer += $output->writeFieldBegin('ComputationalProjectAccount', TType::STRING, 9);
+      $xfer += $output->writeString($this->ComputationalProjectAccount);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class AdvancedInputDataHandling {
+  static $_TSPEC;
+
+  public $stageInputFilesToWorkingDir = false;
+  public $parentWorkingDirectory = null;
+  public $uniqueWorkingDirectory = null;
+  public $cleanUpWorkingDirAfterJob = false;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'stageInputFilesToWorkingDir',
+          'type' => TType::BOOL,
+          ),
+        2 => array(
+          'var' => 'parentWorkingDirectory',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'uniqueWorkingDirectory',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'cleanUpWorkingDirAfterJob',
+          'type' => TType::BOOL,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['stageInputFilesToWorkingDir'])) {
+        $this->stageInputFilesToWorkingDir = $vals['stageInputFilesToWorkingDir'];
+      }
+      if (isset($vals['parentWorkingDirectory'])) {
+        $this->parentWorkingDirectory = $vals['parentWorkingDirectory'];
+      }
+      if (isset($vals['uniqueWorkingDirectory'])) {
+        $this->uniqueWorkingDirectory = $vals['uniqueWorkingDirectory'];
+      }
+      if (isset($vals['cleanUpWorkingDirAfterJob'])) {
+        $this->cleanUpWorkingDirAfterJob = $vals['cleanUpWorkingDirAfterJob'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'AdvancedInputDataHandling';
+  }
+
+  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->stageInputFilesToWorkingDir);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->parentWorkingDirectory);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->uniqueWorkingDirectory);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->cleanUpWorkingDirAfterJob);
+          } 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('AdvancedInputDataHandling');
+    if ($this->stageInputFilesToWorkingDir !== null) {
+      $xfer += $output->writeFieldBegin('stageInputFilesToWorkingDir', TType::BOOL, 1);
+      $xfer += $output->writeBool($this->stageInputFilesToWorkingDir);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->parentWorkingDirectory !== null) {
+      $xfer += $output->writeFieldBegin('parentWorkingDirectory', TType::STRING, 2);
+      $xfer += $output->writeString($this->parentWorkingDirectory);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->uniqueWorkingDirectory !== null) {
+      $xfer += $output->writeFieldBegin('uniqueWorkingDirectory', TType::STRING, 3);
+      $xfer += $output->writeString($this->uniqueWorkingDirectory);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->cleanUpWorkingDirAfterJob !== null) {
+      $xfer += $output->writeFieldBegin('cleanUpWorkingDirAfterJob', TType::BOOL, 4);
+      $xfer += $output->writeBool($this->cleanUpWorkingDirAfterJob);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class AdvancedOutputDataHandling {
+  static $_TSPEC;
+
+  public $outputDataDir = null;
+  public $dataRegistryURL = null;
+  public $persistOutputData = true;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        2 => array(
+          'var' => 'outputDataDir',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'dataRegistryURL',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'persistOutputData',
+          'type' => TType::BOOL,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['outputDataDir'])) {
+        $this->outputDataDir = $vals['outputDataDir'];
+      }
+      if (isset($vals['dataRegistryURL'])) {
+        $this->dataRegistryURL = $vals['dataRegistryURL'];
+      }
+      if (isset($vals['persistOutputData'])) {
+        $this->persistOutputData = $vals['persistOutputData'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'AdvancedOutputDataHandling';
+  }
+
+  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 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->outputDataDir);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->dataRegistryURL);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->persistOutputData);
+          } 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('AdvancedOutputDataHandling');
+    if ($this->outputDataDir !== null) {
+      $xfer += $output->writeFieldBegin('outputDataDir', TType::STRING, 2);
+      $xfer += $output->writeString($this->outputDataDir);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataRegistryURL !== null) {
+      $xfer += $output->writeFieldBegin('dataRegistryURL', TType::STRING, 3);
+      $xfer += $output->writeString($this->dataRegistryURL);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->persistOutputData !== null) {
+      $xfer += $output->writeFieldBegin('persistOutputData', TType::BOOL, 4);
+      $xfer += $output->writeBool($this->persistOutputData);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class QualityOfServiceParams {
+  static $_TSPEC;
+
+  public $startExecutionAt = null;
+  public $executeBefore = null;
+  public $numberofRetries = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'startExecutionAt',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'executeBefore',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'numberofRetries',
+          'type' => TType::I32,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['startExecutionAt'])) {
+        $this->startExecutionAt = $vals['startExecutionAt'];
+      }
+      if (isset($vals['executeBefore'])) {
+        $this->executeBefore = $vals['executeBefore'];
+      }
+      if (isset($vals['numberofRetries'])) {
+        $this->numberofRetries = $vals['numberofRetries'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'QualityOfServiceParams';
+  }
+
+  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->startExecutionAt);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->executeBefore);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->numberofRetries);
+          } 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('QualityOfServiceParams');
+    if ($this->startExecutionAt !== null) {
+      $xfer += $output->writeFieldBegin('startExecutionAt', TType::STRING, 1);
+      $xfer += $output->writeString($this->startExecutionAt);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->executeBefore !== null) {
+      $xfer += $output->writeFieldBegin('executeBefore', TType::STRING, 2);
+      $xfer += $output->writeString($this->executeBefore);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->numberofRetries !== null) {
+      $xfer += $output->writeFieldBegin('numberofRetries', TType::I32, 3);
+      $xfer += $output->writeI32($this->numberofRetries);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class UserConfigurationData {
+  static $_TSPEC;
+
+  public $airavataAutoSchedule = false;
+  public $overrideManualScheduledParams = false;
+  public $shareExperimentPublicly = false;
+  public $computationalResourceScheduling = null;
+  public $advanceInputDataHandling = null;
+  public $advanceOutputDataHandling = null;
+  public $qosParams = null;
+
+  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\Workspace\Experiment\ComputationalResourceScheduling',
+          ),
+        5 => array(
+          'var' => 'advanceInputDataHandling',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling',
+          ),
+        6 => array(
+          'var' => 'advanceOutputDataHandling',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling',
+          ),
+        7 => array(
+          'var' => 'qosParams',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\QualityOfServiceParams',
+          ),
+        );
+    }
+    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['advanceInputDataHandling'])) {
+        $this->advanceInputDataHandling = $vals['advanceInputDataHandling'];
+      }
+      if (isset($vals['advanceOutputDataHandling'])) {
+        $this->advanceOutputDataHandling = $vals['advanceOutputDataHandling'];
+      }
+      if (isset($vals['qosParams'])) {
+        $this->qosParams = $vals['qosParams'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'UserConfigurationData';
+  }
+
+  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\Workspace\Experiment\ComputationalResourceScheduling();
+            $xfer += $this->computationalResourceScheduling->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRUCT) {
+            $this->advanceInputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling();
+            $xfer += $this->advanceInputDataHandling->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRUCT) {
+            $this->advanceOutputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling();
+            $xfer += $this->advanceOutputDataHandling->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRUCT) {
+            $this->qosParams = new \Airavata\Model\Workspace\Experiment\QualityOfServiceParams();
+            $xfer += $this->qosParams->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('UserConfigurationData');
+    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->advanceInputDataHandling !== null) {
+      if (!is_object($this->advanceInputDataHandling)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('advanceInputDataHandling', TType::STRUCT, 5);
+      $xfer += $this->advanceInputDataHandling->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->advanceOutputDataHandling !== null) {
+      if (!is_object($this->advanceOutputDataHandling)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('advanceOutputDataHandling', TType::STRUCT, 6);
+      $xfer += $this->advanceOutputDataHandling->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->qosParams !== null) {
+      if (!is_object($this->qosParams)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('qosParams', TType::STRUCT, 7);
+      $xfer += $this->qosParams->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ErrorDetails {
+  static $_TSPEC;
+
+  public $errorID = "DO_NOT_SET_AT_CLIENTS";
+  public $creationTime = null;
+  public $actualErrorMessage = null;
+  public $userFriendlyMessage = null;
+  public $errorCategory = null;
+  public $transientOrPersistent = false;
+  public $correctiveAction = null;
+  public $actionableGroup = null;
+  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' => 'errorCategory',
+          'type' => TType::I32,
+          ),
+        6 => array(
+          'var' => 'transientOrPersistent',
+          'type' => TType::BOOL,
+          ),
+        7 => array(
+          'var' => 'correctiveAction',
+          'type' => TType::I32,
+          ),
+        8 => array(
+          'var' => 'actionableGroup',
+          'type' => TType::I32,
+          ),
+        9 => 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['errorCategory'])) {
+        $this->errorCategory = $vals['errorCategory'];
+      }
+      if (isset($vals['transientOrPersistent'])) {
+        $this->transientOrPersistent = $vals['transientOrPersistent'];
+      }
+      if (isset($vals['correctiveAction'])) {
+        $this->correctiveAction = $vals['correctiveAction'];
+      }
+      if (isset($vals['actionableGroup'])) {
+        $this->actionableGroup = $vals['actionableGroup'];
+      }
+      if (isset($vals['rootCauseErrorIdList'])) {
+        $this->rootCauseErrorIdList = $vals['rootCauseErrorIdList'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ErrorDetails';
+  }
+
+  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::I32) {
+            $xfer += $input->readI32($this->errorCategory);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->transientOrPersistent);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->correctiveAction);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->actionableGroup);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          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('ErrorDetails');
+    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->errorCategory !== null) {
+      $xfer += $output->writeFieldBegin('errorCategory', TType::I32, 5);
+      $xfer += $output->writeI32($this->errorCategory);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->transientOrPersistent !== null) {
+      $xfer += $output->writeFieldBegin('transientOrPersistent', TType::BOOL, 6);
+      $xfer += $output->writeBool($this->transientOrPersistent);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->correctiveAction !== null) {
+      $xfer += $output->writeFieldBegin('correctiveAction', TType::I32, 7);
+      $xfer += $output->writeI32($this->correctiveAction);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->actionableGroup !== null) {
+      $xfer += $output->writeFieldBegin('actionableGroup', TType::I32, 8);
+      $xfer += $output->writeI32($this->actionableGroup);
+      $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, 9);
+      {
+        $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;
+  }
+
+}
+
+class JobDetails {
+  static $_TSPEC;
+
+  public $jobID = "DO_NOT_SET_AT_CLIENTS";
+  public $jobDescription = null;
+  public $creationTime = null;
+  public $jobStatus = null;
+  public $applicationStatus = null;
+  public $errors = null;
+  public $computeResourceConsumed = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'jobID',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'jobDescription',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        4 => array(
+          'var' => 'jobStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\JobStatus',
+          ),
+        5 => array(
+          'var' => 'applicationStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\ApplicationStatus',
+          ),
+        6 => array(
+          'var' => 'errors',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\ErrorDetails',
+            ),
+          ),
+        7 => array(
+          'var' => 'computeResourceConsumed',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['jobID'])) {
+        $this->jobID = $vals['jobID'];
+      }
+      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['applicationStatus'])) {
+        $this->applicationStatus = $vals['applicationStatus'];
+      }
+      if (isset($vals['errors'])) {
+        $this->errors = $vals['errors'];
+      }
+      if (isset($vals['computeResourceConsumed'])) {
+        $this->computeResourceConsumed = $vals['computeResourceConsumed'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'JobDetails';
+  }
+
+  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->jobDescription);
+          } 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::STRUCT) {
+            $this->jobStatus = new \Airavata\Model\Workspace\Experiment\JobStatus();
+            $xfer += $this->jobStatus->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRUCT) {
+            $this->applicationStatus = new \Airavata\Model\Workspace\Experiment\ApplicationStatus();
+            $xfer += $this->applicationStatus->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::LST) {
+            $this->errors = array();
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+            {
+              $elem12 = null;
+              $elem12 = new \Airavata\Model\Workspace\Experiment\ErrorDetails();
+              $xfer += $elem12->read($input);
+              $this->errors []= $elem12;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->computeResourceConsumed);
+          } 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('JobDetails');
+    if ($this->jobID !== null) {
+      $xfer += $output->writeFieldBegin('jobID', TType::STRING, 1);
+      $xfer += $output->writeString($this->jobID);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->jobDescription !== null) {
+      $xfer += $output->writeFieldBegin('jobDescription', TType::STRING, 2);
+      $xfer += $output->writeString($this->jobDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 3);
+      $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, 4);
+      $xfer += $this->jobStatus->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationStatus !== null) {
+      if (!is_object($this->applicationStatus)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('applicationStatus', TType::STRUCT, 5);
+      $xfer += $this->applicationStatus->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, 6);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->errors));
+        {
+          foreach ($this->errors as $iter13)
+          {
+            $xfer += $iter13->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->computeResourceConsumed !== null) {
+      $xfer += $output->writeFieldBegin('computeResourceConsumed', TType::STRING, 7);
+      $xfer += $output->writeString($this->computeResourceConsumed);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class DataTransferDetails {
+  static $_TSPEC;
+
+  public $transferID = "DO_NOT_SET_AT_CLIENTS";
+  public $creationTime = null;
+  public $transferDescription = null;
+  public $transferStatus = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'transferID',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        3 => array(
+          'var' => 'transferDescription',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'transferStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\TransferStatus',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['transferID'])) {
+        $this->transferID = $vals['transferID'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['transferDescription'])) {
+        $this->transferDescription = $vals['transferDescription'];
+      }
+      if (isset($vals['transferStatus'])) {
+        $this->transferStatus = $vals['transferStatus'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DataTransferDetails';
+  }
+
+  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->transferID);
+          } 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->transferDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->transferStatus = new \Airavata\Model\Workspace\Experiment\TransferStatus();
+            $xfer += $this->transferStatus->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('DataTransferDetails');
+    if ($this->transferID !== null) {
+      $xfer += $output->writeFieldBegin('transferID', TType::STRING, 1);
+      $xfer += $output->writeString($this->transferID);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 2);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->transferDescription !== null) {
+      $xfer += $output->writeFieldBegin('transferDescription', TType::STRING, 3);
+      $xfer += $output->writeString($this->transferDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->transferStatus !== null) {
+      if (!is_object($this->transferStatus)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('transferStatus', TType::STRUCT, 4);
+      $xfer += $this->transferStatus->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class TaskDetails {
+  static $_TSPEC;
+
+  public $taskID = "DO_NOT_SET_AT_CLIENTS";
+  public $creationTime = null;
+  public $applicationId = null;
+  public $applicationVersion = null;
+  public $applicationInputs = null;
+  public $applicationOutputs = null;
+  public $taskScheduling = null;
+  public $advancedInputDataHandling = null;
+  public $advancedOutputDataHandling = null;
+  public $taskStatus = null;
+  public $jobDetailsList = null;
+  public $dataTransferDetailsList = null;
+  public $errors = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'taskID',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        3 => array(
+          'var' => 'applicationId',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'applicationVersion',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'applicationInputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
+            ),
+          ),
+        6 => array(
+          'var' => 'applicationOutputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
+            ),
+          ),
+        7 => array(
+          'var' => 'taskScheduling',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling',
+          ),
+        8 => array(
+          'var' => 'advancedInputDataHandling',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling',
+          ),
+        9 => array(
+          'var' => 'advancedOutputDataHandling',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling',
+          ),
+        10 => array(
+          'var' => 'taskStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\TaskStatus',
+          ),
+        11 => array(
+          'var' => 'jobDetailsList',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\JobDetails',
+            ),
+          ),
+        12 => array(
+          'var' => 'dataTransferDetailsList',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\DataTransferDetails',
+            ),
+          ),
+        13 => array(
+          'var' => 'errors',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\ErrorDetails',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['taskID'])) {
+        $this->taskID = $vals['taskID'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['applicationId'])) {
+        $this->applicationId = $vals['applicationId'];
+      }
+      if (isset($vals['applicationVersion'])) {
+        $this->applicationVersion = $vals['applicationVersion'];
+      }
+      if (isset($vals['applicationInputs'])) {
+        $this->applicationInputs = $vals['applicationInputs'];
+      }
+      if (isset($vals['applicationOutputs'])) {
+        $this->applicationOutputs = $vals['applicationOutputs'];
+      }
+      if (isset($vals['taskScheduling'])) {
+        $this->taskScheduling = $vals['taskScheduling'];
+      }
+      if (isset($vals['advancedInputDataHandling'])) {
+        $this->advancedInputDataHandling = $vals['advancedInputDataHandling'];
+      }
+      if (isset($vals['advancedOutputDataHandling'])) {
+        $this->advancedOutputDataHandling = $vals['advancedOutputDataHandling'];
+      }
+      if (isset($vals['taskStatus'])) {
+        $this->taskStatus = $vals['taskStatus'];
+      }
+      if (isset($vals['jobDetailsList'])) {
+        $this->jobDetailsList = $vals['jobDetailsList'];
+      }
+      if (isset($vals['dataTransferDetailsList'])) {
+        $this->dataTransferDetailsList = $vals['dataTransferDetailsList'];
+      }
+      if (isset($vals['errors'])) {
+        $this->errors = $vals['errors'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'TaskDetails';
+  }
+
+  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::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationVersion);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::LST) {
+            $this->applicationInputs = array();
+            $_size14 = 0;
+            $_etype17 = 0;
+            $xfer += $input->readListBegin($_etype17, $_size14);
+            for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
+            {
+              $elem19 = null;
+              $elem19 = new \Airavata\Model\Workspace\Experiment\DataObjectType();
+              $xfer += $elem19->read($input);
+              $this->applicationInputs []= $elem19;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::LST) {
+            $this->applicationOutputs = array();
+            $_size20 = 0;
+            $_etype23 = 0;
+            $xfer += $input->readListBegin($_etype23, $_size20);
+            for ($_i24 = 0; $_i24 < $_size20; ++$_i24)
+            {
+              $elem25 = null;
+              $elem25 = new \Airavata\Model\Workspace\Experiment\DataObjectType();
+              $xfer += $elem25->read($input);
+              $this->applicationOutputs []= $elem25;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRUCT) {
+            $this->taskScheduling = new \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling();
+            $xfer += $this->taskScheduling->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRUCT) {
+            $this->advancedInputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling();
+            $xfer += $this->advancedInputDataHandling->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRUCT) {
+            $this->advancedOutputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling();
+            $xfer += $this->advancedOutputDataHandling->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::STRUCT) {
+            $this->taskStatus = new \Airavata\Model\Workspace\Experiment\TaskStatus();
+            $xfer += $this->taskStatus->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::LST) {
+            $this->jobDetailsList = array();
+            $_size26 = 0;
+            $_etype29 = 0;
+            $xfer += $input->readListBegin($_etype29, $_size26);
+            for ($_i30 = 0; $_i30 < $_size26; ++$_i30)
+            {
+              $elem31 = null;
+              $elem31 = new \Airavata\Model\Workspace\Experiment\JobDetails();
+              $xfer += $elem31->read($input);
+              $this->jobDetailsList []= $elem31;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::LST) {
+            $this->dataTransferDetailsList = array();
+            $_size32 = 0;
+            $_etype35 = 0;
+            $xfer += $input->readListBegin($_etype35, $_size32);
+            for ($_i36 = 0; $_i36 < $_size32; ++$_i36)
+            {
+              $elem37 = null;
+              $elem37 = new \Airavata\Model\Workspace\Experiment\DataTransferDetails();
+              $xfer += $elem37->read($input);
+              $this->dataTransferDetailsList []= $elem37;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
+          if ($ftype == TType::LST) {
+            $this->errors = array();
+            $_size38 = 0;
+            $_etype41 = 0;
+            $xfer += $input->readListBegin($_etype41, $_size38);
+            for ($_i42 = 0; $_i42 < $_size38; ++$_i42)
+            {
+              $elem43 = null;
+              $elem43 = new \Airavata\Model\Workspace\Experiment\ErrorDetails();
+              $xfer += $elem43->read($input);
+              $this->errors []= $elem43;
+            }
+            $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('TaskDetails');
+    if ($this->taskID !== null) {
+      $xfer += $output->writeFieldBegin('taskID', TType::STRING, 1);
+      $xfer += $output->writeString($this->taskID);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 2);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationId !== null) {
+      $xfer += $output->writeFieldBegin('applicationId', TType::STRING, 3);
+      $xfer += $output->writeString($this->applicationId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationVersion !== null) {
+      $xfer += $output->writeFieldBegin('applicationVersion', TType::STRING, 4);
+      $xfer += $output->writeString($this->applicationVersion);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationInputs !== null) {
+      if (!is_array($this->applicationInputs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('applicationInputs', TType::LST, 5);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->applicationInputs));
+        {
+          foreach ($this->applicationInputs as $iter44)
+          {
+            $xfer += $iter44->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationOutputs !== null) {
+      if (!is_array($this->applicationOutputs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('applicationOutputs', TType::LST, 6);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->applicationOutputs));
+        {
+          foreach ($this->applicationOutputs as $iter45)
+          {
+            $xfer += $iter45->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->taskScheduling !== null) {
+      if (!is_object($this->taskScheduling)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('taskScheduling', TType::STRUCT, 7);
+      $xfer += $this->taskScheduling->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->advancedInputDataHandling !== null) {
+      if (!is_object($this->advancedInputDataHandling)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('advancedInputDataHandling', TType::STRUCT, 8);
+      $xfer += $this->advancedInputDataHandling->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->advancedOutputDataHandling !== null) {
+      if (!is_object($this->advancedOutputDataHandling)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('advancedOutputDataHandling', TType::STRUCT, 9);
+      $xfer += $this->advancedOutputDataHandling->write($output);
+      $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, 10);
+      $xfer += $this->taskStatus->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->jobDetailsList !== null) {
+      if (!is_array($this->jobDetailsList)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('jobDetailsList', TType::LST, 11);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->jobDetailsList));
+        {
+          foreach ($this->jobDetailsList as $iter46)
+          {
+            $xfer += $iter46->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataTransferDetailsList !== null) {
+      if (!is_array($this->dataTransferDetailsList)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('dataTransferDetailsList', TType::LST, 12);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->dataTransferDetailsList));
+        {
+          foreach ($this->dataTransferDetailsList as $iter47)
+          {
+            $xfer += $iter47->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $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, 13);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->errors));
+        {
+          foreach ($this->errors as $iter48)
+          {
+            $xfer += $iter48->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class WorkflowNodeDetails {
+  static $_TSPEC;
+
+  public $nodeInstanceId = "DO_NOT_SET_AT_CLIENTS";
+  public $creationTime = null;
+  public $nodeName = "SINGLE_APP_NODE";
+  public $nodeInputs = null;
+  public $nodeOutputs = null;
+  public $workflowNodeStatus = null;
+  public $taskDetailsList = null;
+  public $errors = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'nodeInstanceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        3 => array(
+          'var' => 'nodeName',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'nodeInputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
+            ),
+          ),
+        5 => array(
+          'var' => 'nodeOutputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
+            ),
+          ),
+        6 => array(
+          'var' => 'workflowNodeStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Workspace\Experiment\WorkflowNodeStatus',
+          ),
+        7 => array(
+          'var' => 'taskDetailsList',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\TaskDetails',
+            ),
+          ),
+        8 => array(
+          'var' => 'errors',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\ErrorDetails',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['nodeInstanceId'])) {
+        $this->nodeInstanceId = $vals['nodeInstanceId'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['nodeName'])) {
+        $this->nodeName = $vals['nodeName'];
+      }
+      if (isset($vals['nodeInputs'])) {
+        $this->nodeInputs = $vals['nodeInputs'];
+      }
+      if (isset($vals['nodeOutputs'])) {
+        $this->nodeOutputs = $vals['nodeOutputs'];
+      }
+      if (isset($vals['workflowNodeStatus'])) {
+        $this->workflowNodeStatus = $vals['workflowNodeStatus'];
+      }
+      if (isset($vals['taskDetailsList'])) {
+        $this->taskDetailsList = $vals['taskDetailsList'];
+      }
+      if (isset($vals['errors'])) {
+        $this->errors = $vals['errors'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'WorkflowNodeDetails';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin(

<TRUNCATED>

[28/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata.cpp
deleted file mode 100644
index 3bd2fc4..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/Airavata.cpp
+++ /dev/null
@@ -1,6268 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "Airavata.h"
-
-namespace airavata { namespace api {
-
-uint32_t Airavata_GetAPIVersion_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;
-
-
-  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 Airavata_GetAPIVersion_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_GetAPIVersion_args");
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_GetAPIVersion_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_GetAPIVersion_pargs");
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_GetAPIVersion_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_STRING) {
-          xfer += iprot->readString(this->success);
-          this->__isset.success = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t Airavata_GetAPIVersion_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_GetAPIVersion_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
-    xfer += oprot->writeString(this->success);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_GetAPIVersion_presult::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_STRING) {
-          xfer += iprot->readString((*(this->success)));
-          this->__isset.success = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t Airavata_createProject_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_project = false;
-  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_STRUCT) {
-          xfer += this->project.read(iprot);
-          isset_project = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->userName);
-          isset_userName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_project)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_userName)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_createProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_createProject_args");
-
-  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += this->project.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->userName);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_createProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_createProject_pargs");
-
-  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += (*(this->project)).write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString((*(this->userName)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_createProject_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_STRING) {
-          xfer += iprot->readString(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_createProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_createProject_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
-    xfer += oprot->writeString(this->success);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_createProject_presult::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_STRING) {
-          xfer += iprot->readString((*(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_updateProject_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_project = 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->project.read(iprot);
-          isset_project = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_project)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_updateProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_updateProject_args");
-
-  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += this->project.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_updateProject_pargs");
-
-  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += (*(this->project)).write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateProject_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 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_updateProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_updateProject_result");
-
-  if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateProject_presult::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_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_getProject_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_projectId = 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;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_projectId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_getProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getProject_args");
-
-  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->projectId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getProject_pargs");
-
-  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->projectId)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getProject_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_STRUCT) {
-          xfer += this->success.read(iprot);
-          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_getProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_getProject_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
-    xfer += this->success.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getProject_presult::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_STRUCT) {
-          xfer += (*(this->success)).read(iprot);
-          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_getAllUserProjects_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_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;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_userName)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_getAllUserProjects_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_args");
-
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->userName);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getAllUserProjects_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_pargs");
-
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->userName)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getAllUserProjects_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_LIST) {
-          {
-            this->success.clear();
-            uint32_t _size0;
-            ::apache::thrift::protocol::TType _etype3;
-            xfer += iprot->readListBegin(_etype3, _size0);
-            this->success.resize(_size0);
-            uint32_t _i4;
-            for (_i4 = 0; _i4 < _size0; ++_i4)
-            {
-              xfer += this->success[_i4].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          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_getAllUserProjects_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::Project> ::const_iterator _iter5;
-      for (_iter5 = this->success.begin(); _iter5 != this->success.end(); ++_iter5)
-      {
-        xfer += (*_iter5).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getAllUserProjects_presult::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_LIST) {
-          {
-            (*(this->success)).clear();
-            uint32_t _size6;
-            ::apache::thrift::protocol::TType _etype9;
-            xfer += iprot->readListBegin(_etype9, _size6);
-            (*(this->success)).resize(_size6);
-            uint32_t _i10;
-            for (_i10 = 0; _i10 < _size6; ++_i10)
-            {
-              xfer += (*(this->success))[_i10].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          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_getAllExperimentsInProject_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_projectId = 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;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_projectId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_getAllExperimentsInProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_args");
-
-  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->projectId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getAllExperimentsInProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_pargs");
-
-  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->projectId)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getAllExperimentsInProject_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_LIST) {
-          {
-            this->success.clear();
-            uint32_t _size11;
-            ::apache::thrift::protocol::TType _etype14;
-            xfer += iprot->readListBegin(_etype14, _size11);
-            this->success.resize(_size11);
-            uint32_t _i15;
-            for (_i15 = 0; _i15 < _size11; ++_i15)
-            {
-              xfer += this->success[_i15].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          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_getAllExperimentsInProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::Experiment> ::const_iterator _iter16;
-      for (_iter16 = this->success.begin(); _iter16 != this->success.end(); ++_iter16)
-      {
-        xfer += (*_iter16).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getAllExperimentsInProject_presult::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_LIST) {
-          {
-            (*(this->success)).clear();
-            uint32_t _size17;
-            ::apache::thrift::protocol::TType _etype20;
-            xfer += iprot->readListBegin(_etype20, _size17);
-            (*(this->success)).resize(_size17);
-            uint32_t _i21;
-            for (_i21 = 0; _i21 < _size17; ++_i21)
-            {
-              xfer += (*(this->success))[_i21].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          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_getAllUserExperiments_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_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;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_userName)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_getAllUserExperiments_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_args");
-
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->userName);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getAllUserExperiments_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_pargs");
-
-  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->userName)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getAllUserExperiments_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_LIST) {
-          {
-            this->success.clear();
-            uint32_t _size22;
-            ::apache::thrift::protocol::TType _etype25;
-            xfer += iprot->readListBegin(_etype25, _size22);
-            this->success.resize(_size22);
-            uint32_t _i26;
-            for (_i26 = 0; _i26 < _size22; ++_i26)
-            {
-              xfer += this->success[_i26].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          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_getAllUserExperiments_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::Experiment> ::const_iterator _iter27;
-      for (_iter27 = this->success.begin(); _iter27 != this->success.end(); ++_iter27)
-      {
-        xfer += (*_iter27).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getAllUserExperiments_presult::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_LIST) {
-          {
-            (*(this->success)).clear();
-            uint32_t _size28;
-            ::apache::thrift::protocol::TType _etype31;
-            xfer += iprot->readListBegin(_etype31, _size28);
-            (*(this->success)).resize(_size28);
-            uint32_t _i32;
-            for (_i32 = 0; _i32 < _size28; ++_i32)
-            {
-              xfer += (*(this->success))[_i32].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          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_createExperiment_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_experiment = 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->experiment.read(iprot);
-          isset_experiment = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_experiment)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_createExperiment_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_createExperiment_args");
-
-  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += this->experiment.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_createExperiment_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_createExperiment_pargs");
-
-  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += (*(this->experiment)).write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_createExperiment_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_STRING) {
-          xfer += iprot->readString(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_createExperiment_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_createExperiment_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
-    xfer += oprot->writeString(this->success);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_createExperiment_presult::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_STRING) {
-          xfer += iprot->readString((*(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_getExperiment_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_airavataExperimentId = 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->airavataExperimentId);
-          isset_airavataExperimentId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_airavataExperimentId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_getExperiment_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getExperiment_args");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->airavataExperimentId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getExperiment_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getExperiment_pargs");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->airavataExperimentId)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getExperiment_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_STRUCT) {
-          xfer += this->success.read(iprot);
-          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->enf.read(iprot);
-          this->__isset.enf = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        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_getExperiment_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_getExperiment_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
-    xfer += this->success.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.enf) {
-    xfer += oprot->writeFieldBegin("enf", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->enf.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getExperiment_presult::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_STRUCT) {
-          xfer += (*(this->success)).read(iprot);
-          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->enf.read(iprot);
-          this->__isset.enf = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        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_updateExperiment_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_airavataExperimentId = false;
-  bool isset_experiment = 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->airavataExperimentId);
-          isset_airavataExperimentId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->experiment.read(iprot);
-          isset_experiment = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_airavataExperimentId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_experiment)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_updateExperiment_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_updateExperiment_args");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->airavataExperimentId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += this->experiment.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateExperiment_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_updateExperiment_pargs");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->airavataExperimentId)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += (*(this->experiment)).write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateExperiment_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 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->enf.read(iprot);
-          this->__isset.enf = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        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_updateExperiment_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_updateExperiment_result");
-
-  if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.enf) {
-    xfer += oprot->writeFieldBegin("enf", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->enf.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateExperiment_presult::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_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->enf.read(iprot);
-          this->__isset.enf = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        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_updateExperimentConfiguration_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_airavataExperimentId = false;
-  bool isset_userConfiguration = 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->airavataExperimentId);
-          isset_airavataExperimentId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->userConfiguration.read(iprot);
-          isset_userConfiguration = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_airavataExperimentId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_userConfiguration)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_updateExperimentConfiguration_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_updateExperimentConfiguration_args");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->airavataExperimentId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("userConfiguration", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += this->userConfiguration.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateExperimentConfiguration_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_updateExperimentConfiguration_pargs");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->airavataExperimentId)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("userConfiguration", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += (*(this->userConfiguration)).write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateExperimentConfiguration_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;
-    }
-    xfer += iprot->skip(ftype);
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t Airavata_updateExperimentConfiguration_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_updateExperimentConfiguration_result");
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateExperimentConfiguration_presult::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 Airavata_updateResourceScheduleing_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_airavataExperimentId = false;
-  bool isset_resourceScheduling = 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->airavataExperimentId);
-          isset_airavataExperimentId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->resourceScheduling.read(iprot);
-          isset_resourceScheduling = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_airavataExperimentId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_resourceScheduling)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_updateResourceScheduleing_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_updateResourceScheduleing_args");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->airavataExperimentId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("resourceScheduling", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += this->resourceScheduling.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateResourceScheduleing_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_updateResourceScheduleing_pargs");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->airavataExperimentId)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("resourceScheduling", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += (*(this->resourceScheduling)).write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateResourceScheduleing_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;
-    }
-    xfer += iprot->skip(ftype);
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t Airavata_updateResourceScheduleing_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_updateResourceScheduleing_result");
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_updateResourceScheduleing_presult::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 Airavata_launchExperiment_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_airavataExperimentId = false;
-  bool isset_airavataCredStoreToken = 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->airavataExperimentId);
-          isset_airavataExperimentId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->airavataCredStoreToken);
-          isset_airavataCredStoreToken = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_airavataExperimentId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_airavataCredStoreToken)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_launchExperiment_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_launchExperiment_args");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->airavataExperimentId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("airavataCredStoreToken", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->airavataCredStoreToken);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_launchExperiment_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_launchExperiment_pargs");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->airavataExperimentId)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("airavataCredStoreToken", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString((*(this->airavataCredStoreToken)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_launchExperiment_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 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->enf.read(iprot);
-          this->__isset.enf = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        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_launchExperiment_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_launchExperiment_result");
-
-  if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.enf) {
-    xfer += oprot->writeFieldBegin("enf", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->enf.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_launchExperiment_presult::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_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->enf.read(iprot);
-          this->__isset.enf = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        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_getExperimentStatus_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_airavataExperimentId = 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->airavataExperimentId);
-          isset_airavataExperimentId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_airavataExperimentId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_getExperimentStatus_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getExperimentStatus_args");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->airavataExperimentId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getExperimentStatus_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("Airavata_getExperimentStatus_pargs");
-
-  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->airavataExperimentId)));
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getExperimentStatus_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_STRUCT) {
-          xfer += this->success.read(iprot);
-          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->enf.read(iprot);
-          this->__isset.enf = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        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_getExperimentStatus_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_getExperimentStatus_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
-    xfer += this->success.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.enf) {
-    xfer += oprot->writeFieldBegin("enf", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->enf.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-uint32_t Airavata_getExperimentStatus_presult::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_STRUCT) {
-          xfer += (*(this->success)).read(iprot);
-          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->enf.read(iprot);
-          this->__isset.enf = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        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_getExperimentOutputs_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
-  uint3

<TRUNCATED>

[21/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/NOTICE
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/NOTICE b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/NOTICE
new file mode 100644
index 0000000..fa7cba5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/NOTICE
@@ -0,0 +1,163 @@
+Apache Airavata
+Copyright 2014 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+===============================================================================
+Apache Xerces Java Notice:
+
+   Portions of this software were originally based on the following:
+     - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
+     - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
+     - voluntary contributions made by Paul Eng on behalf of the
+       Apache Software Foundation that were originally developed at iClick, Inc.,
+       software copyright (c) 1999.
+
+================================================================================
+Apache XmlBeans Notice: 
+
+   Portions of this software were originally based on the following:
+     - software copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+
+   Aside from contributions to the Apache XMLBeans project, this
+   software also includes:
+
+    - one or more source files from the Apache Xerces-J and Apache Axis
+      products, Copyright (c) 1999-2003 Apache Software Foundation
+
+    - W3C XML Schema documents Copyright 2001-2003 (c) World Wide Web
+      Consortium (Massachusetts Institute of Technology, European Research
+      Consortium for Informatics and Mathematics, Keio University)
+
+    - resolver.jar from Apache Xml Commons project,
+      Copyright (c) 2001-2003 Apache Software Foundation
+
+    - Piccolo XML Parser for Java from http://piccolo.sourceforge.net/,
+      Copyright 2002 Yuval Oren under the terms of the Apache Software License 2.0
+
+    - JSR-173 Streaming API for XML from http://sourceforge.net/projects/xmlpullparser/,
+      Copyright 2005 BEA under the terms of the Apache Software License 2.0
+      
+=========================================================================================
+Apache Axis2 Notice: (axis2-*, mex-1.5.1-impl)
+
+Portions Copyright 2006 International Business Machines Corp.
+Portions Copyright 2005-2007 WSO2, Inc.
+
+This product also includes schemas and specification developed by:
+- the W3C consortium (http://www.w3c.org)
+
+This product also includes WS-* schemas developed by International
+Business Machines Corporation, Microsoft Corporation, BEA Systems, 
+TIBCO Software, SAP AG, Sonic Software, and VeriSign
+
+This product also includes a WSDL developed by salesforce.com
+- Copyright 1999-2006 salesforce.com, inc.
+Portions of the included xmlbeans library were originally based on the following:
+- software copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+
+====================================================================================
+Apache Derby Notice:
+
+Portions of Derby were originally developed by
+International Business Machines Corporation and are
+licensed to the Apache Software Foundation under the
+"Software Grant and Corporate Contribution License Agreement",
+informally known as the "Derby CLA".
+The following copyright notice(s) were affixed to portions of the code
+with which this file is now or was at one time distributed
+and are placed here unaltered.
+
+(C) Copyright 1997,2004 International Business Machines Corporation.  All rights reserved.
+
+(C) Copyright IBM Corp. 2003. 
+
+=======================
+
+The portion of the functionTests under 'nist' was originally 
+developed by the National Institute of Standards and Technology (NIST), 
+an agency of the United States Department of Commerce, and adapted by
+International Business Machines Corporation in accordance with the NIST
+Software Acknowledgment and Redistribution document at
+http://www.itl.nist.gov/div897/ctg/sql_form.htm
+
+========================
+
+The JDBC apis for small devices and JDBC3 (under java/stubs/jsr169 and
+java/stubs/jdbc3) were produced by trimming sources supplied by the
+Apache Harmony project. In addition, the Harmony SerialBlob and
+SerialClob implementations are used. The following notice covers the Harmony sources:
+
+Portions of Harmony were originally developed by
+Intel Corporation and are licensed to the Apache Software
+Foundation under the "Software Grant and Corporate Contribution
+License Agreement", informally known as the "Intel Harmony CLA".
+
+=============================================================================
+Apache Woden Notice:
+
+   This product also includes software developed by :
+   
+     - IBM Corporation (http://www.ibm.com),
+         WSDL4J was the initial code contribution for the Apache Woden
+         project and some of the WSDL4J design and code has been reused.
+     - The W3C Consortium (http://www.w3c.org),
+         Common W3C XML Schema and DTD files are packaged with Apache Woden.
+
+   Please read the different LICENSE files present in the root directory of
+   this distribution.
+
+=========================================================================
+Woodstox Notice: 
+
+This product includes software developed by the Woodstox Project 
+(http://woodstox.codehaus.org/)
+
+This product currently only contains code developed by authors
+of specific components, as identified by the source code files.
+
+Since product implements StAX API, it has dependencies to StAX API
+classes.
+
+For additional credits (generally to people who reported problems)
+see CREDITS file.
+
+===========================================================================
+Apache xml-commons xml-apis Notice:
+
+   Portions of this software were originally based on the following:
+     - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
+     - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
+     - software copyright (c) 2000 World Wide Web Consortium, http://www.w3.org
+
+================================================================================================
+Apache  Xalan Notice: 
+
+Portions of this software was originally based on the following:
+     - software copyright (c) 1999-2002, Lotus Development Corporation., http://www.lotus.com.
+     - software copyright (c) 2001-2002, Sun Microsystems., http://www.sun.com.
+     - software copyright (c) 2003, IBM Corporation., http://www.ibm.com.
+     - voluntary contributions made by Ovidiu Predescu (ovidiu@cup.hp.com) on behalf of the 
+       Apache Software Foundation and was originally developed at Hewlett Packard Company. 
+================================================================================================
+Apache  OpenJPA Notice: 
+
+OpenJPA includes software developed by the SERP project
+Copyright (c) 2002-2006, A. Abram White. All rights reserved.
+
+OpenJPA includes the persistence and orm schemas from the JPA specifications.
+Copyright 2005-2009 Sun Microsystems, Inc. All rights reserved.
+OpenJPA elects to include this software in this distribution under the
+CDDL license.  You can obtain a copy of the License at:
+    https://glassfish.dev.java.net/public/CDDL+GPL.html
+The source code is available at:
+    https://glassfish.dev.java.net/source/browse/glassfish/
+
+OpenJPA includes software written by Miroslav Nachev
+OpenJPA uses test code written by Charles Tillman.
+================================================================================================
+Apache XmlSchema Notice:
+
+Portions Copyright 2006 International Business Machines Corp.
+================================================================================================

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/README
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/README b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/README
new file mode 100644
index 0000000..e4a4864
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/README
@@ -0,0 +1,7 @@
+Apache Airavata Thrift C++ Software Development Kit.
+
+Prerequisites:
+Since C++ thrift libraries are platform dependent, we encourage you to compile apache thrift locally.
+
+Conveniance Binaries:
+Airavata will bundle conveniance binaries, but again we encourage to build from source.
\ No newline at end of file


[25/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_types.cpp
deleted file mode 100644
index 9fc4be0..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_types.cpp
+++ /dev/null
@@ -1,2867 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "experimentModel_types.h"
-
-#include <algorithm>
-
-
-
-int _kExperimentStateValues[] = {
-  ExperimentState::CREATED,
-  ExperimentState::VALIDATED,
-  ExperimentState::SCHEDULED,
-  ExperimentState::LAUNCHED,
-  ExperimentState::EXECUTING,
-  ExperimentState::CANCELED,
-  ExperimentState::COMPLETED,
-  ExperimentState::FAILED,
-  ExperimentState::UNKNOWN
-};
-const char* _kExperimentStateNames[] = {
-  "CREATED",
-  "VALIDATED",
-  "SCHEDULED",
-  "LAUNCHED",
-  "EXECUTING",
-  "CANCELED",
-  "COMPLETED",
-  "FAILED",
-  "UNKNOWN"
-};
-const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(9, _kExperimentStateValues, _kExperimentStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kWorkflowNodeStateValues[] = {
-  WorkflowNodeState::INVOKED,
-  WorkflowNodeState::EXECUTING,
-  WorkflowNodeState::CANCELED,
-  WorkflowNodeState::COMPLETED,
-  WorkflowNodeState::FAILED,
-  WorkflowNodeState::UNKNOWN
-};
-const char* _kWorkflowNodeStateNames[] = {
-  "INVOKED",
-  "EXECUTING",
-  "CANCELED",
-  "COMPLETED",
-  "FAILED",
-  "UNKNOWN"
-};
-const std::map<int, const char*> _WorkflowNodeState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(6, _kWorkflowNodeStateValues, _kWorkflowNodeStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kTaskStateValues[] = {
-  TaskState::WAITING,
-  TaskState::STARTED,
-  TaskState::PRE_PROCESSING,
-  TaskState::CONFIGURING_WORKSPACE,
-  TaskState::INPUT_DATA_STAGING,
-  TaskState::OUTPUT_DATA_STAGING,
-  TaskState::POST_PROCESSING,
-  TaskState::EXECUTING,
-  TaskState::CANCELED,
-  TaskState::COMPLETED,
-  TaskState::FAILED,
-  TaskState::UNKNOWN
-};
-const char* _kTaskStateNames[] = {
-  "WAITING",
-  "STARTED",
-  "PRE_PROCESSING",
-  "CONFIGURING_WORKSPACE",
-  "INPUT_DATA_STAGING",
-  "OUTPUT_DATA_STAGING",
-  "POST_PROCESSING",
-  "EXECUTING",
-  "CANCELED",
-  "COMPLETED",
-  "FAILED",
-  "UNKNOWN"
-};
-const std::map<int, const char*> _TaskState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(12, _kTaskStateValues, _kTaskStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kJobStateValues[] = {
-  JobState::SUBMITTED,
-  JobState::UN_SUBMITTED,
-  JobState::SETUP,
-  JobState::QUEUED,
-  JobState::ACTIVE,
-  JobState::COMPLETE,
-  JobState::CANCELED,
-  JobState::FAILED,
-  JobState::HELD,
-  JobState::SUSPENDED,
-  JobState::UNKNOWN
-};
-const char* _kJobStateNames[] = {
-  "SUBMITTED",
-  "UN_SUBMITTED",
-  "SETUP",
-  "QUEUED",
-  "ACTIVE",
-  "COMPLETE",
-  "CANCELED",
-  "FAILED",
-  "HELD",
-  "SUSPENDED",
-  "UNKNOWN"
-};
-const std::map<int, const char*> _JobState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(11, _kJobStateValues, _kJobStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kTransferStateValues[] = {
-  TransferState::DIRECTORY_SETUP,
-  TransferState::UPLOAD,
-  TransferState::DOWNLOAD,
-  TransferState::ACTIVE,
-  TransferState::COMPLETE,
-  TransferState::STDOUT_DOWNLOAD,
-  TransferState::STDERROR_DOWNLOAD,
-  TransferState::CANCELED,
-  TransferState::FAILED,
-  TransferState::HELD,
-  TransferState::SUSPENDED,
-  TransferState::UNKNOWN
-};
-const char* _kTransferStateNames[] = {
-  "DIRECTORY_SETUP",
-  "UPLOAD",
-  "DOWNLOAD",
-  "ACTIVE",
-  "COMPLETE",
-  "STDOUT_DOWNLOAD",
-  "STDERROR_DOWNLOAD",
-  "CANCELED",
-  "FAILED",
-  "HELD",
-  "SUSPENDED",
-  "UNKNOWN"
-};
-const std::map<int, const char*> _TransferState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(12, _kTransferStateValues, _kTransferStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kActionableGroupValues[] = {
-  ActionableGroup::RESOURCE_ADMINS,
-  ActionableGroup::AIRAVATA_ADMINS,
-  ActionableGroup::GATEWAYS_ADMINS,
-  ActionableGroup::USER,
-  ActionableGroup::CANNOT_BE_DETERMINED
-};
-const char* _kActionableGroupNames[] = {
-  "RESOURCE_ADMINS",
-  "AIRAVATA_ADMINS",
-  "GATEWAYS_ADMINS",
-  "USER",
-  "CANNOT_BE_DETERMINED"
-};
-const std::map<int, const char*> _ActionableGroup_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kActionableGroupValues, _kActionableGroupNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kErrorCategoryValues[] = {
-  ErrorCategory::FILE_SYSTEM_FAILURE,
-  ErrorCategory::APPLICATION_FAILURE,
-  ErrorCategory::RESOURCE_NODE_FAILURE,
-  ErrorCategory::DISK_FULL,
-  ErrorCategory::INSUFFICIENT_ALLOCATION,
-  ErrorCategory::SYSTEM_MAINTENANCE,
-  ErrorCategory::AIRAVATA_INTERNAL_ERROR,
-  ErrorCategory::CANNOT_BE_DETERMINED
-};
-const char* _kErrorCategoryNames[] = {
-  "FILE_SYSTEM_FAILURE",
-  "APPLICATION_FAILURE",
-  "RESOURCE_NODE_FAILURE",
-  "DISK_FULL",
-  "INSUFFICIENT_ALLOCATION",
-  "SYSTEM_MAINTENANCE",
-  "AIRAVATA_INTERNAL_ERROR",
-  "CANNOT_BE_DETERMINED"
-};
-const std::map<int, const char*> _ErrorCategory_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kErrorCategoryValues, _kErrorCategoryNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kCorrectiveActionValues[] = {
-  CorrectiveAction::RETRY_SUBMISSION,
-  CorrectiveAction::CONTACT_SUPPORT,
-  CorrectiveAction::CANNOT_BE_DETERMINED
-};
-const char* _kCorrectiveActionNames[] = {
-  "RETRY_SUBMISSION",
-  "CONTACT_SUPPORT",
-  "CANNOT_BE_DETERMINED"
-};
-const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kCorrectiveActionValues, _kCorrectiveActionNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-const char* ExperimentStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
-const uint8_t ExperimentStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-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_experimentState = 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->experimentState = (ExperimentState::type)ecast0;
-          isset_experimentState = 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;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_experimentState)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t ExperimentStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("ExperimentStatus");
-
-  xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 1);
-  xfer += oprot->writeI32((int32_t)this->experimentState);
-  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();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(ExperimentStatus &a, ExperimentStatus &b) {
-  using ::std::swap;
-  swap(a.experimentState, b.experimentState);
-  swap(a.timeOfStateChange, b.timeOfStateChange);
-  swap(a.__isset, b.__isset);
-}
-
-const char* WorkflowNodeStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
-const uint8_t WorkflowNodeStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-uint32_t WorkflowNodeStatus::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_workflowNodeState = 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 ecast1;
-          xfer += iprot->readI32(ecast1);
-          this->workflowNodeState = (WorkflowNodeState::type)ecast1;
-          isset_workflowNodeState = 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;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_workflowNodeState)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t WorkflowNodeStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("WorkflowNodeStatus");
-
-  xfer += oprot->writeFieldBegin("workflowNodeState", ::apache::thrift::protocol::T_I32, 1);
-  xfer += oprot->writeI32((int32_t)this->workflowNodeState);
-  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();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(WorkflowNodeStatus &a, WorkflowNodeStatus &b) {
-  using ::std::swap;
-  swap(a.workflowNodeState, b.workflowNodeState);
-  swap(a.timeOfStateChange, b.timeOfStateChange);
-  swap(a.__isset, b.__isset);
-}
-
-const char* TaskStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
-const uint8_t TaskStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-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_executionState = 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 ecast2;
-          xfer += iprot->readI32(ecast2);
-          this->executionState = (TaskState::type)ecast2;
-          isset_executionState = 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;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_executionState)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t TaskStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("TaskStatus");
-
-  xfer += oprot->writeFieldBegin("executionState", ::apache::thrift::protocol::T_I32, 1);
-  xfer += oprot->writeI32((int32_t)this->executionState);
-  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();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(TaskStatus &a, TaskStatus &b) {
-  using ::std::swap;
-  swap(a.executionState, b.executionState);
-  swap(a.timeOfStateChange, b.timeOfStateChange);
-  swap(a.__isset, b.__isset);
-}
-
-const char* JobStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
-const uint8_t JobStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-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 ecast3;
-          xfer += iprot->readI32(ecast3);
-          this->jobState = (JobState::type)ecast3;
-          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;
-      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;
-  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();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(JobStatus &a, JobStatus &b) {
-  using ::std::swap;
-  swap(a.jobState, b.jobState);
-  swap(a.timeOfStateChange, b.timeOfStateChange);
-  swap(a.__isset, b.__isset);
-}
-
-const char* TransferStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
-const uint8_t TransferStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-uint32_t TransferStatus::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_transferState = 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 ecast4;
-          xfer += iprot->readI32(ecast4);
-          this->transferState = (TransferState::type)ecast4;
-          isset_transferState = 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;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_transferState)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t TransferStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("TransferStatus");
-
-  xfer += oprot->writeFieldBegin("transferState", ::apache::thrift::protocol::T_I32, 1);
-  xfer += oprot->writeI32((int32_t)this->transferState);
-  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();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(TransferStatus &a, TransferStatus &b) {
-  using ::std::swap;
-  swap(a.transferState, b.transferState);
-  swap(a.timeOfStateChange, b.timeOfStateChange);
-  swap(a.__isset, b.__isset);
-}
-
-const char* ApplicationStatus::ascii_fingerprint = "E17E126D15049701494262EE3246F603";
-const uint8_t ApplicationStatus::binary_fingerprint[16] = {0xE1,0x7E,0x12,0x6D,0x15,0x04,0x97,0x01,0x49,0x42,0x62,0xEE,0x32,0x46,0xF6,0x03};
-
-uint32_t ApplicationStatus::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_applicationState = 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->applicationState);
-          isset_applicationState = 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;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_applicationState)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t ApplicationStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("ApplicationStatus");
-
-  xfer += oprot->writeFieldBegin("applicationState", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->applicationState);
-  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();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(ApplicationStatus &a, ApplicationStatus &b) {
-  using ::std::swap;
-  swap(a.applicationState, b.applicationState);
-  swap(a.timeOfStateChange, b.timeOfStateChange);
-  swap(a.__isset, b.__isset);
-}
-
-const char* DataObjectType::ascii_fingerprint = "6BA700CA2E5FC52A8DA5ADCF811DC8DA";
-const uint8_t DataObjectType::binary_fingerprint[16] = {0x6B,0xA7,0x00,0xCA,0x2E,0x5F,0xC5,0x2A,0x8D,0xA5,0xAD,0xCF,0x81,0x1D,0xC8,0xDA};
-
-uint32_t DataObjectType::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_key = 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->key);
-          isset_key = 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_STRING) {
-          xfer += iprot->readString(this->type);
-          this->__isset.type = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->metaData);
-          this->__isset.metaData = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_key)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t DataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("DataObjectType");
-
-  xfer += oprot->writeFieldBegin("key", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->key);
-  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_STRING, 3);
-    xfer += oprot->writeString(this->type);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.metaData) {
-    xfer += oprot->writeFieldBegin("metaData", ::apache::thrift::protocol::T_STRING, 4);
-    xfer += oprot->writeString(this->metaData);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(DataObjectType &a, DataObjectType &b) {
-  using ::std::swap;
-  swap(a.key, b.key);
-  swap(a.value, b.value);
-  swap(a.type, b.type);
-  swap(a.metaData, b.metaData);
-  swap(a.__isset, b.__isset);
-}
-
-const char* ComputationalResourceScheduling::ascii_fingerprint = "32AC7AC41AD3753A7224A32FD6EB4B5D";
-const uint8_t ComputationalResourceScheduling::binary_fingerprint[16] = {0x32,0xAC,0x7A,0xC4,0x1A,0xD3,0x75,0x3A,0x72,0x24,0xA3,0x2F,0xD6,0xEB,0x4B,0x5D};
-
-uint32_t ComputationalResourceScheduling::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->jobStartTime);
-          this->__isset.jobStartTime = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 8:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          xfer += iprot->readI32(this->totalPhysicalMemory);
-          this->__isset.totalPhysicalMemory = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 9:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->ComputationalProjectAccount);
-          this->__isset.ComputationalProjectAccount = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t ComputationalResourceScheduling::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("ComputationalResourceScheduling");
-
-  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.jobStartTime) {
-    xfer += oprot->writeFieldBegin("jobStartTime", ::apache::thrift::protocol::T_I32, 7);
-    xfer += oprot->writeI32(this->jobStartTime);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.totalPhysicalMemory) {
-    xfer += oprot->writeFieldBegin("totalPhysicalMemory", ::apache::thrift::protocol::T_I32, 8);
-    xfer += oprot->writeI32(this->totalPhysicalMemory);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.ComputationalProjectAccount) {
-    xfer += oprot->writeFieldBegin("ComputationalProjectAccount", ::apache::thrift::protocol::T_STRING, 9);
-    xfer += oprot->writeString(this->ComputationalProjectAccount);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(ComputationalResourceScheduling &a, ComputationalResourceScheduling &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.jobStartTime, b.jobStartTime);
-  swap(a.totalPhysicalMemory, b.totalPhysicalMemory);
-  swap(a.ComputationalProjectAccount, b.ComputationalProjectAccount);
-  swap(a.__isset, b.__isset);
-}
-
-const char* AdvancedInputDataHandling::ascii_fingerprint = "6139039875942E8B25C483838DD664B7";
-const uint8_t AdvancedInputDataHandling::binary_fingerprint[16] = {0x61,0x39,0x03,0x98,0x75,0x94,0x2E,0x8B,0x25,0xC4,0x83,0x83,0x8D,0xD6,0x64,0xB7};
-
-uint32_t AdvancedInputDataHandling::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_BOOL) {
-          xfer += iprot->readBool(this->stageInputFilesToWorkingDir);
-          this->__isset.stageInputFilesToWorkingDir = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->parentWorkingDirectory);
-          this->__isset.parentWorkingDirectory = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->uniqueWorkingDirectory);
-          this->__isset.uniqueWorkingDirectory = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_BOOL) {
-          xfer += iprot->readBool(this->cleanUpWorkingDirAfterJob);
-          this->__isset.cleanUpWorkingDirAfterJob = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t AdvancedInputDataHandling::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("AdvancedInputDataHandling");
-
-  if (this->__isset.stageInputFilesToWorkingDir) {
-    xfer += oprot->writeFieldBegin("stageInputFilesToWorkingDir", ::apache::thrift::protocol::T_BOOL, 1);
-    xfer += oprot->writeBool(this->stageInputFilesToWorkingDir);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.parentWorkingDirectory) {
-    xfer += oprot->writeFieldBegin("parentWorkingDirectory", ::apache::thrift::protocol::T_STRING, 2);
-    xfer += oprot->writeString(this->parentWorkingDirectory);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.uniqueWorkingDirectory) {
-    xfer += oprot->writeFieldBegin("uniqueWorkingDirectory", ::apache::thrift::protocol::T_STRING, 3);
-    xfer += oprot->writeString(this->uniqueWorkingDirectory);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.cleanUpWorkingDirAfterJob) {
-    xfer += oprot->writeFieldBegin("cleanUpWorkingDirAfterJob", ::apache::thrift::protocol::T_BOOL, 4);
-    xfer += oprot->writeBool(this->cleanUpWorkingDirAfterJob);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(AdvancedInputDataHandling &a, AdvancedInputDataHandling &b) {
-  using ::std::swap;
-  swap(a.stageInputFilesToWorkingDir, b.stageInputFilesToWorkingDir);
-  swap(a.parentWorkingDirectory, b.parentWorkingDirectory);
-  swap(a.uniqueWorkingDirectory, b.uniqueWorkingDirectory);
-  swap(a.cleanUpWorkingDirAfterJob, b.cleanUpWorkingDirAfterJob);
-  swap(a.__isset, b.__isset);
-}
-
-const char* AdvancedOutputDataHandling::ascii_fingerprint = "6EC898D3B5ECFF21200795BD22F73CD2";
-const uint8_t AdvancedOutputDataHandling::binary_fingerprint[16] = {0x6E,0xC8,0x98,0xD3,0xB5,0xEC,0xFF,0x21,0x20,0x07,0x95,0xBD,0x22,0xF7,0x3C,0xD2};
-
-uint32_t AdvancedOutputDataHandling::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 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->outputDataDir);
-          this->__isset.outputDataDir = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->dataRegistryURL);
-          this->__isset.dataRegistryURL = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_BOOL) {
-          xfer += iprot->readBool(this->persistOutputData);
-          this->__isset.persistOutputData = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t AdvancedOutputDataHandling::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("AdvancedOutputDataHandling");
-
-  if (this->__isset.outputDataDir) {
-    xfer += oprot->writeFieldBegin("outputDataDir", ::apache::thrift::protocol::T_STRING, 2);
-    xfer += oprot->writeString(this->outputDataDir);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.dataRegistryURL) {
-    xfer += oprot->writeFieldBegin("dataRegistryURL", ::apache::thrift::protocol::T_STRING, 3);
-    xfer += oprot->writeString(this->dataRegistryURL);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.persistOutputData) {
-    xfer += oprot->writeFieldBegin("persistOutputData", ::apache::thrift::protocol::T_BOOL, 4);
-    xfer += oprot->writeBool(this->persistOutputData);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(AdvancedOutputDataHandling &a, AdvancedOutputDataHandling &b) {
-  using ::std::swap;
-  swap(a.outputDataDir, b.outputDataDir);
-  swap(a.dataRegistryURL, b.dataRegistryURL);
-  swap(a.persistOutputData, b.persistOutputData);
-  swap(a.__isset, b.__isset);
-}
-
-const char* QualityOfServiceParams::ascii_fingerprint = "35985D966603A273E8D7132543B44873";
-const uint8_t QualityOfServiceParams::binary_fingerprint[16] = {0x35,0x98,0x5D,0x96,0x66,0x03,0xA2,0x73,0xE8,0xD7,0x13,0x25,0x43,0xB4,0x48,0x73};
-
-uint32_t QualityOfServiceParams::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->startExecutionAt);
-          this->__isset.startExecutionAt = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->executeBefore);
-          this->__isset.executeBefore = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          xfer += iprot->readI32(this->numberofRetries);
-          this->__isset.numberofRetries = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t QualityOfServiceParams::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("QualityOfServiceParams");
-
-  if (this->__isset.startExecutionAt) {
-    xfer += oprot->writeFieldBegin("startExecutionAt", ::apache::thrift::protocol::T_STRING, 1);
-    xfer += oprot->writeString(this->startExecutionAt);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.executeBefore) {
-    xfer += oprot->writeFieldBegin("executeBefore", ::apache::thrift::protocol::T_STRING, 2);
-    xfer += oprot->writeString(this->executeBefore);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.numberofRetries) {
-    xfer += oprot->writeFieldBegin("numberofRetries", ::apache::thrift::protocol::T_I32, 3);
-    xfer += oprot->writeI32(this->numberofRetries);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(QualityOfServiceParams &a, QualityOfServiceParams &b) {
-  using ::std::swap;
-  swap(a.startExecutionAt, b.startExecutionAt);
-  swap(a.executeBefore, b.executeBefore);
-  swap(a.numberofRetries, b.numberofRetries);
-  swap(a.__isset, b.__isset);
-}
-
-const char* UserConfigurationData::ascii_fingerprint = "889486266D7ADC041ED1C586A2468611";
-const uint8_t UserConfigurationData::binary_fingerprint[16] = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
-
-uint32_t UserConfigurationData::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_STRUCT) {
-          xfer += this->advanceInputDataHandling.read(iprot);
-          this->__isset.advanceInputDataHandling = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 6:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->advanceOutputDataHandling.read(iprot);
-          this->__isset.advanceOutputDataHandling = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 7:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->qosParams.read(iprot);
-          this->__isset.qosParams = 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 UserConfigurationData::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("UserConfigurationData");
-
-  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.advanceInputDataHandling) {
-    xfer += oprot->writeFieldBegin("advanceInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 5);
-    xfer += this->advanceInputDataHandling.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.advanceOutputDataHandling) {
-    xfer += oprot->writeFieldBegin("advanceOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 6);
-    xfer += this->advanceOutputDataHandling.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.qosParams) {
-    xfer += oprot->writeFieldBegin("qosParams", ::apache::thrift::protocol::T_STRUCT, 7);
-    xfer += this->qosParams.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(UserConfigurationData &a, UserConfigurationData &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.advanceInputDataHandling, b.advanceInputDataHandling);
-  swap(a.advanceOutputDataHandling, b.advanceOutputDataHandling);
-  swap(a.qosParams, b.qosParams);
-  swap(a.__isset, b.__isset);
-}
-
-const char* ErrorDetails::ascii_fingerprint = "170CA6E79EB283F31417B9D68071DA33";
-const uint8_t ErrorDetails::binary_fingerprint[16] = {0x17,0x0C,0xA6,0xE7,0x9E,0xB2,0x83,0xF3,0x14,0x17,0xB9,0xD6,0x80,0x71,0xDA,0x33};
-
-uint32_t ErrorDetails::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_I32) {
-          int32_t ecast5;
-          xfer += iprot->readI32(ecast5);
-          this->errorCategory = (ErrorCategory::type)ecast5;
-          this->__isset.errorCategory = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 6:
-        if (ftype == ::apache::thrift::protocol::T_BOOL) {
-          xfer += iprot->readBool(this->transientOrPersistent);
-          this->__isset.transientOrPersistent = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 7:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast6;
-          xfer += iprot->readI32(ecast6);
-          this->correctiveAction = (CorrectiveAction::type)ecast6;
-          this->__isset.correctiveAction = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 8:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast7;
-          xfer += iprot->readI32(ecast7);
-          this->actionableGroup = (ActionableGroup::type)ecast7;
-          this->__isset.actionableGroup = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 9:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->rootCauseErrorIdList.clear();
-            uint32_t _size8;
-            ::apache::thrift::protocol::TType _etype11;
-            xfer += iprot->readListBegin(_etype11, _size8);
-            this->rootCauseErrorIdList.resize(_size8);
-            uint32_t _i12;
-            for (_i12 = 0; _i12 < _size8; ++_i12)
-            {
-              xfer += iprot->readString(this->rootCauseErrorIdList[_i12]);
-            }
-            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 ErrorDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("ErrorDetails");
-
-  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.errorCategory) {
-    xfer += oprot->writeFieldBegin("errorCategory", ::apache::thrift::protocol::T_I32, 5);
-    xfer += oprot->writeI32((int32_t)this->errorCategory);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.transientOrPersistent) {
-    xfer += oprot->writeFieldBegin("transientOrPersistent", ::apache::thrift::protocol::T_BOOL, 6);
-    xfer += oprot->writeBool(this->transientOrPersistent);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.correctiveAction) {
-    xfer += oprot->writeFieldBegin("correctiveAction", ::apache::thrift::protocol::T_I32, 7);
-    xfer += oprot->writeI32((int32_t)this->correctiveAction);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.actionableGroup) {
-    xfer += oprot->writeFieldBegin("actionableGroup", ::apache::thrift::protocol::T_I32, 8);
-    xfer += oprot->writeI32((int32_t)this->actionableGroup);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.rootCauseErrorIdList) {
-    xfer += oprot->writeFieldBegin("rootCauseErrorIdList", ::apache::thrift::protocol::T_LIST, 9);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->rootCauseErrorIdList.size()));
-      std::vector<std::string> ::const_iterator _iter13;
-      for (_iter13 = this->rootCauseErrorIdList.begin(); _iter13 != this->rootCauseErrorIdList.end(); ++_iter13)
-      {
-        xfer += oprot->writeString((*_iter13));
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(ErrorDetails &a, ErrorDetails &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.errorCategory, b.errorCategory);
-  swap(a.transientOrPersistent, b.transientOrPersistent);
-  swap(a.correctiveAction, b.correctiveAction);
-  swap(a.actionableGroup, b.actionableGroup);
-  swap(a.rootCauseErrorIdList, b.rootCauseErrorIdList);
-  swap(a.__isset, b.__isset);
-}
-
-const char* JobDetails::ascii_fingerprint = "5946807521C11BC65075D497F8568057";
-const uint8_t JobDetails::binary_fingerprint[16] = {0x59,0x46,0x80,0x75,0x21,0xC1,0x1B,0xC6,0x50,0x75,0xD4,0x97,0xF8,0x56,0x80,0x57};
-
-uint32_t JobDetails::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_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->jobDescription);
-          isset_jobDescription = 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_STRUCT) {
-          xfer += this->jobStatus.read(iprot);
-          this->__isset.jobStatus = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 5:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->applicationStatus.read(iprot);
-          this->__isset.applicationStatus = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 6:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->errors.clear();
-            uint32_t _size14;
-            ::apache::thrift::protocol::TType _etype17;
-            xfer += iprot->readListBegin(_etype17, _size14);
-            this->errors.resize(_size14);
-            uint32_t _i18;
-            for (_i18 = 0; _i18 < _size14; ++_i18)
-            {
-              xfer += this->errors[_i18].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.errors = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 7:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->computeResourceConsumed);
-          this->__isset.computeResourceConsumed = 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_jobDescription)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t JobDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("JobDetails");
-
-  xfer += oprot->writeFieldBegin("jobID", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->jobID);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("jobDescription", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->jobDescription);
-  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.jobStatus) {
-    xfer += oprot->writeFieldBegin("jobStatus", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->jobStatus.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.applicationStatus) {
-    xfer += oprot->writeFieldBegin("applicationStatus", ::apache::thrift::protocol::T_STRUCT, 5);
-    xfer += this->applicationStatus.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.errors) {
-    xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 6);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
-      std::vector<ErrorDetails> ::const_iterator _iter19;
-      for (_iter19 = this->errors.begin(); _iter19 != this->errors.end(); ++_iter19)
-      {
-        xfer += (*_iter19).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.computeResourceConsumed) {
-    xfer += oprot->writeFieldBegin("computeResourceConsumed", ::apache::thrift::protocol::T_STRING, 7);
-    xfer += oprot->writeString(this->computeResourceConsumed);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(JobDetails &a, JobDetails &b) {
-  using ::std::swap;
-  swap(a.jobID, b.jobID);
-  swap(a.jobDescription, b.jobDescription);
-  swap(a.creationTime, b.creationTime);
-  swap(a.jobStatus, b.jobStatus);
-  swap(a.applicationStatus, b.applicationStatus);
-  swap(a.errors, b.errors);
-  swap(a.computeResourceConsumed, b.computeResourceConsumed);
-  swap(a.__isset, b.__isset);
-}
-
-const char* DataTransferDetails::ascii_fingerprint = "40D4FEC20E3B334AEEBA92DA2AB9E91E";
-const uint8_t DataTransferDetails::binary_fingerprint[16] = {0x40,0xD4,0xFE,0xC2,0x0E,0x3B,0x33,0x4A,0xEE,0xBA,0x92,0xDA,0x2A,0xB9,0xE9,0x1E};
-
-uint32_t DataTransferDetails::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_transferID = false;
-  bool isset_transferDescription = 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->transferID);
-          isset_transferID = 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->transferDescription);
-          isset_transferDescription = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->transferStatus.read(iprot);
-          this->__isset.transferStatus = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_transferID)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_transferDescription)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t DataTransferDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("DataTransferDetails");
-
-  xfer += oprot->writeFieldBegin("transferID", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->transferID);
-  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();
-  }
-  xfer += oprot->writeFieldBegin("transferDescription", ::apache::thrift::protocol::T_STRING, 3);
-  xfer += oprot->writeString(this->transferDescription);
-  xfer += oprot->writeFieldEnd();
-
-  if (this->__isset.transferStatus) {
-    xfer += oprot->writeFieldBegin("transferStatus", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->transferStatus.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(DataTransferDetails &a, DataTransferDetails &b) {
-  using ::std::swap;
-  swap(a.transferID, b.transferID);
-  swap(a.creationTime, b.creationTime);
-  swap(a.transferDescription, b.transferDescription);
-  swap(a.transferStatus, b.transferStatus);
-  swap(a.__isset, b.__isset);
-}
-
-const char* TaskDetails::ascii_fingerprint = "705A0D2F86DF8E37DD3741EEF4EB51A0";
-const uint8_t TaskDetails::binary_fingerprint[16] = {0x70,0x5A,0x0D,0x2F,0x86,0xDF,0x8E,0x37,0xDD,0x37,0x41,0xEE,0xF4,0xEB,0x51,0xA0};
-
-uint32_t TaskDetails::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;
-
-  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_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->applicationId);
-          this->__isset.applicationId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->applicationVersion);
-          this->__isset.applicationVersion = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 5:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->applicationInputs.clear();
-            uint32_t _size20;
-            ::apache::thrift::protocol::TType _etype23;
-            xfer += iprot->readListBegin(_etype23, _size20);
-            this->applicationInputs.resize(_size20);
-            uint32_t _i24;
-            for (_i24 = 0; _i24 < _size20; ++_i24)
-            {
-              xfer += this->applicationInputs[_i24].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 _size25;
-            ::apache::thrift::protocol::TType _etype28;
-            xfer += iprot->readListBegin(_etype28, _size25);
-            this->applicationOutputs.resize(_size25);
-            uint32_t _i29;
-            for (_i29 = 0; _i29 < _size25; ++_i29)
-            {
-              xfer += this->applicationOutputs[_i29].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.applicationOutputs = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 7:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->taskScheduling.read(iprot);
-          this->__isset.taskScheduling = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 8:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->advancedInputDataHandling.read(iprot);
-          this->__isset.advancedInputDataHandling = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 9:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->advancedOutputDataHandling.read(iprot);
-          this->__isset.advancedOutputDataHandling = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 10:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->taskStatus.read(iprot);
-          this->__isset.taskStatus = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 11:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->jobDetailsList.clear();
-            uint32_t _size30;
-            ::apache::thrift::protocol::TType _etype33;
-            xfer += iprot->readListBegin(_etype33, _size30);
-            this->jobDetailsList.resize(_size30);
-            uint32_t _i34;
-            for (_i34 = 0; _i34 < _size30; ++_i34)
-            {
-              xfer += this->jobDetailsList[_i34].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.jobDetailsList = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 12:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->dataTransferDetailsList.clear();
-            uint32_t _size35;
-            ::apache::thrift::protocol::TType _etype38;
-            xfer += iprot->readListBegin(_etype38, _size35);
-            this->dataTransferDetailsList.resize(_size35);
-            uint32_t _i39;
-            for (_i39 = 0; _i39 < _size35; ++_i39)
-            {
-              xfer += this->dataTransferDetailsList[_i39].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.dataTransferDetailsList = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 13:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->errors.clear();
-            uint32_t _size40;
-            ::apache::thrift::protocol::TType _etype43;
-            xfer += iprot->readListBegin(_etype43, _size40);
-            this->errors.resize(_size40);
-            uint32_t _i44;
-            for (_i44 = 0; _i44 < _size40; ++_i44)
-            {
-              xfer += this->errors[_i44].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_taskID)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("TaskDetails");
-
-  xfer += oprot->writeFieldBegin("taskID", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->taskID);
-  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.applicationId) {
-    xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 3);
-    xfer += oprot->writeString(this->applicationId);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.applicationVersion) {
-    xfer += oprot->writeFieldBegin("applicationVersion", ::apache::thrift::protocol::T_STRING, 4);
-    xfer += oprot->writeString(this->applicationVersion);
-    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<DataObjectType> ::const_iterator _iter45;
-      for (_iter45 = this->applicationInputs.begin(); _iter45 != this->applicationInputs.end(); ++_iter45)
-      {
-        xfer += (*_iter45).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<DataObjectType> ::const_iterator _iter46;
-      for (_iter46 = this->applicationOutputs.begin(); _iter46 != this->applicationOutputs.end(); ++_iter46)
-      {
-        xfer += (*_iter46).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.taskScheduling) {
-    xfer += oprot->writeFieldBegin("taskScheduling", ::apache::thrift::protocol::T_STRUCT, 7);
-    xfer += this->taskScheduling.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.advancedInputDataHandling) {
-    xfer += oprot->writeFieldBegin("advancedInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 8);
-    xfer += this->advancedInputDataHandling.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.advancedOutputDataHandling) {
-    xfer += oprot->writeFieldBegin("advancedOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 9);
-    xfer += this->advancedOutputDataHandling.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.taskStatus) {
-    xfer += oprot->writeFieldBegin("taskStatus", ::apache::thrift::protocol::T_STRUCT, 10);
-    xfer += this->taskStatus.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.jobDetailsList) {
-    xfer += oprot->writeFieldBegin("jobDetailsList", ::apache::thrift::protocol::T_LIST, 11);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobDetailsList.size()));
-      std::vector<JobDetails> ::const_iterator _iter47;
-      for (_iter47 = this->jobDetailsList.begin(); _iter47 != this->jobDetailsList.end(); ++_iter47)
-      {
-        xfer += (*_iter47).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.dataTransferDetailsList) {
-    xfer += oprot->writeFieldBegin("dataTransferDetailsList", ::apache::thrift::protocol::T_LIST, 12);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataTransferDetailsList.size()));
-      std::vector<DataTransferDetails> ::const_iterator _iter48;
-      for (_iter48 = this->dataTransferDetailsList.begin(); _iter48 != this->dataTransferDetailsList.end(); ++_iter48)
-      {
-        xfer += (*_iter48).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.errors) {
-    xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 13);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
-      std::vector<ErrorDetails> ::const_iterator _iter49;
-      for (_iter49 = this->errors.begin(); _iter49 != this->errors.end(); ++_iter49)
-      {
-        xfer += (*_iter49).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(TaskDetails &a, TaskDetails &b) {
-  using ::std::swap;
-  swap(a.taskID, b.taskID);
-  swap(a.creationTime, b.creationTime);
-  swap(a.applicationId, b.applicationId);
-  swap(a.applicationVersion, b.applicationVersion);
-  swap(a.applicationInputs, b.applicationInputs);
-  swap(a.applicationOutputs, b.applicationOutputs);
-  swap(a.taskScheduling, b.taskScheduling);
-  swap(a.advancedInputDataHandling, b.advancedInputDataHandling);
-  swap(a.advancedOutputDataHandling, b.advancedOutputDataHandling);
-  swap(a.taskStatus, b.taskStatus);
-  swap(a.jobDetailsList, b.jobDetailsList);
-  swap(a.dataTransferDetailsList, b.dataTransferDetailsList);
-  swap(a.errors, b.errors);
-  swap(a.__isset, b.__isset);
-}
-
-const char* WorkflowNodeDetails::ascii_fingerprint = "D244C94A6A1DF1DFBA2E34E7756C28EF";
-const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0xD2,0x44,0xC9,0x4A,0x6A,0x1D,0xF1,0xDF,0xBA,0x2E,0x34,0xE7,0x75,0x6C,0x28,0xEF};
-
-uint32_t WorkflowNodeDetails::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_nodeInstanceId = false;
-  bool isset_nodeName = 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->nodeInstanceId);
-          isset_nodeInstanceId = 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->nodeName);
-          isset_nodeName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->nodeInputs.clear();
-            uint32_t _size50;
-            ::apache::thrift::protocol::TType _etype53;
-            xfer += iprot->readListBegin(_etype53, _size50);
-            this->nodeInputs.resize(_size50);
-            uint32_t _i54;
-            for (_i54 = 0; _i54 < _size50; ++_i54)
-            {
-              xfer += this->nodeInputs[_i54].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.nodeInputs = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 5:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->nodeOutputs.clear();
-            uint32_t _size55;
-            ::apache::thrift::protocol::TType _etype58;
-            xfer += iprot->readListBegin(_etype58, _size55);
-            this->nodeOutputs.resize(_size55);
-            uint32_t _i59;
-            for (_i59 = 0; _i59 < _size55; ++_i59)
-            {
-              xfer += this->nodeOutputs[_i59].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.nodeOutputs = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 6:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->workflowNodeStatus.read(iprot);
-          this->__isset.workflowNodeStatus = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 7:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->taskDetailsList.clear();
-            uint32_t _size60;
-            ::apache::thrift::protocol::TType _etype63;
-            xfer += iprot->readListBegin(_etype63, _size60);
-            this->taskDetailsList.resize(_size60);
-            uint32_t _i64;
-            for (_i64 = 0; _i64 < _size60; ++_i64)
-            {
-              xfer += this->taskDetailsList[_i64].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.taskDetailsList = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 8:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->errors.clear();
-            uint32_t _size65;
-            ::apache::thrift::protocol::TType _etype68;
-            xfer += iprot->readListBegin(_etype68, _size65);
-            this->errors.resize(_size65);
-            uint32_t _i69;
-            for (_i69 = 0; _i69 < _size65; ++_i69)
-            {
-              xfer += this->errors[_i69].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_nodeInstanceId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_nodeName)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t WorkflowNodeDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("WorkflowNodeDetails");
-
-  xfer += oprot->writeFieldBegin("nodeInstanceId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->nodeInstanceId);
-  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();
-  }
-  xfer += oprot->writeFieldBegin("nodeName", ::apache::thrift::protocol::T_STRING, 3);
-  xfer += oprot->writeString(this->nodeName);
-  xfer += oprot->writeFieldEnd();
-
-  if (this->__isset.nodeInputs) {
-    xfer += oprot->writeFieldBegin("nodeInputs", ::apache::thrift::protocol::T_LIST, 4);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeInputs.size()));
-      std::vector<DataObjectType> ::const_iterator _iter70;
-      for (_iter70 = this->nodeInputs.begin(); _iter70 != this->nodeInputs.end(); ++_iter70)
-      {
-        xfer += (*_iter70).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.nodeOutputs) {
-    xfer += oprot->writeFieldBegin("nodeOutputs", ::apache::thrift::protocol::T_LIST, 5);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeOutputs.size()));
-      std::vector<DataObjectType> ::const_iterator _iter71;
-      for (_iter71 = this->nodeOutputs.begin(); _iter71 != this->nodeOutputs.end(); ++_iter71)
-      {
-        xfer += (*_iter71).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.workflowNodeStatus) {
-    xfer += oprot->writeFieldBegin("workflowNodeStatus", ::apache::thrift::protocol::T_STRUCT, 6);
-    xfer += this->workflowNodeStatus.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.taskDetailsList) {
-    xfer += oprot->writeFieldBegin("taskDetailsList", ::apache::thrift::protocol::T_LIST, 7);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->taskDetailsList.size()));
-      std::vector<TaskDetails> ::const_iterator _iter72;
-      for (_iter72 = this->taskDetailsList.begin(); _iter72 != this->taskDetailsList.end(); ++_iter72)
-      {
-        xfer += (*_iter72).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.errors) {
-    xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 8);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
-      std::vector<ErrorDetails> ::const_iterator _iter73;
-      for (_iter73 = this->errors.begin(); _iter73 != this->errors.end(); ++_iter73)
-      {
-        xfer += (*_iter73).write(oprot);
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(WorkflowNodeDetails &a, WorkflowNodeDetails &b) {
-  using ::std::swap;
-  swap(a.nodeInstanceId, b.nodeInstanceId);
-  swap(a.creationTime, b.creationTime);
-  swap(a.nodeName, b.nodeName);
-  swap(a.nodeInputs, b.nodeInputs);
-  swap(a.nodeOutputs, b.nodeOutputs);
-  swap(a.workflowNodeStatus, b.workflowNodeStatus);
-  swap(a.taskDetailsList, b.taskDetailsList);
-  swap(a.errors, b.errors);
-  swap(a.__isset, b.__isset);
-}
-
-const char* Experiment::ascii_fingerprint = "AAEAE252F6A2D0BD15514CB57DB7745F";
-const uint8_t Experiment::binary_fingerprint[16] = {0xAA,0xEA,0xE2,0x52,0xF6,0xA2,0xD0,0xBD,0x15,0x51,0x4C,0xB5,0x7D,0xB7,0x74,0x5F};
-
-uint32_t Experiment::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_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_I64) {
-          xfer += iprot->readI64(this->creationTime);
-          this->__isset.creationTime = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->userName);
-          isset_userName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 5:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->name);
-          isset_name = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 6:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->description);
-          this->__isset.description = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 7:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->applicationId);
-          this->__isset.applicationId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 8:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->applicationVersion);
-          this->__isset.applicationVersion = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 9:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->workflowTemplateId);
-          this->__isset.workflowTemplateId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 10:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->workflowTemplateVersion);
-          this->__isset.workflowTemplateVersion = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 11:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->userConfigurationData.read(iprot);
-          this->__isset.userConfigurationData = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 12:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->workflowExecutionInstanceId);
-          this->__isset.workflowExecutionInstanceId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 13:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->experimentInputs.clear();
-            uint32_t _size74;
-            ::apache::thrift::protocol::TType _etype77;
-            xfer += iprot->readListBegin(_etype77, _size74);
-            this->experimentInputs.resize(_size74);
-            uint32_t _i78;
-            for (_i78 = 0; _i78 < _size74; ++_i78)
-            {
-              xfer += this->experimentInputs[_i78].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.experimentInputs = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 14:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->experimentOutputs.clear();
-            uint32_t _size79;
-            ::apache::thrift::protocol::TType _etype82;
-            xfer += iprot->readListBegin(_etype82, _size79);
-            this->experimentOutputs.resize(_size79);
-            uint32_t _i83;
-            for (_i83 = 0; _i83 < _size79; ++_i83)
-            {
-              xfer += this->experimentOutputs[_i83].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.experimentOutputs = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 15:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->experimentStatus.read(iprot);
-          this->__isset.experimentStatus = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 16:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->stateChangeList.clear();
-            uint32_t _size84;
-            ::apache::thrift::protocol::TType _etype87;
-            xfer 

<TRUNCATED>

[13/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Error/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Error/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Error/Types.php
deleted file mode 100644
index 1eeaa02..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Error/Types.php
+++ /dev/null
@@ -1,583 +0,0 @@
-<?php
-namespace Airavata\API\Error;
-
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * 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 AiravataErrorType {
-  const UNKNOWN = 0;
-  const PERMISSION_DENIED = 1;
-  const INTERNAL_ERROR = 2;
-  const AUTHENTICATION_FAILURE = 3;
-  const INVALID_AUTHORIZATION = 4;
-  const AUTHORIZATION_EXPIRED = 5;
-  const UNKNOWN_GATEWAY_ID = 6;
-  const UNSUPPORTED_OPERATION = 7;
-  static public $__names = array(
-    0 => 'UNKNOWN',
-    1 => 'PERMISSION_DENIED',
-    2 => 'INTERNAL_ERROR',
-    3 => 'AUTHENTICATION_FAILURE',
-    4 => 'INVALID_AUTHORIZATION',
-    5 => 'AUTHORIZATION_EXPIRED',
-    6 => 'UNKNOWN_GATEWAY_ID',
-    7 => 'UNSUPPORTED_OPERATION',
-  );
-}
-
-class ExperimentNotFoundException extends TException {
-  static $_TSPEC;
-
-  public $identifier = null;
-  public $key = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'identifier',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'key',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['identifier'])) {
-        $this->identifier = $vals['identifier'];
-      }
-      if (isset($vals['key'])) {
-        $this->key = $vals['key'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'ExperimentNotFoundException';
-  }
-
-  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->identifier);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->key);
-          } 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('ExperimentNotFoundException');
-    if ($this->identifier !== null) {
-      $xfer += $output->writeFieldBegin('identifier', TType::STRING, 1);
-      $xfer += $output->writeString($this->identifier);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->key !== null) {
-      $xfer += $output->writeFieldBegin('key', TType::STRING, 2);
-      $xfer += $output->writeString($this->key);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class InvalidRequestException extends TException {
-  static $_TSPEC;
-
-  public $message = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'message',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['message'])) {
-        $this->message = $vals['message'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'InvalidRequestException';
-  }
-
-  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->message);
-          } 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('InvalidRequestException');
-    if ($this->message !== null) {
-      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
-      $xfer += $output->writeString($this->message);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class TimedOutException extends TException {
-  static $_TSPEC;
-
-
-  public function __construct() {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        );
-    }
-  }
-
-  public function getName() {
-    return 'TimedOutException';
-  }
-
-  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)
-      {
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('TimedOutException');
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class AuthenticationException extends TException {
-  static $_TSPEC;
-
-  public $message = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'message',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['message'])) {
-        $this->message = $vals['message'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'AuthenticationException';
-  }
-
-  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->message);
-          } 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('AuthenticationException');
-    if ($this->message !== null) {
-      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
-      $xfer += $output->writeString($this->message);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class AuthorizationException extends TException {
-  static $_TSPEC;
-
-  public $message = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'message',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['message'])) {
-        $this->message = $vals['message'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'AuthorizationException';
-  }
-
-  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->message);
-          } 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('AuthorizationException');
-    if ($this->message !== null) {
-      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
-      $xfer += $output->writeString($this->message);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class AiravataClientException extends TException {
-  static $_TSPEC;
-
-  public $airavataErrorType = null;
-  public $parameter = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'airavataErrorType',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'parameter',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['airavataErrorType'])) {
-        $this->airavataErrorType = $vals['airavataErrorType'];
-      }
-      if (isset($vals['parameter'])) {
-        $this->parameter = $vals['parameter'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'AiravataClientException';
-  }
-
-  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->airavataErrorType);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->parameter);
-          } 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('AiravataClientException');
-    if ($this->airavataErrorType !== null) {
-      $xfer += $output->writeFieldBegin('airavataErrorType', TType::I32, 1);
-      $xfer += $output->writeI32($this->airavataErrorType);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->parameter !== null) {
-      $xfer += $output->writeFieldBegin('parameter', TType::STRING, 2);
-      $xfer += $output->writeString($this->parameter);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class AiravataSystemException extends TException {
-  static $_TSPEC;
-
-  public $airavataErrorType = null;
-  public $message = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'airavataErrorType',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'message',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['airavataErrorType'])) {
-        $this->airavataErrorType = $vals['airavataErrorType'];
-      }
-      if (isset($vals['message'])) {
-        $this->message = $vals['message'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'AiravataSystemException';
-  }
-
-  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->airavataErrorType);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->message);
-          } 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('AiravataSystemException');
-    if ($this->airavataErrorType !== null) {
-      $xfer += $output->writeFieldBegin('airavataErrorType', TType::I32, 1);
-      $xfer += $output->writeI32($this->airavataErrorType);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->message !== null) {
-      $xfer += $output->writeFieldBegin('message', TType::STRING, 2);
-      $xfer += $output->writeString($this->message);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Types.php
deleted file mode 100644
index 5590a42..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/API/Types.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-namespace Airavata\API;
-
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * 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;
-
-
-$GLOBALS['airavataAPI_CONSTANTS']['AIRAVATA_API_VERSION'] = "0.12.0";
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Types.php
deleted file mode 100644
index c53ef52..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Types.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-namespace Airavata\Model;
-
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * 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;
-
-
-


[10/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TCompactProtocol.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TCompactProtocol.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TCompactProtocol.php
deleted file mode 100644
index e637a59..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TCompactProtocol.php
+++ /dev/null
@@ -1,669 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Protocol;
-
-use Thrift\Protocol\TProtocol;
-use Thrift\Type\TType;
-use Thrift\Exception\TProtocolException;
-use Thrift\Factory\TStringFuncFactory;
-
-/**
- * Compact implementation of the Thrift protocol.
- *
- */
-class TCompactProtocol extends TProtocol {
-
-  const COMPACT_STOP = 0x00;
-  const COMPACT_TRUE = 0x01;
-  const COMPACT_FALSE = 0x02;
-  const COMPACT_BYTE = 0x03;
-  const COMPACT_I16 = 0x04;
-  const COMPACT_I32 = 0x05;
-  const COMPACT_I64 = 0x06;
-  const COMPACT_DOUBLE = 0x07;
-  const COMPACT_BINARY = 0x08;
-  const COMPACT_LIST = 0x09;
-  const COMPACT_SET = 0x0A;
-  const COMPACT_MAP = 0x0B;
-  const COMPACT_STRUCT = 0x0C;
-
-  const STATE_CLEAR = 0;
-  const STATE_FIELD_WRITE = 1;
-  const STATE_VALUE_WRITE = 2;
-  const STATE_CONTAINER_WRITE = 3;
-  const STATE_BOOL_WRITE = 4;
-  const STATE_FIELD_READ = 5;
-  const STATE_CONTAINER_READ = 6;
-  const STATE_VALUE_READ = 7;
-  const STATE_BOOL_READ = 8;
-
-  const VERSION_MASK = 0x1f;
-  const VERSION = 1;
-  const PROTOCOL_ID = 0x82;
-  const TYPE_MASK = 0xe0;
-  const TYPE_SHIFT_AMOUNT = 5;
-
-  protected static $ctypes = array(
-    TType::STOP => TCompactProtocol::COMPACT_STOP,
-    TType::BOOL => TCompactProtocol::COMPACT_TRUE, // used for collection
-    TType::BYTE => TCompactProtocol::COMPACT_BYTE,
-    TType::I16 => TCompactProtocol::COMPACT_I16,
-    TType::I32 => TCompactProtocol::COMPACT_I32,
-    TType::I64 => TCompactProtocol::COMPACT_I64,
-    TType::DOUBLE => TCompactProtocol::COMPACT_DOUBLE,
-    TType::STRING => TCompactProtocol::COMPACT_BINARY,
-    TType::STRUCT => TCompactProtocol::COMPACT_STRUCT,
-    TType::LST => TCompactProtocol::COMPACT_LIST,
-    TType::SET => TCompactProtocol::COMPACT_SET,
-    TType::MAP => TCompactProtocol::COMPACT_MAP,
-  );
-
-  protected static $ttypes = array(
-    TCompactProtocol::COMPACT_STOP => TType::STOP ,
-    TCompactProtocol::COMPACT_TRUE => TType::BOOL, // used for collection
-    TCompactProtocol::COMPACT_FALSE => TType::BOOL,
-    TCompactProtocol::COMPACT_BYTE => TType::BYTE,
-    TCompactProtocol::COMPACT_I16 => TType::I16,
-    TCompactProtocol::COMPACT_I32 => TType::I32,
-    TCompactProtocol::COMPACT_I64 => TType::I64,
-    TCompactProtocol::COMPACT_DOUBLE => TType::DOUBLE,
-    TCompactProtocol::COMPACT_BINARY => TType::STRING,
-    TCompactProtocol::COMPACT_STRUCT => TType::STRUCT,
-    TCompactProtocol::COMPACT_LIST => TType::LST,
-    TCompactProtocol::COMPACT_SET => TType::SET,
-    TCompactProtocol::COMPACT_MAP => TType::MAP,
-  );
-
-  protected $state = TCompactProtocol::STATE_CLEAR;
-  protected $lastFid = 0;
-  protected $boolFid = null;
-  protected $boolValue = null;
-  protected $structs = array();
-  protected $containers = array();
-
-  // Some varint / zigzag helper methods
-  public function toZigZag($n, $bits) {
-    return ($n << 1) ^ ($n >> ($bits - 1));
-  }
-
-  public function fromZigZag($n) {
-    return ($n >> 1) ^ -($n & 1);
-  }
-
-  public function getVarint($data) {
-    $out = "";
-    while (true) {
-      if (($data & ~0x7f) === 0) {
-        $out .= chr($data);
-        break;
-      } else {
-        $out .= chr(($data & 0xff) | 0x80);
-        $data = $data >> 7;
-      }
-    }
-    return $out;
-  }
-
-  public function writeVarint($data) {
-    $out = $this->getVarint($data);
-    $result = TStringFuncFactory::create()->strlen($out);
-    $this->trans_->write($out, $result);
-    return $result;
-  }
-
-  public function readVarint(&$result) {
-    $idx = 0;
-    $shift = 0;
-    $result = 0;
-    while (true) {
-      $x = $this->trans_->readAll(1);
-      $arr = unpack('C', $x);
-      $byte = $arr[1];
-      $idx += 1;
-      $result |= ($byte & 0x7f) << $shift;
-      if (($byte >> 7) === 0) {
-        return $idx;
-      }
-      $shift += 7;
-    }
-
-    return $idx;
-  }
-
-  public function __construct($trans) {
-    parent::__construct($trans);
-  }
-
-  public function writeMessageBegin($name, $type, $seqid) {
-    $written =
-      $this->writeUByte(TCompactProtocol::PROTOCOL_ID) +
-      $this->writeUByte(TCompactProtocol::VERSION |
-                        ($type << TCompactProtocol::TYPE_SHIFT_AMOUNT)) +
-      $this->writeVarint($seqid) +
-      $this->writeString($name);
-    $this->state = TCompactProtocol::STATE_VALUE_WRITE;
-    return $written;
-  }
-
-  public function writeMessageEnd() {
-    $this->state = TCompactProtocol::STATE_CLEAR;
-    return 0;
-  }
-
-  public function writeStructBegin($name) {
-    $this->structs[] = array($this->state, $this->lastFid);
-    $this->state = TCompactProtocol::STATE_FIELD_WRITE;
-    $this->lastFid = 0;
-    return 0;
-  }
-
-  public function writeStructEnd() {
-    $old_values = array_pop($this->structs);
-    $this->state = $old_values[0];
-    $this->lastFid = $old_values[1];
-    return 0;
-  }
-
-  public function writeFieldStop() {
-    return $this->writeByte(0);
-  }
-
-  public function writeFieldHeader($type, $fid) {
-    $written = 0;
-    $delta = $fid - $this->lastFid;
-    if (0 < $delta && $delta <= 15) {
-      $written = $this->writeUByte(($delta << 4) | $type);
-    } else {
-      $written = $this->writeByte($type) +
-        $this->writeI16($fid);
-    }
-    $this->lastFid = $fid;
-    return $written;
-  }
-
-  public function writeFieldBegin($field_name, $field_type, $field_id) {
-    if ($field_type == TTYPE::BOOL) {
-      $this->state = TCompactProtocol::STATE_BOOL_WRITE;
-      $this->boolFid = $field_id;
-      return 0;
-    } else {
-      $this->state = TCompactProtocol::STATE_VALUE_WRITE;
-      return $this->writeFieldHeader(self::$ctypes[$field_type], $field_id);
-    }
-  }
-
-  public function writeFieldEnd() {
-    $this->state = TCompactProtocol::STATE_FIELD_WRITE;
-    return 0;
-  }
-
-  public function writeCollectionBegin($etype, $size) {
-    $written = 0;
-    if ($size <= 14) {
-      $written = $this->writeUByte($size << 4 |
-                                    self::$ctypes[$etype]);
-    } else {
-      $written = $this->writeUByte(0xf0 |
-                                   self::$ctypes[$etype]) +
-        $this->writeVarint($size);
-    }
-    $this->containers[] = $this->state;
-    $this->state = TCompactProtocol::STATE_CONTAINER_WRITE;
-
-    return $written;
-  }
-
-  public function writeMapBegin($key_type, $val_type, $size) {
-    $written = 0;
-    if ($size == 0) {
-      $written = $this->writeByte(0);
-    } else {
-      $written = $this->writeVarint($size) +
-        $this->writeUByte(self::$ctypes[$key_type] << 4 |
-                          self::$ctypes[$val_type]);
-    }
-    $this->containers[] = $this->state;
-    return $written;
-  }
-
-  public function writeCollectionEnd() {
-    $this->state = array_pop($this->containers);
-    return 0;
-  }
-
-  public function writeMapEnd() {
-    return $this->writeCollectionEnd();
-  }
-
-  public function writeListBegin($elem_type, $size) {
-    return $this->writeCollectionBegin($elem_type, $size);
-  }
-
-  public function writeListEnd() {
-    return $this->writeCollectionEnd();
-  }
-
-  public function writeSetBegin($elem_type, $size) {
-    return $this->writeCollectionBegin($elem_type, $size);
-  }
-
-  public function writeSetEnd() {
-    return $this->writeCollectionEnd();
-  }
-
-  public function writeBool($value) {
-    if ($this->state == TCompactProtocol::STATE_BOOL_WRITE) {
-      $ctype = TCompactProtocol::COMPACT_FALSE;
-      if ($value) {
-        $ctype = TCompactProtocol::COMPACT_TRUE;
-      }
-      return $this->writeFieldHeader($ctype, $this->boolFid);
-    } else if ($this->state == TCompactProtocol::STATE_CONTAINER_WRITE) {
-      return $this->writeByte($value ? 1 : 0);
-    } else {
-      throw new TProtocolException('Invalid state in compact protocol');
-    }
-  }
-
-  public function writeByte($value) {
-    $data = pack('c', $value);
-    $this->trans_->write($data, 1);
-    return 1;
-  }
-
-  public function writeUByte($byte) {
-    $this->trans_->write(pack('C', $byte), 1);
-    return 1;
-  }
-
-  public function writeI16($value) {
-    $thing = $this->toZigZag($value, 16);
-    return $this->writeVarint($thing);
-  }
-
-  public function writeI32($value) {
-    $thing = $this->toZigZag($value, 32);
-    return $this->writeVarint($thing);
-  }
-
-  public function writeDouble($value) {
-    $data = pack('d', $value);
-    $this->trans_->write(strrev($data), 8);
-    return 8;
-  }
-
-  public function writeString($value) {
-    $len = TStringFuncFactory::create()->strlen($value);
-    $result = $this->writeVarint($len);
-    if ($len) {
-      $this->trans_->write($value, $len);
-    }
-    return $result + $len;
-  }
-
-  public function readFieldBegin(&$name, &$field_type, &$field_id) {
-    $result = $this->readUByte($field_type);
-
-    if (($field_type & 0x0f) == TType::STOP) {
-      $field_id = 0;
-      return $result;
-    }
-    $delta = $field_type >> 4;
-    if ($delta == 0) {
-      $result += $this->readI16($field_id);
-    } else {
-      $field_id = $this->lastFid + $delta;
-    }
-    $this->lastFid = $field_id;
-    $field_type = $this->getTType($field_type & 0x0f);
-    if ($field_type == TCompactProtocol::COMPACT_TRUE) {
-      $this->state = TCompactProtocol::STATE_BOOL_READ;
-      $this->boolValue = true;
-    } else if ($field_type == TCompactProtocol::COMPACT_FALSE) {
-      $this->state = TCompactProtocol::STATE_BOOL_READ;
-      $this->boolValue = false;
-    } else {
-      $this->state = TCompactProtocol::STATE_VALUE_READ;
-    }
-    return $result;
-  }
-
-  public function readFieldEnd() {
-    $this->state = TCompactProtocol::STATE_FIELD_READ;
-    return 0;
-  }
-
-  public function readUByte(&$value) {
-    $data = $this->trans_->readAll(1);
-    $arr = unpack('C', $data);
-    $value = $arr[1];
-    return 1;
-  }
-
-  public function readByte(&$value) {
-    $data = $this->trans_->readAll(1);
-    $arr = unpack('c', $data);
-    $value = $arr[1];
-    return 1;
-  }
-
-  public function readZigZag(&$value) {
-    $result = $this->readVarint($value);
-    $value = $this->fromZigZag($value);
-    return $result;
-  }
-
-  public function readMessageBegin(&$name, &$type, &$seqid) {
-    $protoId = 0;
-    $result = $this->readUByte($protoId);
-    if ($protoId != TCompactProtocol::PROTOCOL_ID) {
-      throw new TProtocolException('Bad protocol id in TCompact message');
-    }
-    $verType = 0;
-    $result += $this->readUByte($verType);
-    $type = ($verType & TCompactProtocol::TYPE_MASK) >>
-      TCompactProtocol::TYPE_SHIFT_AMOUNT;
-    $version = $verType & TCompactProtocol::VERSION_MASK;
-    if ($version != TCompactProtocol::VERSION) {
-      throw new TProtocolException('Bad version in TCompact message');
-    }
-    $result += $this->readVarint($seqId);
-    $name += $this->readString($name);
-
-    return $result;
-  }
-
-  public function readMessageEnd() {
-    return 0;
-  }
-
-  public function readStructBegin(&$name) {
-    $name = ''; // unused
-    $this->structs[] = array($this->state, $this->lastFid);
-    $this->state = TCompactProtocol::STATE_FIELD_READ;
-    $this->lastFid = 0;
-    return 0;
-  }
-
-  public function readStructEnd() {
-    $last = array_pop($this->structs);
-    $this->state = $last[0];
-    $this->lastFid = $last[1];
-    return 0;
-  }
-
-  public function readCollectionBegin(&$type, &$size) {
-    $sizeType = 0;
-    $result = $this->readUByte($sizeType);
-    $size = $sizeType >> 4;
-    $type = $this->getTType($sizeType);
-    if ($size == 15) {
-      $result += $this->readVarint($size);
-    }
-    $this->containers[] = $this->state;
-    $this->state = TCompactProtocol::STATE_CONTAINER_READ;
-
-    return $result;
-  }
-
-  public function readMapBegin(&$key_type, &$val_type, &$size) {
-    $result = $this->readVarint($size);
-    $types = 0;
-    if ($size > 0) {
-      $result += $this->readUByte($types);
-    }
-    $val_type = $this->getTType($types);
-    $key_type = $this->getTType($types >> 4);
-    $this->containers[] = $this->state;
-    $this->state = TCompactProtocol::STATE_CONTAINER_READ;
-
-    return $result;
-  }
-
-  public function readCollectionEnd() {
-    $this->state = array_pop($this->containers);
-    return 0;
-  }
-
-  public function readMapEnd() {
-    return $this->readCollectionEnd();
-  }
-
-  public function readListBegin(&$elem_type, &$size) {
-    return $this->readCollectionBegin($elem_type, $size);
-  }
-
-  public function readListEnd() {
-    return $this->readCollectionEnd();
-  }
-
-  public function readSetBegin(&$elem_type, &$size) {
-    return $this->readCollectionBegin($elem_type, $size);
-  }
-
-  public function readSetEnd() {
-    return $this->readCollectionEnd();
-  }
-
-  public function readBool(&$value) {
-    if ($this->state == TCompactProtocol::STATE_BOOL_READ) {
-      $value = $this->boolValue;
-      return 0;
-    } else if ($this->state == TCompactProtocol::STATE_CONTAINER_READ) {
-      return $this->readByte($value);
-    } else {
-      throw new TProtocolException('Invalid state in compact protocol');
-    }
-  }
-
-  public function readI16(&$value) {
-    return $this->readZigZag($value);
-  }
-
-  public function readI32(&$value) {
-    return $this->readZigZag($value);
-  }
-
-  public function readDouble(&$value) {
-    $data = strrev($this->trans_->readAll(8));
-    $arr = unpack('d', $data);
-    $value = $arr[1];
-    return 8;
-  }
-
-  public function readString(&$value) {
-    $result = $this->readVarint($len);
-    if ($len) {
-      $value = $this->trans_->readAll($len);
-    } else {
-      $value = '';
-    }
-    return $result + $len;
-  }
-
-  public function getTType($byte) {
-    return self::$ttypes[$byte & 0x0f];
-  }
-
-  // If we are on a 32bit architecture we have to explicitly deal with
-  // 64-bit twos-complement arithmetic since PHP wants to treat all ints
-  // as signed and any int over 2^31 - 1 as a float
-
-  // Read and write I64 as two 32 bit numbers $hi and $lo
-
-  public function readI64(&$value) {
-    // Read varint from wire
-    $hi = 0;
-    $lo = 0;
-
-    $idx = 0;
-    $shift = 0;
-
-    while (true) {
-      $x = $this->trans_->readAll(1);
-      $arr = unpack('C', $x);
-      $byte = $arr[1];
-      $idx += 1;
-      if ($shift < 32) {
-        $lo |= (($byte & 0x7f) << $shift) &
-          0x00000000ffffffff;
-      }
-      // Shift hi and lo together.
-      if ($shift >= 32) {
-        $hi |= (($byte & 0x7f) << ($shift - 32));
-      } else if ($shift > 25) {
-        $hi |= (($byte & 0x7f) >> ($shift - 25));
-      }
-      if (($byte >> 7) === 0) {
-        break;
-      }
-      $shift += 7;
-    }
-
-    // Now, unzig it.
-    $xorer = 0;
-    if ($lo & 1) {
-      $xorer = 0xffffffff;
-    }
-    $lo = ($lo >> 1) & 0x7fffffff;
-    $lo = $lo | (($hi & 1) << 31);
-    $hi = ($hi >> 1) ^ $xorer;
-    $lo = $lo ^ $xorer;
-
-    // Now put $hi and $lo back together
-    if (true) {
-      $isNeg = $hi  < 0;
-
-      // Check for a negative
-      if ($isNeg) {
-        $hi = ~$hi & (int)0xffffffff;
-        $lo = ~$lo & (int)0xffffffff;
-
-        if ($lo == (int)0xffffffff) {
-          $hi++;
-          $lo = 0;
-        } else {
-          $lo++;
-        }
-      }
-
-      // Force 32bit words in excess of 2G to be positive - we deal with sign
-      // explicitly below
-
-      if ($hi & (int)0x80000000) {
-        $hi &= (int)0x7fffffff;
-        $hi += 0x80000000;
-      }
-
-      if ($lo & (int)0x80000000) {
-        $lo &= (int)0x7fffffff;
-        $lo += 0x80000000;
-      }
-
-      $value = $hi * 4294967296 + $lo;
-
-      if ($isNeg) {
-        $value = 0 - $value;
-      }
-    } else {
-
-      // Upcast negatives in LSB bit
-      if ($arr[2] & 0x80000000) {
-        $arr[2] = $arr[2] & 0xffffffff;
-      }
-
-      // Check for a negative
-      if ($arr[1] & 0x80000000) {
-        $arr[1] = $arr[1] & 0xffffffff;
-        $arr[1] = $arr[1] ^ 0xffffffff;
-        $arr[2] = $arr[2] ^ 0xffffffff;
-        $value = 0 - $arr[1] * 4294967296 - $arr[2] - 1;
-      } else {
-        $value = $arr[1] * 4294967296 + $arr[2];
-      }
-    }
-
-    return $idx;
-  }
-
-  public function writeI64($value) {
-    // If we are in an I32 range, use the easy method below.
-    if (($value > 4294967296) || ($value < -4294967296)) {
-      // Convert $value to $hi and $lo
-      $neg = $value < 0;
-
-      if ($neg) {
-        $value *= -1;
-      }
-
-      $hi = (int)$value >> 32;
-      $lo = (int)$value & 0xffffffff;
-
-      if ($neg) {
-        $hi = ~$hi;
-        $lo = ~$lo;
-        if (($lo & (int)0xffffffff) == (int)0xffffffff) {
-          $lo = 0;
-          $hi++;
-        } else {
-          $lo++;
-        }
-      }
-
-      // Now do the zigging and zagging.
-      $xorer = 0;
-      if ($neg) {
-        $xorer = 0xffffffff;
-      }
-      $lowbit = ($lo >> 31) & 1;
-      $hi = ($hi << 1) | $lowbit;
-      $lo = ($lo << 1);
-      $lo = ($lo ^ $xorer) & 0xffffffff;
-      $hi = ($hi ^ $xorer) & 0xffffffff;
-
-      // now write out the varint, ensuring we shift both hi and lo
-      $out = "";
-      while (true) {
-        if (($lo & ~0x7f) === 0 &&
-           $hi === 0) {
-          $out .= chr($lo);
-          break;
-        } else {
-          $out .= chr(($lo & 0xff) | 0x80);
-          $lo = $lo >> 7;
-          $lo = $lo | ($hi << 25);
-          $hi = $hi >> 7;
-          // Right shift carries sign, but we don't want it to.
-          $hi = $hi & (127 << 25);
-        }
-      }
-
-      $ret = TStringFuncFactory::create()->strlen($out);
-      $this->trans_->write($out, $ret);
-
-      return $ret;
-    } else {
-      return $this->writeVarint($this->toZigZag($value, 64));
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TJSONProtocol.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TJSONProtocol.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TJSONProtocol.php
deleted file mode 100644
index 3d39583..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TJSONProtocol.php
+++ /dev/null
@@ -1,694 +0,0 @@
-<?php
-
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Protocol;
-
-use Thrift\Protocol\TProtocol;
-use Thrift\Type\TType;
-use Thrift\Exception\TProtocolException;
-use Thrift\Protocol\JSON\BaseContext;
-use Thrift\Protocol\JSON\LookaheadReader;
-use Thrift\Protocol\JSON\PairContext;
-use Thrift\Protocol\JSON\ListContext;
-
-/**
- * JSON implementation of thrift protocol, ported from Java.
- */
-class TJSONProtocol extends TProtocol
-{
-    const COMMA = ',';
-    const COLON = ':';
-    const LBRACE = '{';
-    const RBRACE = '}';
-    const LBRACKET = '[';
-    const RBRACKET = ']';
-    const QUOTE = '"';
-    const BACKSLASH = '\\';
-    const ZERO = '0';
-    const ESCSEQ = '\\';
-    const DOUBLEESC = '__DOUBLE_ESCAPE_SEQUENCE__';
-
-    const VERSION = 1;
-
-    public static $JSON_CHAR_TABLE = array(
-        /*  0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F */
-        0, 0, 0, 0, 0, 0, 0, 0, 'b', 't', 'n', 0, 'f', 'r', 0, 0, // 0
-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1
-        1, 1, '"', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2
-    );
-
-    public static $ESCAPE_CHARS = array('"', '\\', "b", "f", "n", "r", "t");
-
-    public static $ESCAPE_CHAR_VALS = array(
-        '"', '\\', "\x08", "\f", "\n", "\r", "\t",
-    );
-
-    const NAME_BOOL = "tf";
-    const NAME_BYTE = "i8";
-    const NAME_I16 = "i16";
-    const NAME_I32 = "i32";
-    const NAME_I64 = "i64";
-    const NAME_DOUBLE = "dbl";
-    const NAME_STRUCT = "rec";
-    const NAME_STRING = "str";
-    const NAME_MAP = "map";
-    const NAME_LIST = "lst";
-    const NAME_SET = "set";
-
-    private function getTypeNameForTypeID($typeID)
-    {
-        switch ($typeID) {
-            case TType::BOOL:
-                return self::NAME_BOOL;
-            case TType::BYTE:
-                return self::NAME_BYTE;
-            case TType::I16:
-                return self::NAME_I16;
-            case TType::I32:
-                return self::NAME_I32;
-            case TType::I64:
-                return self::NAME_I64;
-            case TType::DOUBLE:
-                return self::NAME_DOUBLE;
-            case TType::STRING:
-                return self::NAME_STRING;
-            case TType::STRUCT:
-                return self::NAME_STRUCT;
-            case TType::MAP:
-                return self::NAME_MAP;
-            case TType::SET:
-                return self::NAME_SET;
-            case TType::LST:
-                return self::NAME_LIST;
-            default:
-                throw new TProtocolException("Unrecognized type", TProtocolException::UNKNOWN);
-        }
-    }
-
-    private function getTypeIDForTypeName($name)
-    {
-        $result = TType::STOP;
-
-        if (strlen($name) > 1) {
-            switch (substr($name, 0, 1)) {
-                case 'd':
-                    $result = TType::DOUBLE;
-                    break;
-                case 'i':
-                    switch (substr($name, 1, 1)) {
-                        case '8':
-                            $result = TType::BYTE;
-                            break;
-                        case '1':
-                            $result = TType::I16;
-                            break;
-                        case '3':
-                            $result = TType::I32;
-                            break;
-                        case '6':
-                            $result = TType::I64;
-                            break;
-                    }
-                    break;
-                case 'l':
-                    $result = TType::LST;
-                    break;
-                case 'm':
-                    $result = TType::MAP;
-                    break;
-                case 'r':
-                    $result = TType::STRUCT;
-                    break;
-                case 's':
-                    if (substr($name, 1, 1) == 't') {
-                        $result = TType::STRING;
-                    }
-                    else if (substr($name, 1, 1) == 'e') {
-                        $result = TType::SET;
-                    }
-                    break;
-                case 't':
-                    $result = TType::BOOL;
-                    break;
-            }
-        }
-        if ($result == TType::STOP) {
-            throw new TProtocolException("Unrecognized type", TProtocolException::INVALID_DATA);
-        }
-        return $result;
-    }
-
-    public $contextStack_ = array();
-    public $context_;
-    public $reader_;
-
-    private function pushContext($c) {
-        array_push($this->contextStack_, $this->context_);
-        $this->context_ = $c;
-    }
-
-    private function popContext() {
-        $this->context_ = array_pop($this->contextStack_);
-    }
-
-    public function __construct($trans) {
-        parent::__construct($trans);
-        $this->context_ = new BaseContext();
-        $this->reader_ = new LookaheadReader($this);
-    }
-
-    public function reset() {
-        $this->contextStack_ = array();
-        $this->context_ = new BaseContext();
-        $this->reader_ = new LookaheadReader($this);
-    }
-
-    private $tmpbuf_ = array(4);
-
-    public function readJSONSyntaxChar($b) {
-        $ch = $this->reader_->read();
-
-        if (substr($ch, 0, 1) != $b) {
-            throw new TProtocolException("Unexpected character: " . $ch, TProtocolException::INVALID_DATA);
-        }
-    }
-
-    private function hexVal($s) {
-        for ($i = 0; $i < strlen($s); $i++) {
-            $ch = substr($s, $i, 1);
-
-            if (!($ch >= "a" && $ch <= "f") && !($ch >= "0" && $ch <= "9")) {
-                throw new TProtocolException("Expected hex character " . $ch, TProtocolException::INVALID_DATA);
-            }
-        }
-
-        return hexdec($s);
-    }
-
-    private function hexChar($val) {
-        return dechex($val);
-    }
-
-    private function writeJSONString($b) {
-        $this->context_->write();
-
-        if (is_numeric($b) && $this->context_->escapeNum()) {
-            $this->trans_->write(self::QUOTE);
-        }
-
-        $this->trans_->write(json_encode($b));
-
-        if (is_numeric($b) && $this->context_->escapeNum()) {
-            $this->trans_->write(self::QUOTE);
-        }
-    }
-
-    private function writeJSONInteger($num) {
-        $this->context_->write();
-
-        if ($this->context_->escapeNum()) {
-            $this->trans_->write(self::QUOTE);
-        }
-
-        $this->trans_->write($num);
-
-        if ($this->context_->escapeNum()) {
-            $this->trans_->write(self::QUOTE);
-        }
-    }
-
-    private function writeJSONDouble($num) {
-        $this->context_->write();
-
-        if ($this->context_->escapeNum()) {
-            $this->trans_->write(self::QUOTE);
-        }
-
-        $this->trans_->write(json_encode($num));
-
-        if ($this->context_->escapeNum()) {
-            $this->trans_->write(self::QUOTE);
-        }
-    }
-
-    private function writeJSONBase64($data) {
-        $this->context_->write();
-        $this->trans_->write(self::QUOTE);
-        $this->trans_->write(json_encode(base64_encode($data)));
-        $this->trans_->write(self::QUOTE);
-    }
-
-    private function writeJSONObjectStart() {
-      $this->context_->write();
-      $this->trans_->write(self::LBRACE);
-      $this->pushContext(new PairContext($this));
-    }
-
-    private function writeJSONObjectEnd() {
-      $this->popContext();
-      $this->trans_->write(self::RBRACE);
-    }
-
-    private function writeJSONArrayStart() {
-      $this->context_->write();
-      $this->trans_->write(self::LBRACKET);
-      $this->pushContext(new ListContext($this));
-    }
-
-    private function writeJSONArrayEnd() {
-      $this->popContext();
-      $this->trans_->write(self::RBRACKET);
-    }
-
-    private function readJSONString($skipContext) {
-      if (!$skipContext) {
-        $this->context_->read();
-      }
-
-      $jsonString = '';
-      $lastChar = NULL;
-      while (true) {
-        $ch = $this->reader_->read();
-        $jsonString .= $ch;
-        if ($ch == self::QUOTE &&
-          $lastChar !== NULL &&
-            $lastChar !== self::ESCSEQ) {
-          break;
-        }
-        if ($ch == self::ESCSEQ && $lastChar == self::ESCSEQ) {
-          $lastChar = self::DOUBLEESC;
-        } else {
-          $lastChar = $ch;
-        }
-      }
-      return json_decode($jsonString);
-    }
-
-    private function isJSONNumeric($b) {
-        switch ($b) {
-            case '+':
-            case '-':
-            case '.':
-            case '0':
-            case '1':
-            case '2':
-            case '3':
-            case '4':
-            case '5':
-            case '6':
-            case '7':
-            case '8':
-            case '9':
-            case 'E':
-            case 'e':
-              return true;
-            }
-        return false;
-    }
-
-    private function readJSONNumericChars() {
-        $strbld = array();
-
-        while (true) {
-            $ch = $this->reader_->peek();
-
-            if (!$this->isJSONNumeric($ch)) {
-                break;
-            }
-
-            $strbld[] = $this->reader_->read();
-        }
-
-        return implode("", $strbld);
-    }
-
-    private function readJSONInteger() {
-        $this->context_->read();
-
-        if ($this->context_->escapeNum()) {
-            $this->readJSONSyntaxChar(self::QUOTE);
-        }
-
-        $str = $this->readJSONNumericChars();
-
-        if ($this->context_->escapeNum()) {
-            $this->readJSONSyntaxChar(self::QUOTE);
-        }
-
-        if (!is_numeric($str)) {
-            throw new TProtocolException("Invalid data in numeric: " . $str, TProtocolException::INVALID_DATA);
-        }
-
-        return intval($str);
-    }
-
-    /**
-     * Identical to readJSONInteger but without the final cast.
-     * Needed for proper handling of i64 on 32 bit machines.  Why a
-     * separate function?  So we don't have to force the rest of the
-     * use cases through the extra conditional.
-     */
-    private function readJSONIntegerAsString() {
-        $this->context_->read();
-
-        if ($this->context_->escapeNum()) {
-            $this->readJSONSyntaxChar(self::QUOTE);
-        }
-
-        $str = $this->readJSONNumericChars();
-
-        if ($this->context_->escapeNum()) {
-            $this->readJSONSyntaxChar(self::QUOTE);
-        }
-
-        if (!is_numeric($str)) {
-            throw new TProtocolException("Invalid data in numeric: " . $str, TProtocolException::INVALID_DATA);
-        }
-
-        return $str;
-    }
-
-    private function readJSONDouble() {
-        $this->context_->read();
-
-        if (substr($this->reader_->peek(), 0, 1) == self::QUOTE) {
-            $arr = $this->readJSONString(true);
-
-            if ($arr == "NaN") {
-                return NAN;
-            } else if ($arr == "Infinity") {
-                return INF;
-            } else if (!$this->context_->escapeNum()) {
-                throw new TProtocolException("Numeric data unexpectedly quoted " . $arr,
-                                              TProtocolException::INVALID_DATA);
-            }
-
-            return floatval($arr);
-        } else {
-            if ($this->context_->escapeNum()) {
-                $this->readJSONSyntaxChar(self::QUOTE);
-            }
-
-            return floatval($this->readJSONNumericChars());
-        }
-    }
-
-    private function readJSONBase64() {
-        $arr = $this->readJSONString(false);
-        $data = base64_decode($arr, true);
-
-        if ($data === false) {
-            throw new TProtocolException("Invalid base64 data " . $arr, TProtocolException::INVALID_DATA);
-        }
-
-        return $data;
-    }
-
-    private function readJSONObjectStart() {
-        $this->context_->read();
-        $this->readJSONSyntaxChar(self::LBRACE);
-        $this->pushContext(new PairContext($this));
-    }
-
-    private function readJSONObjectEnd() {
-        $this->readJSONSyntaxChar(self::RBRACE);
-        $this->popContext();
-    }
-
-    private function readJSONArrayStart()
-    {
-        $this->context_->read();
-        $this->readJSONSyntaxChar(self::LBRACKET);
-        $this->pushContext(new ListContext($this));
-    }
-
-    private function readJSONArrayEnd() {
-        $this->readJSONSyntaxChar(self::RBRACKET);
-        $this->popContext();
-    }
-
-    /**
-     * Writes the message header
-     *
-     * @param string $name Function name
-     * @param int $type message type TMessageType::CALL or TMessageType::REPLY
-     * @param int $seqid The sequence id of this message
-     */
-    public function writeMessageBegin($name, $type, $seqid) {
-        $this->writeJSONArrayStart();
-        $this->writeJSONInteger(self::VERSION);
-        $this->writeJSONString($name);
-        $this->writeJSONInteger($type);
-        $this->writeJSONInteger($seqid);
-    }
-
-    /**
-     * Close the message
-     */
-    public function writeMessageEnd() {
-        $this->writeJSONArrayEnd();
-    }
-
-    /**
-     * Writes a struct header.
-     *
-     * @param string     $name Struct name
-     * @throws TException on write error
-     * @return int How many bytes written
-     */
-    public function writeStructBegin($name) {
-        $this->writeJSONObjectStart();
-    }
-
-    /**
-     * Close a struct.
-     *
-     * @throws TException on write error
-     * @return int How many bytes written
-     */
-    public function writeStructEnd() {
-        $this->writeJSONObjectEnd();
-    }
-
-    public function writeFieldBegin($fieldName, $fieldType, $fieldId) {
-        $this->writeJSONInteger($fieldId);
-        $this->writeJSONObjectStart();
-        $this->writeJSONString($this->getTypeNameForTypeID($fieldType));
-    }
-
-    public function writeFieldEnd() {
-        $this->writeJsonObjectEnd();
-    }
-
-    public function writeFieldStop() {
-    }
-
-    public function writeMapBegin($keyType, $valType, $size) {
-        $this->writeJSONArrayStart();
-        $this->writeJSONString($this->getTypeNameForTypeID($keyType));
-        $this->writeJSONString($this->getTypeNameForTypeID($valType));
-        $this->writeJSONInteger($size);
-        $this->writeJSONObjectStart();
-    }
-
-    public function writeMapEnd() {
-        $this->writeJSONObjectEnd();
-        $this->writeJSONArrayEnd();
-    }
-
-    public function writeListBegin($elemType, $size) {
-        $this->writeJSONArrayStart();
-        $this->writeJSONString($this->getTypeNameForTypeID($elemType));
-        $this->writeJSONInteger($size);
-    }
-
-    public function writeListEnd() {
-        $this->writeJSONArrayEnd();
-    }
-
-    public function writeSetBegin($elemType, $size) {
-        $this->writeJSONArrayStart();
-        $this->writeJSONString($this->getTypeNameForTypeID($elemType));
-        $this->writeJSONInteger($size);
-    }
-
-    public function writeSetEnd() {
-        $this->writeJSONArrayEnd();
-    }
-
-    public function writeBool($bool) {
-        $this->writeJSONInteger($bool ? 1 : 0);
-    }
-
-    public function writeByte($byte) {
-        $this->writeJSONInteger($byte);
-    }
-
-    public function writeI16($i16) {
-        $this->writeJSONInteger($i16);
-    }
-
-    public function writeI32($i32) {
-        $this->writeJSONInteger($i32);
-    }
-
-    public function writeI64($i64) {
-        $this->writeJSONInteger($i64);
-    }
-
-    public function writeDouble($dub) {
-        $this->writeJSONDouble($dub);
-    }
-
-    public function writeString($str) {
-        $this->writeJSONString($str);
-    }
-
-    /**
-     * Reads the message header
-     *
-     * @param string $name Function name
-     * @param int $type message type TMessageType::CALL or TMessageType::REPLY
-     * @parem int $seqid The sequence id of this message
-     */
-    public function readMessageBegin(&$name, &$type, &$seqid) {
-        $this->readJSONArrayStart();
-
-        if ($this->readJSONInteger() != self::VERSION) {
-            throw new TProtocolException("Message contained bad version", TProtocolException::BAD_VERSION);
-        }
-
-        $name = $this->readJSONString(false);
-        $type = $this->readJSONInteger();
-        $seqid = $this->readJSONInteger();
-
-        return true;
-    }
-
-    /**
-     * Read the close of message
-     */
-    public function readMessageEnd() {
-        $this->readJSONArrayEnd();
-    }
-
-    public function readStructBegin(&$name) {
-        $this->readJSONObjectStart();
-        return 0;
-    }
-
-    public function readStructEnd() {
-        $this->readJSONObjectEnd();
-    }
-
-    public function readFieldBegin(&$name, &$fieldType, &$fieldId) {
-        $ch = $this->reader_->peek();
-        $name = "";
-
-        if (substr($ch, 0, 1) == self::RBRACE) {
-            $fieldType = TType::STOP;
-        } else {
-            $fieldId = $this->readJSONInteger();
-            $this->readJSONObjectStart();
-            $fieldType = $this->getTypeIDForTypeName($this->readJSONString(false));
-        }
-    }
-
-    public function readFieldEnd() {
-        $this->readJSONObjectEnd();
-    }
-
-    public function readMapBegin(&$keyType, &$valType, &$size) {
-        $this->readJSONArrayStart();
-        $keyType = $this->getTypeIDForTypeName($this->readJSONString(false));
-        $valType = $this->getTypeIDForTypeName($this->readJSONString(false));
-        $size = $this->readJSONInteger();
-        $this->readJSONObjectStart();
-    }
-
-    public function readMapEnd() {
-        $this->readJSONObjectEnd();
-        $this->readJSONArrayEnd();
-    }
-
-    public function readListBegin(&$elemType, &$size) {
-        $this->readJSONArrayStart();
-        $elemType = $this->getTypeIDForTypeName($this->readJSONString(false));
-        $size = $this->readJSONInteger();
-        return true;
-    }
-
-    public function readListEnd() {
-        $this->readJSONArrayEnd();
-    }
-
-    public function readSetBegin(&$elemType, &$size) {
-        $this->readJSONArrayStart();
-        $elemType = $this->getTypeIDForTypeName($this->readJSONString(false));
-        $size = $this->readJSONInteger();
-        return true;
-    }
-
-    public function readSetEnd() {
-        $this->readJSONArrayEnd();
-    }
-
-    public function readBool(&$bool) {
-        $bool = $this->readJSONInteger() == 0 ? false : true;
-        return true;
-    }
-
-    public function readByte(&$byte) {
-        $byte = $this->readJSONInteger();
-        return true;
-    }
-
-    public function readI16(&$i16) {
-        $i16 = $this->readJSONInteger();
-        return true;
-    }
-
-    public function readI32(&$i32) {
-        $i32 = $this->readJSONInteger();
-        return true;
-    }
-
-    public function readI64(&$i64) {
-        if ( PHP_INT_SIZE === 4 ) {
-            $i64 = $this->readJSONIntegerAsString();
-        } else {
-            $i64 = $this->readJSONInteger();
-        }
-        return true;
-    }
-
-    public function readDouble(&$dub) {
-        $dub = $this->readJSONDouble();
-        return true;
-    }
-
-    public function readString(&$str) {
-        $str = $this->readJSONString(false);
-        return true;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TProtocol.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TProtocol.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TProtocol.php
deleted file mode 100644
index 380ff10..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TProtocol.php
+++ /dev/null
@@ -1,340 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Protocol;
-
-use Thrift\Type\TType;
-use Thrift\Exception\TProtocolException;
-
-/**
- * Protocol base class module.
- */
-abstract class TProtocol {
-
-  /**
-   * Underlying transport
-   *
-   * @var TTransport
-   */
-  protected $trans_;
-
-  /**
-   * Constructor
-   */
-  protected function __construct($trans) {
-    $this->trans_ = $trans;
-  }
-
-  /**
-   * Accessor for transport
-   *
-   * @return TTransport
-   */
-  public function getTransport() {
-    return $this->trans_;
-  }
-
-  /**
-   * Writes the message header
-   *
-   * @param string $name Function name
-   * @param int $type message type TMessageType::CALL or TMessageType::REPLY
-   * @param int $seqid The sequence id of this message
-   */
-  public abstract function writeMessageBegin($name, $type, $seqid);
-
-  /**
-   * Close the message
-   */
-  public abstract function writeMessageEnd();
-
-  /**
-   * Writes a struct header.
-   *
-   * @param string     $name Struct name
-   * @throws TException on write error
-   * @return int How many bytes written
-   */
-  public abstract function writeStructBegin($name);
-
-  /**
-   * Close a struct.
-   *
-   * @throws TException on write error
-   * @return int How many bytes written
-   */
-  public abstract function writeStructEnd();
-
-  /*
-   * Starts a field.
-   *
-   * @param string     $name Field name
-   * @param int        $type Field type
-   * @param int        $fid  Field id
-   * @throws TException on write error
-   * @return int How many bytes written
-   */
-  public abstract function writeFieldBegin($fieldName, $fieldType, $fieldId);
-
-  public abstract function writeFieldEnd();
-
-  public abstract function writeFieldStop();
-
-  public abstract function writeMapBegin($keyType, $valType, $size);
-
-  public abstract function writeMapEnd();
-
-  public abstract function writeListBegin($elemType, $size);
-
-  public abstract function writeListEnd();
-
-  public abstract function writeSetBegin($elemType, $size);
-
-  public abstract function writeSetEnd();
-
-  public abstract function writeBool($bool);
-
-  public abstract function writeByte($byte);
-
-  public abstract function writeI16($i16);
-
-  public abstract function writeI32($i32);
-
-  public abstract function writeI64($i64);
-
-  public abstract function writeDouble($dub);
-
-  public abstract function writeString($str);
-
-  /**
-   * Reads the message header
-   *
-   * @param string $name Function name
-   * @param int $type message type TMessageType::CALL or TMessageType::REPLY
-   * @parem int $seqid The sequence id of this message
-   */
-  public abstract function readMessageBegin(&$name, &$type, &$seqid);
-
-  /**
-   * Read the close of message
-   */
-  public abstract function readMessageEnd();
-
-  public abstract function readStructBegin(&$name);
-
-  public abstract function readStructEnd();
-
-  public abstract function readFieldBegin(&$name, &$fieldType, &$fieldId);
-
-  public abstract function readFieldEnd();
-
-  public abstract function readMapBegin(&$keyType, &$valType, &$size);
-
-  public abstract function readMapEnd();
-
-  public abstract function readListBegin(&$elemType, &$size);
-
-  public abstract function readListEnd();
-
-  public abstract function readSetBegin(&$elemType, &$size);
-
-  public abstract function readSetEnd();
-
-  public abstract function readBool(&$bool);
-
-  public abstract function readByte(&$byte);
-
-  public abstract function readI16(&$i16);
-
-  public abstract function readI32(&$i32);
-
-  public abstract function readI64(&$i64);
-
-  public abstract function readDouble(&$dub);
-
-  public abstract function readString(&$str);
-
-  /**
-   * The skip function is a utility to parse over unrecognized date without
-   * causing corruption.
-   *
-   * @param TType $type What type is it
-   */
-  public function skip($type) {
-    switch ($type) {
-    case TType::BOOL:
-      return $this->readBool($bool);
-    case TType::BYTE:
-      return $this->readByte($byte);
-    case TType::I16:
-      return $this->readI16($i16);
-    case TType::I32:
-      return $this->readI32($i32);
-    case TType::I64:
-      return $this->readI64($i64);
-    case TType::DOUBLE:
-      return $this->readDouble($dub);
-    case TType::STRING:
-      return $this->readString($str);
-    case TType::STRUCT:
-      {
-        $result = $this->readStructBegin($name);
-        while (true) {
-          $result += $this->readFieldBegin($name, $ftype, $fid);
-          if ($ftype == TType::STOP) {
-            break;
-          }
-          $result += $this->skip($ftype);
-          $result += $this->readFieldEnd();
-        }
-        $result += $this->readStructEnd();
-        return $result;
-      }
-    case TType::MAP:
-      {
-        $result = $this->readMapBegin($keyType, $valType, $size);
-        for ($i = 0; $i < $size; $i++) {
-          $result += $this->skip($keyType);
-          $result += $this->skip($valType);
-        }
-        $result += $this->readMapEnd();
-        return $result;
-      }
-    case TType::SET:
-      {
-        $result = $this->readSetBegin($elemType, $size);
-        for ($i = 0; $i < $size; $i++) {
-          $result += $this->skip($elemType);
-        }
-        $result += $this->readSetEnd();
-        return $result;
-      }
-    case TType::LST:
-      {
-        $result = $this->readListBegin($elemType, $size);
-        for ($i = 0; $i < $size; $i++) {
-          $result += $this->skip($elemType);
-        }
-        $result += $this->readListEnd();
-        return $result;
-      }
-    default:
-      throw new TProtocolException('Unknown field type: '.$type,
-                                   TProtocolException::INVALID_DATA);
-    }
-  }
-
-  /**
-   * Utility for skipping binary data
-   *
-   * @param TTransport $itrans TTransport object
-   * @param int        $type   Field type
-   */
-  public static function skipBinary($itrans, $type) {
-    switch ($type) {
-    case TType::BOOL:
-      return $itrans->readAll(1);
-    case TType::BYTE:
-      return $itrans->readAll(1);
-    case TType::I16:
-      return $itrans->readAll(2);
-    case TType::I32:
-      return $itrans->readAll(4);
-    case TType::I64:
-      return $itrans->readAll(8);
-    case TType::DOUBLE:
-      return $itrans->readAll(8);
-    case TType::STRING:
-      $len = unpack('N', $itrans->readAll(4));
-      $len = $len[1];
-      if ($len > 0x7fffffff) {
-        $len = 0 - (($len - 1) ^ 0xffffffff);
-      }
-      return 4 + $itrans->readAll($len);
-    case TType::STRUCT:
-      {
-        $result = 0;
-        while (true) {
-          $ftype = 0;
-          $fid = 0;
-          $data = $itrans->readAll(1);
-          $arr = unpack('c', $data);
-          $ftype = $arr[1];
-          if ($ftype == TType::STOP) {
-            break;
-          }
-          // I16 field id
-          $result += $itrans->readAll(2);
-          $result += self::skipBinary($itrans, $ftype);
-        }
-        return $result;
-      }
-    case TType::MAP:
-      {
-        // Ktype
-        $data = $itrans->readAll(1);
-        $arr = unpack('c', $data);
-        $ktype = $arr[1];
-        // Vtype
-        $data = $itrans->readAll(1);
-        $arr = unpack('c', $data);
-        $vtype = $arr[1];
-        // Size
-        $data = $itrans->readAll(4);
-        $arr = unpack('N', $data);
-        $size = $arr[1];
-        if ($size > 0x7fffffff) {
-          $size = 0 - (($size - 1) ^ 0xffffffff);
-        }
-        $result = 6;
-        for ($i = 0; $i < $size; $i++) {
-          $result += self::skipBinary($itrans, $ktype);
-          $result += self::skipBinary($itrans, $vtype);
-        }
-        return $result;
-      }
-    case TType::SET:
-    case TType::LST:
-      {
-        // Vtype
-        $data = $itrans->readAll(1);
-        $arr = unpack('c', $data);
-        $vtype = $arr[1];
-        // Size
-        $data = $itrans->readAll(4);
-        $arr = unpack('N', $data);
-        $size = $arr[1];
-        if ($size > 0x7fffffff) {
-          $size = 0 - (($size - 1) ^ 0xffffffff);
-        }
-        $result = 5;
-        for ($i = 0; $i < $size; $i++) {
-          $result += self::skipBinary($itrans, $vtype);
-        }
-        return $result;
-      }
-    default:
-      throw new TProtocolException('Unknown field type: '.$type,
-                                   TProtocolException::INVALID_DATA);
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Serializer/TBinarySerializer.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Serializer/TBinarySerializer.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Serializer/TBinarySerializer.php
deleted file mode 100644
index 2a7cc3e..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Serializer/TBinarySerializer.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- * @author: rmarin (marin.radu@facebook.com)
- */
-
-namespace Thrift\Serializer;
-
-use Thrift\Transport\TMemoryBuffer;
-use Thrift\Protocol\TBinaryProtocolAccelerated;
-use Thrift\Type\TMessageType;
-
-/**
- * Utility class for serializing and deserializing
- * a thrift object using TBinaryProtocolAccelerated.
- */
-class TBinarySerializer {
-
-  // NOTE(rmarin): Because thrift_protocol_write_binary
-  // adds a begin message prefix, you cannot specify
-  // a transport in which to serialize an object. It has to
-  // be a string. Otherwise we will break the compatibility with
-  // normal deserialization.
-  public static function serialize($object) {
-    $transport = new TMemoryBuffer();
-    $protocol = new TBinaryProtocolAccelerated($transport);
-    if (function_exists('thrift_protocol_write_binary')) {
-      thrift_protocol_write_binary($protocol, $object->getName(),
-                                   TMessageType::REPLY, $object,
-                                   0, $protocol->isStrictWrite());
-
-      $protocol->readMessageBegin($unused_name, $unused_type,
-                                  $unused_seqid);
-    } else {
-      $object->write($protocol);
-    }
-    $protocol->getTransport()->flush();
-    return $transport->getBuffer();
-  }
-
-  public static function deserialize($string_object, $class_name) {
-     $transport = new TMemoryBuffer();
-     $protocol = new TBinaryProtocolAccelerated($transport);
-     if (function_exists('thrift_protocol_read_binary')) {
-       $protocol->writeMessageBegin('', TMessageType::REPLY, 0);
-       $transport->write($string_object);
-       return thrift_protocol_read_binary($protocol, $class_name,
-                                          $protocol->isStrictRead());
-     } else {
-       $transport->write($string_object);
-       $object = new $class_name();
-       $object->read($protocol);
-       return $object;
-     }
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TForkingServer.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TForkingServer.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TForkingServer.php
deleted file mode 100644
index 6fca305..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TForkingServer.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-
-namespace Thrift\Server;
-
-use Thrift\Server\TServer;
-use Thrift\Transport\TTransport;
-use Thrift\Exception\TException;
-use Thrift\Exception\TTransportException;
-
-/**
- * A forking implementation of a Thrift server.
- *
- * @package thrift.server
- */
-class TForkingServer extends TServer {
-  /**
-   * Flag for the main serving loop
-   *
-   * @var bool
-   */
-  private $stop_ = false;
-
-  /**
-   * List of children.
-   *
-   * @var array
-   */
-  protected $children_ = array();
-
-  /**
-   * Listens for new client using the supplied
-   * transport. We fork when a new connection
-   * arrives.
-   *
-   * @return void
-   */
-  public function serve() {
-    $this->transport_->listen();
-
-    while (!$this->stop_) {
-      try {
-        $transport = $this->transport_->accept();
-
-        if ($transport != null) {
-          $pid = pcntl_fork();
-
-          if ($pid > 0) {
-            $this->handleParent($transport, $pid);
-          }
-          else if ($pid === 0) {
-            $this->handleChild($transport);
-          }
-          else {
-            throw new TException('Failed to fork');
-          }
-        }
-      }
-      catch (TTransportException $e) { }
-
-      $this->collectChildren();
-    }
-  }
-
-  /**
-   * Code run by the parent
-   *
-   * @param TTransport $transport
-   * @param int $pid
-   * @return void
-   */
-  private function handleParent(TTransport $transport, $pid) {
-    $this->children_[$pid] = $transport;
-  }
-
-  /**
-   * Code run by the child.
-   *
-   * @param TTransport $transport
-   * @return void
-   */
-  private function handleChild(TTransport $transport) {
-    try {
-      $inputTransport = $this->inputTransportFactory_->getTransport($transport);
-      $outputTransport = $this->outputTransportFactory_->getTransport($transport);
-      $inputProtocol = $this->inputProtocolFactory_->getProtocol($inputTransport);
-      $outputProtocol = $this->outputProtocolFactory_->getProtocol($outputTransport);
-      while ($this->processor_->process($inputProtocol, $outputProtocol)) { }
-      @$transport->close();
-    }
-    catch (TTransportException $e) { }
-
-    exit(0);
-  }
-
-  /**
-   * Collects any children we may have
-   *
-   * @return void
-   */
-  private function collectChildren() {
-    foreach ($this->children_ as $pid => $transport) {
-      if (pcntl_waitpid($pid, $status, WNOHANG) > 0) {
-        unset($this->children_[$pid]);
-        if ($transport) @$transport->close();
-      }
-    }
-  }
-
-  /**
-   * Stops the server running. Kills the transport
-   * and then stops the main serving loop
-   *
-   * @return void
-   */
-  public function stop() {
-    $this->transport_->close();
-    $this->stop_ = true;
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServer.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServer.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServer.php
deleted file mode 100644
index 343bf4b..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServer.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-namespace Thrift\Server;
-
-use Thrift\Server\TServerTransport;
-use Thrift\Factory\TTransportFactory;
-use Thrift\Factory\TProtocolFactory;
-
-/**
- * Generic class for a Thrift server.
- *
- * @package thrift.server
- */
-abstract class TServer {
-
-  /**
-   * Processor to handle new clients
-   *
-   * @var TProcessor
-   */
-  protected $processor_;
-
-  /**
-   * Server transport to be used for listening
-   * and accepting new clients
-   *
-   * @var TServerTransport
-   */
-  protected $transport_;
-
-  /**
-   * Input transport factory
-   *
-   * @var TTransportFactory
-   */
-  protected $inputTransportFactory_;
-
-  /**
-   * Output transport factory
-   *
-   * @var TTransportFactory
-   */
-  protected $outputTransportFactory_;
-
-  /**
-   * Input protocol factory
-   *
-   * @var TProtocolFactory
-   */
-  protected $inputProtocolFactory_;
-
-  /**
-   * Output protocol factory
-   *
-   * @var TProtocolFactory
-   */
-  protected $outputProtocolFactory_;
-
-  /**
-   * Sets up all the factories, etc
-   *
-   * @param object $processor
-   * @param TServerTransport $transport
-   * @param TTransportFactory $inputTransportFactory
-   * @param TTransportFactory $outputTransportFactory
-   * @param TProtocolFactory $inputProtocolFactory
-   * @param TProtocolFactory $outputProtocolFactory
-   * @return void
-   */
-  public function __construct($processor,
-                              TServerTransport $transport,
-                              TTransportFactory $inputTransportFactory,
-                              TTransportFactory $outputTransportFactory,
-                              TProtocolFactory $inputProtocolFactory,
-                              TProtocolFactory $outputProtocolFactory) {
-    $this->processor_ = $processor;
-    $this->transport_ = $transport;
-    $this->inputTransportFactory_ = $inputTransportFactory;
-    $this->outputTransportFactory_ = $outputTransportFactory;
-    $this->inputProtocolFactory_ = $inputProtocolFactory;
-    $this->outputProtocolFactory_ = $outputProtocolFactory;
-  }
-
-  /**
-   * Serves the server. This should never return
-   * unless a problem permits it to do so or it
-   * is interrupted intentionally
-   *
-   * @abstract
-   * @return void
-   */
-  abstract public function serve();
-
-  /**
-   * Stops the server serving
-   *
-   * @abstract
-   * @return void
-   */
-  abstract public function stop();
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServerSocket.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServerSocket.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServerSocket.php
deleted file mode 100644
index 00a6fb9..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServerSocket.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-namespace Thrift\Server;
-
-use Thrift\Server\TServerTransport;
-use Thrift\Transport\TSocket;
-
-/**
- * Socket implementation of a server agent.
- *
- * @package thrift.transport
- */
-class TServerSocket extends TServerTransport {
-
-  /**
-   * Handle for the listener socket
-   *
-   * @var resource
-   */
-  private $listener_;
-
-  /**
-   * Port for the listener to listen on
-   *
-   * @var int
-   */
-  private $port_;
-
-  /**
-   * Timeout when listening for a new client
-   *
-   * @var int
-   */
-  private $acceptTimeout_ = 30000;
-
-  /**
-   * Host to listen on
-   *
-   * @var string
-   */
-  private $host_;
-
-  /**
-   * ServerSocket constructor
-   *
-   * @param string $host        Host to listen on
-   * @param int $port           Port to listen on
-   * @return void
-   */
-  public function __construct($host = 'localhost', $port = 9090) {
-    $this->host_ = $host;
-    $this->port_ = $port;
-  }
-
-  /**
-   * Sets the accept timeout
-   *
-   * @param int $acceptTimeout
-   * @return void
-   */
-  public function setAcceptTimeout($acceptTimeout) {
-    $this->acceptTimeout_ = $acceptTimeout;
-  }
-
-  /**
-   * Opens a new socket server handle
-   *
-   * @return void
-   */
-  public function listen() {
-    $this->listener_ = stream_socket_server('tcp://' . $this->host_ . ':' . $this->port_);
-  }
-
-  /**
-   * Closes the socket server handle
-   *
-   * @return void
-   */
-  public function close() {
-    @fclose($this->listener_);
-    $this->listener_ = null;
-  }
-
-  /**
-   * Implementation of accept. If not client is accepted in the given time
-   *
-   * @return TSocket
-   */
-  protected function acceptImpl() {
-    $handle = @stream_socket_accept($this->listener_, $this->acceptTimeout_ / 1000.0);
-    if(!$handle) return null;
-
-    $socket = new TSocket();
-    $socket->setHandle($handle);
-
-    return $socket;
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServerTransport.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServerTransport.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServerTransport.php
deleted file mode 100644
index 5324712..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TServerTransport.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-namespace Thrift\Server;
-
-use Thrift\Exception\TTransportException;
-
-/**
- * Generic class for Server agent.
- *
- * @package thrift.transport
- */
-abstract class TServerTransport {
-  /**
-   * List for new clients
-   *
-   * @abstract
-   * @return void
-   */
-  abstract public function listen();
-
-  /**
-   * Close the server
-   *
-   * @abstract
-   * @return void
-   */
-  abstract public function close();
-
-  /**
-   * Subclasses should use this to implement
-   * accept.
-   *
-   * @abstract
-   * @return TTransport
-   */
-  protected abstract function acceptImpl();
-
-  /**
-   * Uses the accept implemtation. If null is returned, an
-   * exception is thrown.
-   *
-   * @throws TTransportException
-   * @return TTransport
-   */
-  public function accept() {
-    $transport = $this->acceptImpl();
-
-    if ($transport == null) {
-      throw new TTransportException("accept() may not return NULL");
-    }
-
-    return $transport;
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TSimpleServer.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TSimpleServer.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TSimpleServer.php
deleted file mode 100644
index 790e48f..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Server/TSimpleServer.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-namespace Thrift\Server;
-
-use Thrift\Server\TServer;
-use Thrift\Exception\TTransportException;
-
-/**
- * Simple implemtation of a Thrift server.
- *
- * @package thrift.server
- */
-class TSimpleServer extends TServer {
-  /**
-   * Flag for the main serving loop
-   *
-   * @var bool
-   */
-  private $stop_ = false;
-
-  /**
-   * Listens for new client using the supplied
-   * transport. It handles TTransportExceptions
-   * to avoid timeouts etc killing it
-   *
-   * @return void
-   */
-  public function serve() {
-    $this->transport_->listen();
-
-    while (!$this->stop_) {
-      try {
-        $transport = $this->transport_->accept();
-
-        if ($transport != null) {
-          $inputTransport = $this->inputTransportFactory_->getTransport($transport);
-          $outputTransport = $this->outputTransportFactory_->getTransport($transport);
-          $inputProtocol = $this->inputProtocolFactory_->getProtocol($inputTransport);
-          $outputProtocol = $this->outputProtocolFactory_->getProtocol($outputTransport);
-          while ($this->processor_->process($inputProtocol, $outputProtocol)) { }
-        }
-      }
-      catch (TTransportException $e) { }
-    }
-  }
-
-  /**
-   * Stops the server running. Kills the transport
-   * and then stops the main serving loop
-   *
-   * @return void
-   */
-  public function stop() {
-    $this->transport_->close();
-    $this->stop_ = true;
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/Core.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/Core.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/Core.php
deleted file mode 100644
index e38a5b2..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/Core.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-/*
- * 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.
- *
- */
-
-namespace Thrift\StringFunc;
-
-use Thrift\StringFunc\TStringFunc;
-
-class Core implements TStringFunc {
-    public function substr($str, $start, $length = null) {
-        // specifying a null $length would return an empty string
-        if($length === null) {
-            return substr($str, $start);
-        }
-        return substr($str, $start, $length);
-    }
-
-    public function strlen($str) {
-        return strlen($str);
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/Mbstring.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/Mbstring.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/Mbstring.php
deleted file mode 100644
index c1ace13..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/Mbstring.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/*
- * 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.
- *
- */
-
-namespace Thrift\StringFunc;
-
-use Thrift\StringFunc\TStringFunc;
-
-class Mbstring implements TStringFunc {
-    public function substr($str, $start, $length = null) {
-        /**
-         * We need to set the charset parameter, which is the second
-         * optional parameter and the first optional parameter can't
-         * be null or false as a "magic" value because that would
-         * cause an empty string to be returned, so we need to
-         * actually calculate the proper length value.
-         */
-        if($length === null) {
-            $length = $this->strlen($str) - $start;
-        }
-
-        return mb_substr($str, $start, $length, '8bit');
-    }
-
-    public function strlen($str) {
-        return mb_strlen($str, '8bit');
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/TStringFunc.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/TStringFunc.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/TStringFunc.php
deleted file mode 100644
index c5bb390..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/StringFunc/TStringFunc.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/*
- * 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.
- *
- */
-
-namespace Thrift\StringFunc;
-
-interface TStringFunc {
-    public function substr($str, $start, $length = null);
-    public function strlen($str);
-}
\ No newline at end of file


[15/31] git commit: AIRAVATA-1143

Posted by sa...@apache.org.
AIRAVATA-1143


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

Branch: refs/heads/master
Commit: 46205e6c87f2011df91d7956a9f2347d63fb6c2f
Parents: d3fb569
Author: Saminda Wijeratne <sa...@gmail.com>
Authored: Wed Apr 16 19:06:34 2014 -0700
Committer: Saminda Wijeratne <sa...@gmail.com>
Committed: Wed Apr 16 19:06:34 2014 -0700

----------------------------------------------------------------------
 .../airavata-php-sdk/README                     |    5 -
 .../client-samples/GetAiravataVersion.php       |   18 -
 .../client-samples/airavata-client-sample.php   |   93 -
 .../lib/Airavata/API/Airavata.php               | 4849 ------------------
 .../lib/Airavata/API/Error/Types.php            |  583 ---
 .../airavata-php-sdk/lib/Airavata/API/Types.php |   22 -
 .../lib/Airavata/Model/Types.php                |   20 -
 .../Model/Workspace/Experiment/Types.php        | 3670 -------------
 .../lib/Airavata/Model/Workspace/Types.php      |  568 --
 .../lib/AiravataClientFactory.php               |   45 -
 .../airavata-php-sdk/lib/Thrift/Base/TBase.php  |  367 --
 .../Thrift/ClassLoader/ThriftClassLoader.php    |  223 -
 .../Thrift/Exception/TApplicationException.php  |   72 -
 .../lib/Thrift/Exception/TException.php         |  369 --
 .../lib/Thrift/Exception/TProtocolException.php |   48 -
 .../Thrift/Exception/TTransportException.php    |   41 -
 .../Thrift/Factory/TBinaryProtocolFactory.php   |   43 -
 .../Thrift/Factory/TCompactProtocolFactory.php  |   39 -
 .../lib/Thrift/Factory/TJSONProtocolFactory.php |   41 -
 .../lib/Thrift/Factory/TProtocolFactory.php     |   35 -
 .../lib/Thrift/Factory/TStringFuncFactory.php   |   63 -
 .../lib/Thrift/Factory/TTransportFactory.php    |   16 -
 .../lib/Thrift/Protocol/JSON/BaseContext.php    |   39 -
 .../lib/Thrift/Protocol/JSON/ListContext.php    |   52 -
 .../Thrift/Protocol/JSON/LookaheadReader.php    |   54 -
 .../lib/Thrift/Protocol/JSON/PairContext.php    |   60 -
 .../lib/Thrift/Protocol/TBinaryProtocol.php     |  396 --
 .../Protocol/TBinaryProtocolAccelerated.php     |   47 -
 .../lib/Thrift/Protocol/TCompactProtocol.php    |  669 ---
 .../lib/Thrift/Protocol/TJSONProtocol.php       |  694 ---
 .../lib/Thrift/Protocol/TProtocol.php           |  340 --
 .../lib/Thrift/Serializer/TBinarySerializer.php |   73 -
 .../lib/Thrift/Server/TForkingServer.php        |  119 -
 .../lib/Thrift/Server/TServer.php               |  101 -
 .../lib/Thrift/Server/TServerSocket.php         |   98 -
 .../lib/Thrift/Server/TServerTransport.php      |   54 -
 .../lib/Thrift/Server/TSimpleServer.php         |   57 -
 .../lib/Thrift/StringFunc/Core.php              |   38 -
 .../lib/Thrift/StringFunc/Mbstring.php          |   45 -
 .../lib/Thrift/StringFunc/TStringFunc.php       |   27 -
 .../airavata-php-sdk/lib/Thrift/Thrift.php      |  789 ---
 .../lib/Thrift/Transport/TBufferedTransport.php |  165 -
 .../lib/Thrift/Transport/TFramedTransport.php   |  183 -
 .../lib/Thrift/Transport/THttpClient.php        |  221 -
 .../lib/Thrift/Transport/TMemoryBuffer.php      |   89 -
 .../lib/Thrift/Transport/TNullTransport.php     |   50 -
 .../lib/Thrift/Transport/TPhpStream.php         |  114 -
 .../lib/Thrift/Transport/TSocket.php            |  326 --
 .../lib/Thrift/Transport/TSocketPool.php        |  295 --
 .../lib/Thrift/Transport/TTransport.php         |   93 -
 .../lib/Thrift/Type/TMessageType.php            |   33 -
 .../airavata-php-sdk/lib/Thrift/Type/TType.php  |   46 -
 .../airavata-php-sdk/lib/Thrift/autoload.php    |   51 -
 .../airavata-php-sdk/pom.xml                    |  114 +
 .../src/main/assembly/bin-assembly.xml          |   63 +
 .../airavata-php-sdk/src/main/resources/INSTALL |   31 +
 .../airavata-php-sdk/src/main/resources/LICENSE | 2272 ++++++++
 .../airavata-php-sdk/src/main/resources/NOTICE  |  163 +
 .../airavata-php-sdk/src/main/resources/README  |    5 +
 .../resources/lib/Airavata/API/Airavata.php     | 4849 ++++++++++++++++++
 .../resources/lib/Airavata/API/Error/Types.php  |  583 +++
 .../main/resources/lib/Airavata/API/Types.php   |   22 +
 .../main/resources/lib/Airavata/Model/Types.php |   20 +
 .../Model/Workspace/Experiment/Types.php        | 3670 +++++++++++++
 .../lib/Airavata/Model/Workspace/Types.php      |  568 ++
 .../resources/lib/AiravataClientFactory.php     |   45 +
 .../main/resources/lib/Thrift/Base/TBase.php    |  367 ++
 .../Thrift/ClassLoader/ThriftClassLoader.php    |  223 +
 .../Thrift/Exception/TApplicationException.php  |   72 +
 .../lib/Thrift/Exception/TException.php         |  369 ++
 .../lib/Thrift/Exception/TProtocolException.php |   48 +
 .../Thrift/Exception/TTransportException.php    |   41 +
 .../Thrift/Factory/TBinaryProtocolFactory.php   |   43 +
 .../Thrift/Factory/TCompactProtocolFactory.php  |   39 +
 .../lib/Thrift/Factory/TJSONProtocolFactory.php |   41 +
 .../lib/Thrift/Factory/TProtocolFactory.php     |   35 +
 .../lib/Thrift/Factory/TStringFuncFactory.php   |   63 +
 .../lib/Thrift/Factory/TTransportFactory.php    |   16 +
 .../lib/Thrift/Protocol/JSON/BaseContext.php    |   39 +
 .../lib/Thrift/Protocol/JSON/ListContext.php    |   52 +
 .../Thrift/Protocol/JSON/LookaheadReader.php    |   54 +
 .../lib/Thrift/Protocol/JSON/PairContext.php    |   60 +
 .../lib/Thrift/Protocol/TBinaryProtocol.php     |  396 ++
 .../Protocol/TBinaryProtocolAccelerated.php     |   47 +
 .../lib/Thrift/Protocol/TCompactProtocol.php    |  669 +++
 .../lib/Thrift/Protocol/TJSONProtocol.php       |  694 +++
 .../resources/lib/Thrift/Protocol/TProtocol.php |  340 ++
 .../lib/Thrift/Serializer/TBinarySerializer.php |   73 +
 .../lib/Thrift/Server/TForkingServer.php        |  119 +
 .../resources/lib/Thrift/Server/TServer.php     |  101 +
 .../lib/Thrift/Server/TServerSocket.php         |   98 +
 .../lib/Thrift/Server/TServerTransport.php      |   54 +
 .../lib/Thrift/Server/TSimpleServer.php         |   57 +
 .../resources/lib/Thrift/StringFunc/Core.php    |   38 +
 .../lib/Thrift/StringFunc/Mbstring.php          |   45 +
 .../lib/Thrift/StringFunc/TStringFunc.php       |   27 +
 .../src/main/resources/lib/Thrift/Thrift.php    |  789 +++
 .../lib/Thrift/Transport/TBufferedTransport.php |  165 +
 .../lib/Thrift/Transport/TFramedTransport.php   |  183 +
 .../lib/Thrift/Transport/THttpClient.php        |  221 +
 .../lib/Thrift/Transport/TMemoryBuffer.php      |   89 +
 .../lib/Thrift/Transport/TNullTransport.php     |   50 +
 .../lib/Thrift/Transport/TPhpStream.php         |  114 +
 .../resources/lib/Thrift/Transport/TSocket.php  |  326 ++
 .../lib/Thrift/Transport/TSocketPool.php        |  295 ++
 .../lib/Thrift/Transport/TTransport.php         |   93 +
 .../resources/lib/Thrift/Type/TMessageType.php  |   33 +
 .../main/resources/lib/Thrift/Type/TType.php    |   46 +
 .../src/main/resources/lib/Thrift/autoload.php  |   51 +
 .../resources/samples/GetAiravataVersion.php    |   18 +
 .../samples/airavata-client-sample.php          |   93 +
 111 files changed, 19291 insertions(+), 16648 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/README
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/README b/airavata-api/airavata-client-sdks/airavata-php-sdk/README
deleted file mode 100644
index 9c91811..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/README
+++ /dev/null
@@ -1,5 +0,0 @@
-Apache Airavata Thrift PHP Software Development Kit.
-
-The lib directory has THRIFT files and Airavata generated PHP stubs.
-
-The samples directory has example PHP code.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/client-samples/GetAiravataVersion.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/client-samples/GetAiravataVersion.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/client-samples/GetAiravataVersion.php
deleted file mode 100644
index c1cd799..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/client-samples/GetAiravataVersion.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-//use Airavata\Client;
-
-ini_set("include_path", ini_get("include_path") . PATH_SEPARATOR . "../lib" . PATH_SEPARATOR .
-    "../lib/Thrift" . PATH_SEPARATOR . "../lib/Airavata/" . PATH_SEPARATOR);
-require_once 'autoload.php';
-
-require_once 'AiravataClientFactory.php';
-
-use Airavata\Client\AiravataClientFactory;
-
-$airavataClientFactory = new AiravataClientFactory(array('airavataServerHost' => "gw111.iu.xsede.org", 'airavataServerPort' => "8930"));
-
-$airavata = $airavataClientFactory->getAiravataClient();
-
-echo "Airavata Server Version is: " . $airavata->GetAPIVersion() . "\n";
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/client-samples/airavata-client-sample.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/client-samples/airavata-client-sample.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/client-samples/airavata-client-sample.php
deleted file mode 100644
index 4953cee..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/client-samples/airavata-client-sample.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-namespace Airavata\Client\Samples;
-
-$GLOBALS['THRIFT_ROOT'] = '../lib/Thrift/';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Transport/TTransport.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Transport/TSocket.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Protocol/TProtocol.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Protocol/TBinaryProtocol.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Exception/TException.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Exception/TApplicationException.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Exception/TProtocolException.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Base/TBase.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Type/TType.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Type/TMessageType.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Factory/TStringFuncFactory.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'StringFunc/TStringFunc.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'StringFunc/Core.php';
-
-$GLOBALS['AIRAVATA_ROOT'] = '../lib/Airavata/';
-require_once $GLOBALS['AIRAVATA_ROOT'] . 'API/Airavata.php';
-require_once $GLOBALS['AIRAVATA_ROOT'] . 'Model/Workspace/Experiment/Types.php';
-require_once $GLOBALS['AIRAVATA_ROOT'] . 'API/Error/Types.php';
-
-use Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling;
-use Airavata\Model\Workspace\Experiment\DataObjectType;
-use Airavata\Model\Workspace\Experiment\UserConfigurationData;
-use Thrift\Protocol\TBinaryProtocol;
-use Thrift\Transport\TSocket;
-use Airavata\API\AiravataClient;
-use Airavata\Model\Workspace\Experiment\Experiment;
-
-$transport = new TSocket('gw111.iu.xsede.org', 8930);
-$protocol = new TBinaryProtocol($transport);
-
-$airavataclient = new AiravataClient($protocol);
-$transport->open();
-
-echo "Airavata Server Version is: " . $airavataclient->GetAPIVersion();
-
-echo "<br><br>"."Creating New Experiment.... "."<br>";
-
-//Create a Experiment
-$experiment = new Experiment();
-$experiment->name = "PHPTest";
-$experiment->description = "Testingfromphp";
-$experiment->userName = "admin";
-$experiment->projectID = "project1";
-$experiment->applicationId = "US3AppTrestles";
-
-$experimentInputs = new DataObjectType();
-$experimentInputs->key = "input";
-$experimentInputs->value = "file:///home/airavata/input/hpcinput.tar";
-$experiment->experimentInputs = array($experimentInputs);
-
-$scheduling = new ComputationalResourceScheduling();
-$scheduling->resourceHostId = "gsissh-trestles";
-
-$userConfigData = new UserConfigurationData();
-$userConfigData->computationalResourceScheduling = $scheduling;
-$userConfigData->overrideManualScheduledParams = False;
-$userConfigData->airavataAutoSchedule = False;
-$experiment->userConfigurationData = $userConfigData;
-
-try {
-
-    $expId = $airavataclient->createExperiment($experiment);
-    echo "Experiment Id created is: " . $expId;
-
-    echo "<br><br>"."Launching Experiment.... "."<br>";
-    $airavataclient->launchExperiment($expId, "airavataToken");
-    echo "....Launched Experiment ".$expId."<br>";
-
-    echo "<br><br>"."Checking Experiment Status.... "."<br>";
-    $experimentStatus = $airavataclient->getExperimentStatus($expId);
-    echo "Experiment Status: "."<br>";
-    echo "State: ".$experimentStatus->ExperimentState ."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
-        "Time of last state change:". $experimentStatus->timeOfStateChange;
-
-    echo "<br><br>"."Checking Job Status.... "."<br>";
-    $jobStatus = $airavataclient->getJobStatuses($expId);
-    echo "Job Status: "."<br>";
-    echo "State: "."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
-        "Time of last state change:";
-
-} catch (TException $texp) {
-    print 'Exception: ' . $texp->getMessage()."\n";
-} catch (AiravataSystemException $ase) {
-    print 'Airavata System Exception: ' . $ase->getMessage()."\n";
-}
-$transport->close();
-
-?>
-


[26/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_constants.h
deleted file mode 100644
index bbe3692..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef airavataAPI_CONSTANTS_H
-#define airavataAPI_CONSTANTS_H
-
-#include "airavataAPI_types.h"
-
-namespace airavata { namespace api {
-
-class airavataAPIConstants {
- public:
-  airavataAPIConstants();
-
-  std::string AIRAVATA_API_VERSION;
-};
-
-extern const airavataAPIConstants g_airavataAPI_constants;
-
-}} // namespace
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_types.cpp
deleted file mode 100644
index 00822cd..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_types.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "airavataAPI_types.h"
-
-#include <algorithm>
-
-namespace airavata { namespace api {
-
-}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_types.h
deleted file mode 100644
index 3fab592..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataAPI_types.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef airavataAPI_TYPES_H
-#define airavataAPI_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-#include "airavataErrors_types.h"
-#include "airavataDataModel_types.h"
-#include "experimentModel_types.h"
-#include "workspaceModel_types.h"
-
-
-namespace airavata { namespace api {
-
-}} // namespace
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_constants.cpp
deleted file mode 100644
index 934ab94..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_constants.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "airavataDataModel_constants.h"
-
-
-
-const airavataDataModelConstants g_airavataDataModel_constants;
-
-airavataDataModelConstants::airavataDataModelConstants() {
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_constants.h
deleted file mode 100644
index e7de9f3..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_constants.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef airavataDataModel_CONSTANTS_H
-#define airavataDataModel_CONSTANTS_H
-
-#include "airavataDataModel_types.h"
-
-
-
-class airavataDataModelConstants {
- public:
-  airavataDataModelConstants();
-
-};
-
-extern const airavataDataModelConstants g_airavataDataModel_constants;
-
-
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_types.cpp
deleted file mode 100644
index c9492d8..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_types.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "airavataDataModel_types.h"
-
-#include <algorithm>
-
-
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_types.h
deleted file mode 100644
index addaf4b..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataDataModel_types.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef airavataDataModel_TYPES_H
-#define airavataDataModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-#include "workspaceModel_types.h"
-
-
-
-
-
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_constants.cpp
deleted file mode 100644
index be2d0cb..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_constants.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "airavataErrors_constants.h"
-
-namespace airavata { namespace api { namespace error {
-
-const airavataErrorsConstants g_airavataErrors_constants;
-
-airavataErrorsConstants::airavataErrorsConstants() {
-}
-
-}}} // namespace
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_constants.h
deleted file mode 100644
index b9823c0..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_constants.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef airavataErrors_CONSTANTS_H
-#define airavataErrors_CONSTANTS_H
-
-#include "airavataErrors_types.h"
-
-namespace airavata { namespace api { namespace error {
-
-class airavataErrorsConstants {
- public:
-  airavataErrorsConstants();
-
-};
-
-extern const airavataErrorsConstants g_airavataErrors_constants;
-
-}}} // namespace
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_types.cpp
deleted file mode 100644
index e52eab2..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_types.cpp
+++ /dev/null
@@ -1,511 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "airavataErrors_types.h"
-
-#include <algorithm>
-
-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));
-
-const char* ExperimentNotFoundException::ascii_fingerprint = "D0297FC5011701BD87898CC36146A565";
-const uint8_t ExperimentNotFoundException::binary_fingerprint[16] = {0xD0,0x29,0x7F,0xC5,0x01,0x17,0x01,0xBD,0x87,0x89,0x8C,0xC3,0x61,0x46,0xA5,0x65};
-
-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;
-
-
-  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->identifier);
-          this->__isset.identifier = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->key);
-          this->__isset.key = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t ExperimentNotFoundException::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("ExperimentNotFoundException");
-
-  if (this->__isset.identifier) {
-    xfer += oprot->writeFieldBegin("identifier", ::apache::thrift::protocol::T_STRING, 1);
-    xfer += oprot->writeString(this->identifier);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.key) {
-    xfer += oprot->writeFieldBegin("key", ::apache::thrift::protocol::T_STRING, 2);
-    xfer += oprot->writeString(this->key);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b) {
-  using ::std::swap;
-  swap(a.identifier, b.identifier);
-  swap(a.key, b.key);
-  swap(a.__isset, b.__isset);
-}
-
-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;
-  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();
-  return xfer;
-}
-
-void swap(InvalidRequestException &a, InvalidRequestException &b) {
-  using ::std::swap;
-  swap(a.message, b.message);
-}
-
-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;
-  xfer += oprot->writeStructBegin("TimedOutException");
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(TimedOutException &a, TimedOutException &b) {
-  using ::std::swap;
-  (void) a;
-  (void) b;
-}
-
-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;
-  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();
-  return xfer;
-}
-
-void swap(AuthenticationException &a, AuthenticationException &b) {
-  using ::std::swap;
-  swap(a.message, b.message);
-}
-
-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;
-  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();
-  return xfer;
-}
-
-void swap(AuthorizationException &a, AuthorizationException &b) {
-  using ::std::swap;
-  swap(a.message, b.message);
-}
-
-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 ecast0;
-          xfer += iprot->readI32(ecast0);
-          this->airavataErrorType = (AiravataErrorType::type)ecast0;
-          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;
-  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();
-  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);
-}
-
-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 ecast1;
-          xfer += iprot->readI32(ecast1);
-          this->airavataErrorType = (AiravataErrorType::type)ecast1;
-          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;
-  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();
-  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);
-}
-
-}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_types.h
deleted file mode 100644
index 877051e..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/airavataErrors_types.h
+++ /dev/null
@@ -1,341 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef airavataErrors_TYPES_H
-#define airavataErrors_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-
-
-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;
-
-typedef struct _ExperimentNotFoundException__isset {
-  _ExperimentNotFoundException__isset() : identifier(false), key(false) {}
-  bool identifier;
-  bool key;
-} _ExperimentNotFoundException__isset;
-
-class ExperimentNotFoundException : public ::apache::thrift::TException {
- public:
-
-  static const char* ascii_fingerprint; // = "D0297FC5011701BD87898CC36146A565";
-  static const uint8_t binary_fingerprint[16]; // = {0xD0,0x29,0x7F,0xC5,0x01,0x17,0x01,0xBD,0x87,0x89,0x8C,0xC3,0x61,0x46,0xA5,0x65};
-
-  ExperimentNotFoundException() : identifier(), key() {
-  }
-
-  virtual ~ExperimentNotFoundException() throw() {}
-
-  std::string identifier;
-  std::string key;
-
-  _ExperimentNotFoundException__isset __isset;
-
-  void __set_identifier(const std::string& val) {
-    identifier = val;
-    __isset.identifier = true;
-  }
-
-  void __set_key(const std::string& val) {
-    key = val;
-    __isset.key = true;
-  }
-
-  bool operator == (const ExperimentNotFoundException & rhs) const
-  {
-    if (__isset.identifier != rhs.__isset.identifier)
-      return false;
-    else if (__isset.identifier && !(identifier == rhs.identifier))
-      return false;
-    if (__isset.key != rhs.__isset.key)
-      return false;
-    else if (__isset.key && !(key == rhs.key))
-      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;
-
-};
-
-void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &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() : message() {
-  }
-
-  virtual ~InvalidRequestException() throw() {}
-
-  std::string message;
-
-  void __set_message(const std::string& val) {
-    message = 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;
-
-};
-
-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() {
-  }
-
-  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;
-
-};
-
-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() : message() {
-  }
-
-  virtual ~AuthenticationException() throw() {}
-
-  std::string message;
-
-  void __set_message(const std::string& val) {
-    message = 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;
-
-};
-
-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() : message() {
-  }
-
-  virtual ~AuthorizationException() throw() {}
-
-  std::string message;
-
-  void __set_message(const std::string& val) {
-    message = 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;
-
-};
-
-void swap(AuthorizationException &a, AuthorizationException &b);
-
-typedef struct _AiravataClientException__isset {
-  _AiravataClientException__isset() : parameter(false) {}
-  bool parameter;
-} _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() : airavataErrorType((AiravataErrorType::type)0), parameter() {
-  }
-
-  virtual ~AiravataClientException() throw() {}
-
-  AiravataErrorType::type airavataErrorType;
-  std::string parameter;
-
-  _AiravataClientException__isset __isset;
-
-  void __set_airavataErrorType(const AiravataErrorType::type val) {
-    airavataErrorType = val;
-  }
-
-  void __set_parameter(const std::string& val) {
-    parameter = val;
-    __isset.parameter = true;
-  }
-
-  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;
-
-};
-
-void swap(AiravataClientException &a, AiravataClientException &b);
-
-typedef struct _AiravataSystemException__isset {
-  _AiravataSystemException__isset() : message(false) {}
-  bool message;
-} _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() : airavataErrorType((AiravataErrorType::type)0), message() {
-  }
-
-  virtual ~AiravataSystemException() throw() {}
-
-  AiravataErrorType::type airavataErrorType;
-  std::string message;
-
-  _AiravataSystemException__isset __isset;
-
-  void __set_airavataErrorType(const AiravataErrorType::type val) {
-    airavataErrorType = val;
-  }
-
-  void __set_message(const std::string& val) {
-    message = val;
-    __isset.message = true;
-  }
-
-  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;
-
-};
-
-void swap(AiravataSystemException &a, AiravataSystemException &b);
-
-}}} // namespace
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_constants.cpp
deleted file mode 100644
index 9f94244..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_constants.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "experimentModel_constants.h"
-
-
-
-const experimentModelConstants g_experimentModel_constants;
-
-experimentModelConstants::experimentModelConstants() {
-  DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
-
-  DEFAULT_PROJECT_NAME = "DEFAULT";
-
-  SINGLE_APP_NODE_NAME = "SINGLE_APP_NODE";
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_constants.h
deleted file mode 100644
index 7525cc7..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/airavata-stubs/experimentModel_constants.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef experimentModel_CONSTANTS_H
-#define experimentModel_CONSTANTS_H
-
-#include "experimentModel_types.h"
-
-
-
-class experimentModelConstants {
- public:
-  experimentModelConstants();
-
-  std::string DEFAULT_ID;
-  std::string DEFAULT_PROJECT_NAME;
-  std::string SINGLE_APP_NODE_NAME;
-};
-
-extern const experimentModelConstants g_experimentModel_constants;
-
-
-
-#endif


[11/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Workspace/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Workspace/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Workspace/Types.php
deleted file mode 100644
index 673414d..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Airavata/Model/Workspace/Types.php
+++ /dev/null
@@ -1,568 +0,0 @@
-<?php
-namespace Airavata\Model\Workspace;
-
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * 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 Group {
-  static $_TSPEC;
-
-  public $groupName = null;
-  public $description = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'groupName',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'description',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['groupName'])) {
-        $this->groupName = $vals['groupName'];
-      }
-      if (isset($vals['description'])) {
-        $this->description = $vals['description'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Group';
-  }
-
-  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->groupName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->description);
-          } 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('Group');
-    if ($this->groupName !== null) {
-      $xfer += $output->writeFieldBegin('groupName', TType::STRING, 1);
-      $xfer += $output->writeString($this->groupName);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->description !== null) {
-      $xfer += $output->writeFieldBegin('description', TType::STRING, 2);
-      $xfer += $output->writeString($this->description);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Project {
-  static $_TSPEC;
-
-  public $projectID = "DEFAULT";
-  public $owner = null;
-  public $name = null;
-  public $description = null;
-  public $creationTime = null;
-  public $sharedUsers = null;
-  public $sharedGroups = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'projectID',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'owner',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'name',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'description',
-          'type' => TType::STRING,
-          ),
-        5 => array(
-          'var' => 'creationTime',
-          'type' => TType::I64,
-          ),
-        6 => array(
-          'var' => 'sharedUsers',
-          'type' => TType::LST,
-          'etype' => TType::STRING,
-          'elem' => array(
-            'type' => TType::STRING,
-            ),
-          ),
-        7 => array(
-          'var' => 'sharedGroups',
-          'type' => TType::LST,
-          'etype' => TType::STRING,
-          'elem' => array(
-            'type' => TType::STRING,
-            ),
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['projectID'])) {
-        $this->projectID = $vals['projectID'];
-      }
-      if (isset($vals['owner'])) {
-        $this->owner = $vals['owner'];
-      }
-      if (isset($vals['name'])) {
-        $this->name = $vals['name'];
-      }
-      if (isset($vals['description'])) {
-        $this->description = $vals['description'];
-      }
-      if (isset($vals['creationTime'])) {
-        $this->creationTime = $vals['creationTime'];
-      }
-      if (isset($vals['sharedUsers'])) {
-        $this->sharedUsers = $vals['sharedUsers'];
-      }
-      if (isset($vals['sharedGroups'])) {
-        $this->sharedGroups = $vals['sharedGroups'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Project';
-  }
-
-  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->projectID);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->owner);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->name);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->description);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->creationTime);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 6:
-          if ($ftype == TType::LST) {
-            $this->sharedUsers = array();
-            $_size0 = 0;
-            $_etype3 = 0;
-            $xfer += $input->readListBegin($_etype3, $_size0);
-            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
-            {
-              $elem5 = null;
-              $xfer += $input->readString($elem5);
-              $this->sharedUsers []= $elem5;
-            }
-            $xfer += $input->readListEnd();
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 7:
-          if ($ftype == TType::LST) {
-            $this->sharedGroups = array();
-            $_size6 = 0;
-            $_etype9 = 0;
-            $xfer += $input->readListBegin($_etype9, $_size6);
-            for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
-            {
-              $elem11 = null;
-              $xfer += $input->readString($elem11);
-              $this->sharedGroups []= $elem11;
-            }
-            $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('Project');
-    if ($this->projectID !== null) {
-      $xfer += $output->writeFieldBegin('projectID', TType::STRING, 1);
-      $xfer += $output->writeString($this->projectID);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->owner !== null) {
-      $xfer += $output->writeFieldBegin('owner', TType::STRING, 2);
-      $xfer += $output->writeString($this->owner);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->name !== null) {
-      $xfer += $output->writeFieldBegin('name', TType::STRING, 3);
-      $xfer += $output->writeString($this->name);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->description !== null) {
-      $xfer += $output->writeFieldBegin('description', TType::STRING, 4);
-      $xfer += $output->writeString($this->description);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 5);
-      $xfer += $output->writeI64($this->creationTime);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->sharedUsers !== null) {
-      if (!is_array($this->sharedUsers)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('sharedUsers', TType::LST, 6);
-      {
-        $output->writeListBegin(TType::STRING, count($this->sharedUsers));
-        {
-          foreach ($this->sharedUsers as $iter12)
-          {
-            $xfer += $output->writeString($iter12);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->sharedGroups !== null) {
-      if (!is_array($this->sharedGroups)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('sharedGroups', TType::LST, 7);
-      {
-        $output->writeListBegin(TType::STRING, count($this->sharedGroups));
-        {
-          foreach ($this->sharedGroups as $iter13)
-          {
-            $xfer += $output->writeString($iter13);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class User {
-  static $_TSPEC;
-
-  public $userName = null;
-  public $groupList = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'userName',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'groupList',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Workspace\Group',
-            ),
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['userName'])) {
-        $this->userName = $vals['userName'];
-      }
-      if (isset($vals['groupList'])) {
-        $this->groupList = $vals['groupList'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'User';
-  }
-
-  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->userName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::LST) {
-            $this->groupList = array();
-            $_size14 = 0;
-            $_etype17 = 0;
-            $xfer += $input->readListBegin($_etype17, $_size14);
-            for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
-            {
-              $elem19 = null;
-              $elem19 = new \Airavata\Model\Workspace\Group();
-              $xfer += $elem19->read($input);
-              $this->groupList []= $elem19;
-            }
-            $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('User');
-    if ($this->userName !== null) {
-      $xfer += $output->writeFieldBegin('userName', TType::STRING, 1);
-      $xfer += $output->writeString($this->userName);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->groupList !== null) {
-      if (!is_array($this->groupList)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('groupList', TType::LST, 2);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->groupList));
-        {
-          foreach ($this->groupList as $iter20)
-          {
-            $xfer += $iter20->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Gateway {
-  static $_TSPEC;
-
-  public $gatewayId = "DO_NOT_SET_AT_CLIENTS";
-  public $name = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'gatewayId',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'name',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['gatewayId'])) {
-        $this->gatewayId = $vals['gatewayId'];
-      }
-      if (isset($vals['name'])) {
-        $this->name = $vals['name'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Gateway';
-  }
-
-  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->gatewayId);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->name);
-          } 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('Gateway');
-    if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
-      $xfer += $output->writeString($this->gatewayId);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->name !== null) {
-      $xfer += $output->writeFieldBegin('name', TType::STRING, 2);
-      $xfer += $output->writeString($this->name);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/AiravataClientFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/AiravataClientFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/AiravataClientFactory.php
deleted file mode 100644
index 5724e32..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/AiravataClientFactory.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-namespace Airavata\Client;
-
-$GLOBALS['THRIFT_ROOT'] = 'Thrift/';
-//require_once $GLOBALS['THRIFT_ROOT'] . 'Thrift.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Transport/TTransport.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Transport/TSocket.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Protocol/TProtocol.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Protocol/TBinaryProtocol.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Exception/TException.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Exception/TTransportException.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Type/TType.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Type/TMessageType.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'Factory/TStringFuncFactory.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'StringFunc/TStringFunc.php';
-require_once $GLOBALS['THRIFT_ROOT'] . 'StringFunc/Core.php';
-
-$GLOBALS['AIRAVATA_ROOT'] = 'Airavata/';
-require_once $GLOBALS['AIRAVATA_ROOT'] . 'API/Airavata.php';
-
-use Thrift\Protocol\TBinaryProtocol;
-use Thrift\Transport\TSocket;
-use Airavata\API\AiravataClient;
-
-class AiravataClientFactory
-{
-
-    private $airavataServerHost;
-    private $airavataServerPort;
-
-    public function __construct($options)
-    {
-        $this->airavataServerHost = isset($options['airavataServerHost']) ? $options['airavataServerHost'] : null;
-        $this->airavataServerPort = isset($options['airavataServerPort']) ? $options['airavataServerPort'] : null;
-    }
-
-    public function getAiravataClient()
-    {
-        $transport = new TSocket($this->airavataServerHost, $this->airavataServerPort);
-        $protocol = new TBinaryProtocol($transport);
-	$transport->open();
-        return new AiravataClient($protocol);
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Base/TBase.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Base/TBase.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Base/TBase.php
deleted file mode 100644
index 3d5b526..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Base/TBase.php
+++ /dev/null
@@ -1,367 +0,0 @@
-<?php
-/*
- * 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 thrift
- */
-
-namespace Thrift\Base;
-
-use Thrift\Type\TType;
-
-/**
- * Base class from which other Thrift structs extend. This is so that we can
- * cut back on the size of the generated code which is turning out to have a
- * nontrivial cost just to load thanks to the wondrously abysmal implementation
- * of PHP. Note that code is intentionally duplicated in here to avoid making
- * function calls for every field or member of a container..
- */
-abstract class TBase {
-
-  static $tmethod = array(TType::BOOL   => 'Bool',
-                          TType::BYTE   => 'Byte',
-                          TType::I16    => 'I16',
-                          TType::I32    => 'I32',
-                          TType::I64    => 'I64',
-                          TType::DOUBLE => 'Double',
-                          TType::STRING => 'String');
-
-  abstract function read($input);
-
-  abstract function write($output);
-
-  public function __construct($spec=null, $vals=null) {
-    if (is_array($spec) && is_array($vals)) {
-      foreach ($spec as $fid => $fspec) {
-        $var = $fspec['var'];
-        if (isset($vals[$var])) {
-          $this->$var = $vals[$var];
-        }
-      }
-    }
-  }
-
-  public function __wakeup()
-  {
-    $this->__construct(get_object_vars($this));
-  }
-
-  private function _readMap(&$var, $spec, $input) {
-    $xfer = 0;
-    $ktype = $spec['ktype'];
-    $vtype = $spec['vtype'];
-    $kread = $vread = null;
-    if (isset(TBase::$tmethod[$ktype])) {
-      $kread = 'read'.TBase::$tmethod[$ktype];
-    } else {
-      $kspec = $spec['key'];
-    }
-    if (isset(TBase::$tmethod[$vtype])) {
-      $vread = 'read'.TBase::$tmethod[$vtype];
-    } else {
-      $vspec = $spec['val'];
-    }
-    $var = array();
-    $_ktype = $_vtype = $size = 0;
-    $xfer += $input->readMapBegin($_ktype, $_vtype, $size);
-    for ($i = 0; $i < $size; ++$i) {
-      $key = $val = null;
-      if ($kread !== null) {
-        $xfer += $input->$kread($key);
-      } else {
-        switch ($ktype) {
-        case TType::STRUCT:
-          $class = $kspec['class'];
-          $key = new $class();
-          $xfer += $key->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($key, $kspec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($key, $kspec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($key, $kspec, $input, true);
-          break;
-        }
-      }
-      if ($vread !== null) {
-        $xfer += $input->$vread($val);
-      } else {
-        switch ($vtype) {
-        case TType::STRUCT:
-          $class = $vspec['class'];
-          $val = new $class();
-          $xfer += $val->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($val, $vspec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($val, $vspec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($val, $vspec, $input, true);
-          break;
-        }
-      }
-      $var[$key] = $val;
-    }
-    $xfer += $input->readMapEnd();
-    return $xfer;
-  }
-
-  private function _readList(&$var, $spec, $input, $set=false) {
-    $xfer = 0;
-    $etype = $spec['etype'];
-    $eread = $vread = null;
-    if (isset(TBase::$tmethod[$etype])) {
-      $eread = 'read'.TBase::$tmethod[$etype];
-    } else {
-      $espec = $spec['elem'];
-    }
-    $var = array();
-    $_etype = $size = 0;
-    if ($set) {
-      $xfer += $input->readSetBegin($_etype, $size);
-    } else {
-      $xfer += $input->readListBegin($_etype, $size);
-    }
-    for ($i = 0; $i < $size; ++$i) {
-      $elem = null;
-      if ($eread !== null) {
-        $xfer += $input->$eread($elem);
-      } else {
-        $espec = $spec['elem'];
-        switch ($etype) {
-        case TType::STRUCT:
-          $class = $espec['class'];
-          $elem = new $class();
-          $xfer += $elem->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($elem, $espec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($elem, $espec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($elem, $espec, $input, true);
-          break;
-        }
-      }
-      if ($set) {
-        $var[$elem] = true;
-      } else {
-        $var []= $elem;
-      }
-    }
-    if ($set) {
-      $xfer += $input->readSetEnd();
-    } else {
-      $xfer += $input->readListEnd();
-    }
-    return $xfer;
-  }
-
-  protected function _read($class, $spec, $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;
-      }
-      if (isset($spec[$fid])) {
-        $fspec = $spec[$fid];
-        $var = $fspec['var'];
-        if ($ftype == $fspec['type']) {
-          $xfer = 0;
-          if (isset(TBase::$tmethod[$ftype])) {
-            $func = 'read'.TBase::$tmethod[$ftype];
-            $xfer += $input->$func($this->$var);
-          } else {
-            switch ($ftype) {
-            case TType::STRUCT:
-              $class = $fspec['class'];
-              $this->$var = new $class();
-              $xfer += $this->$var->read($input);
-              break;
-            case TType::MAP:
-              $xfer += $this->_readMap($this->$var, $fspec, $input);
-              break;
-            case TType::LST:
-              $xfer += $this->_readList($this->$var, $fspec, $input, false);
-              break;
-            case TType::SET:
-              $xfer += $this->_readList($this->$var, $fspec, $input, true);
-              break;
-            }
-          }
-        } else {
-          $xfer += $input->skip($ftype);
-        }
-      } else {
-        $xfer += $input->skip($ftype);
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  private function _writeMap($var, $spec, $output) {
-    $xfer = 0;
-    $ktype = $spec['ktype'];
-    $vtype = $spec['vtype'];
-    $kwrite = $vwrite = null;
-    if (isset(TBase::$tmethod[$ktype])) {
-      $kwrite = 'write'.TBase::$tmethod[$ktype];
-    } else {
-      $kspec = $spec['key'];
-    }
-    if (isset(TBase::$tmethod[$vtype])) {
-      $vwrite = 'write'.TBase::$tmethod[$vtype];
-    } else {
-      $vspec = $spec['val'];
-    }
-    $xfer += $output->writeMapBegin($ktype, $vtype, count($var));
-    foreach ($var as $key => $val) {
-      if (isset($kwrite)) {
-        $xfer += $output->$kwrite($key);
-      } else {
-        switch ($ktype) {
-        case TType::STRUCT:
-          $xfer += $key->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($key, $kspec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($key, $kspec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($key, $kspec, $output, true);
-          break;
-        }
-      }
-      if (isset($vwrite)) {
-        $xfer += $output->$vwrite($val);
-      } else {
-        switch ($vtype) {
-        case TType::STRUCT:
-          $xfer += $val->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($val, $vspec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($val, $vspec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($val, $vspec, $output, true);
-          break;
-        }
-      }
-    }
-    $xfer += $output->writeMapEnd();
-    return $xfer;
-  }
-
-  private function _writeList($var, $spec, $output, $set=false) {
-    $xfer = 0;
-    $etype = $spec['etype'];
-    $ewrite = null;
-    if (isset(TBase::$tmethod[$etype])) {
-      $ewrite = 'write'.TBase::$tmethod[$etype];
-    } else {
-      $espec = $spec['elem'];
-    }
-    if ($set) {
-      $xfer += $output->writeSetBegin($etype, count($var));
-    } else {
-      $xfer += $output->writeListBegin($etype, count($var));
-    }
-    foreach ($var as $key => $val) {
-      $elem = $set ? $key : $val;
-      if (isset($ewrite)) {
-        $xfer += $output->$ewrite($elem);
-      } else {
-        switch ($etype) {
-        case TType::STRUCT:
-          $xfer += $elem->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($elem, $espec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($elem, $espec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($elem, $espec, $output, true);
-          break;
-        }
-      }
-    }
-    if ($set) {
-      $xfer += $output->writeSetEnd();
-    } else {
-      $xfer += $output->writeListEnd();
-    }
-    return $xfer;
-  }
-
-  protected function _write($class, $spec, $output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin($class);
-    foreach ($spec as $fid => $fspec) {
-      $var = $fspec['var'];
-      if ($this->$var !== null) {
-        $ftype = $fspec['type'];
-        $xfer += $output->writeFieldBegin($var, $ftype, $fid);
-        if (isset(TBase::$tmethod[$ftype])) {
-          $func = 'write'.TBase::$tmethod[$ftype];
-          $xfer += $output->$func($this->$var);
-        } else {
-          switch ($ftype) {
-          case TType::STRUCT:
-            $xfer += $this->$var->write($output);
-            break;
-          case TType::MAP:
-            $xfer += $this->_writeMap($this->$var, $fspec, $output);
-            break;
-          case TType::LST:
-            $xfer += $this->_writeList($this->$var, $fspec, $output, false);
-            break;
-          case TType::SET:
-            $xfer += $this->_writeList($this->$var, $fspec, $output, true);
-            break;
-          }
-        }
-        $xfer += $output->writeFieldEnd();
-      }
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/ClassLoader/ThriftClassLoader.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/ClassLoader/ThriftClassLoader.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/ClassLoader/ThriftClassLoader.php
deleted file mode 100644
index bce93f5..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/ClassLoader/ThriftClassLoader.php
+++ /dev/null
@@ -1,223 +0,0 @@
-<?php
-/*
- * 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.
- *
- * ClassLoader to load Thrift library and definitions
- * Inspired from UniversalClassLoader from Symfony 2 
- *
- * @package thrift.classloader
- */
-
-namespace Thrift\ClassLoader;
-
-class ThriftClassLoader
-{
-    /**
-     * Namespaces path
-     * @var array
-     */
-    protected $namespaces = array();
-
-    /**
-     * Thrift definition paths
-     * @var type
-     */
-    protected $definitions = array();
-
-    /**
-     * Do we use APC cache ?
-     * @var boolean
-     */
-    protected $apc = false;
-
-    /**
-     * APC Cache prefix
-     * @var string
-     */
-    protected $apc_prefix;
-
-    /**
-     * Set autoloader to use APC cache
-     * @param boolean $apc
-     * @param string $apc_prefix
-     */
-    public function __construct($apc = false, $apc_prefix = null)
-    {
-        $this->apc = $apc;
-        $this->apc_prefix = $apc_prefix;
-    }
-
-    /**
-     * Registers a namespace.
-     *
-     * @param string       $namespace The namespace
-     * @param array|string $paths     The location(s) of the namespace
-     */
-    public function registerNamespace($namespace, $paths)
-    {
-        $this->namespaces[$namespace] = (array) $paths;
-    }
-
-    /**
-     * Registers a Thrift definition namespace.
-     *
-     * @param string       $namespace The definition namespace
-     * @param array|string $paths     The location(s) of the definition namespace
-     */
-    public function registerDefinition($namespace, $paths)
-    {
-        $this->definitions[$namespace] = (array) $paths;
-    }
-
-    /**
-     * Registers this instance as an autoloader.
-     *
-     * @param Boolean $prepend Whether to prepend the autoloader or not
-     */
-    public function register($prepend = false)
-    {
-        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
-    }
-
-    /**
-     * Loads the given class, definition or interface.
-     *
-     * @param string $class The name of the class
-     */
-    public function loadClass($class)
-    {
-        if (
-            (true === $this->apc && ($file = $this->findFileInApc($class))) or
-            ($file = $this->findFile($class))
-        )
-        {
-            require_once $file;
-        }
-    }
-
-    /**
-     * Loads the given class or interface in APC.
-     * @param string $class The name of the class
-     * @return string
-     */
-    protected function findFileInApc($class)
-    {
-        if (false === $file = apc_fetch($this->apc_prefix.$class)) {
-            apc_store($this->apc_prefix.$class, $file = $this->findFile($class));
-        }
-
-        return $file;
-    }
-
-    /**
-     * Find class in namespaces or definitions directories
-     * @param string $class
-     * @return string
-     */
-    public function findFile($class)
-    {
-        // Remove first backslash
-        if ('\\' == $class[0])
-        {
-            $class = substr($class, 1);
-        }
-
-        if (false !== $pos = strrpos($class, '\\'))
-        {
-            // Namespaced class name
-            $namespace = substr($class, 0, $pos);
-
-            // Iterate in normal namespaces
-            foreach ($this->namespaces as $ns => $dirs)
-            {
-                //Don't interfere with other autoloaders
-                if (0 !== strpos($namespace, $ns))
-                {
-                    continue;
-                }
-
-                foreach ($dirs as $dir)
-                {
-                    $className = substr($class, $pos + 1);
-
-                    $file = $dir.DIRECTORY_SEPARATOR.
-                                 str_replace('\\', DIRECTORY_SEPARATOR, $namespace).
-                                 DIRECTORY_SEPARATOR.
-                                 $className.'.php';
-
-                    if (file_exists($file))
-                    {
-                        return $file;
-                    }
-                }
-            }
-
-            // Iterate in Thrift namespaces
-
-            // Remove first part of namespace
-            $m = explode('\\', $class);
-
-            // Ignore wrong call
-            if(count($m) <= 1)
-            {
-                return;
-            }
-
-            $class = array_pop($m);
-            $namespace = implode('\\', $m);
-
-            foreach ($this->definitions as $ns => $dirs)
-            {
-                //Don't interfere with other autoloaders
-                if (0 !== strpos($namespace, $ns))
-                {
-                    continue;
-                }
-
-                foreach ($dirs as $dir)
-                {
-                    /**
-                     * Available in service: Interface, Client, Processor, Rest
-                     * And every service methods (_.+)
-                     */
-                    if(
-                        0 === preg_match('#(.+)(if|client|processor|rest)$#i', $class, $n) and
-                        0 === preg_match('#(.+)_[a-z0-9]+_(args|result)$#i', $class, $n)
-                    )
-                    {
-                        $className = 'Types';
-                    }
-                    else
-                    {
-                        $className = $n[1];
-                    }
-
-                    $file = $dir.DIRECTORY_SEPARATOR .
-                                 str_replace('\\', DIRECTORY_SEPARATOR, $namespace) .
-                                 DIRECTORY_SEPARATOR .
-                                 $className . '.php';
-
-                    if (file_exists($file))
-                    {
-                        return $file;
-                    }
-                }
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TApplicationException.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TApplicationException.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TApplicationException.php
deleted file mode 100644
index 9081973..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TApplicationException.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-/*
- * 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 thrift
- */
-
-namespace Thrift\Exception;
-
-use Thrift\Exception\TException;
-use Thrift\Type\TType;
-
-class TApplicationException extends TException {
-  static $_TSPEC =
-    array(1 => array('var' => 'message',
-                     'type' => TType::STRING),
-          2 => array('var' => 'code',
-                     'type' => TType::I32));
-
-  const UNKNOWN = 0;
-  const UNKNOWN_METHOD = 1;
-  const INVALID_MESSAGE_TYPE = 2;
-  const WRONG_METHOD_NAME = 3;
-  const BAD_SEQUENCE_ID = 4;
-  const MISSING_RESULT = 5;
-  const INTERNAL_ERROR = 6;
-  const PROTOCOL_ERROR = 7;
-  const INVALID_TRANSFORM = 8;
-  const INVALID_PROTOCOL = 9;
-  const UNSUPPORTED_CLIENT_TYPE = 10;
-
-  function __construct($message=null, $code=0) {
-    parent::__construct($message, $code);
-  }
-
-  public function read($output) {
-    return $this->_read('TApplicationException', self::$_TSPEC, $output);
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('TApplicationException');
-    if ($message = $this->getMessage()) {
-      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
-      $xfer += $output->writeString($message);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($code = $this->getCode()) {
-      $xfer += $output->writeFieldBegin('type', TType::I32, 2);
-      $xfer += $output->writeI32($code);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TException.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TException.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TException.php
deleted file mode 100644
index 8e8cd28..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TException.php
+++ /dev/null
@@ -1,369 +0,0 @@
-<?php
-/*
- * 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 thrift
- */
-
-namespace Thrift\Exception;
-
-use Thrift\Type\TType;
-use Thrift\Base\TBase;
-
-/**
- * NOTE(mcslee): This currently contains a ton of duplicated code from TBase
- * because we need to save CPU cycles and this is not yet in an extension.
- * Ideally we'd multiply-inherit TException from both Exception and Base, but
- * that's not possible in PHP and there are no modules either, so for now we
- * apologetically take a trip to HackTown.
- *
- * Can be called with standard Exception constructor (message, code) or with
- * Thrift Base object constructor (spec, vals).
- *
- * @param mixed $p1 Message (string) or type-spec (array)
- * @param mixed $p2 Code (integer) or values (array)
- */
-class TException extends \Exception {
-  function __construct($p1=null, $p2=0) {
-    if (is_array($p1) && is_array($p2)) {
-      $spec = $p1;
-      $vals = $p2;
-      foreach ($spec as $fid => $fspec) {
-        $var = $fspec['var'];
-        if (isset($vals[$var])) {
-          $this->$var = $vals[$var];
-        }
-      }
-    } else {
-      parent::__construct($p1, $p2);
-    }
-  }
-
-  static $tmethod = array(TType::BOOL   => 'Bool',
-                          TType::BYTE   => 'Byte',
-                          TType::I16    => 'I16',
-                          TType::I32    => 'I32',
-                          TType::I64    => 'I64',
-                          TType::DOUBLE => 'Double',
-                          TType::STRING => 'String');
-
-  private function _readMap(&$var, $spec, $input) {
-    $xfer = 0;
-    $ktype = $spec['ktype'];
-    $vtype = $spec['vtype'];
-    $kread = $vread = null;
-    if (isset(TBase::$tmethod[$ktype])) {
-      $kread = 'read'.TBase::$tmethod[$ktype];
-    } else {
-      $kspec = $spec['key'];
-    }
-    if (isset(TBase::$tmethod[$vtype])) {
-      $vread = 'read'.TBase::$tmethod[$vtype];
-    } else {
-      $vspec = $spec['val'];
-    }
-    $var = array();
-    $_ktype = $_vtype = $size = 0;
-    $xfer += $input->readMapBegin($_ktype, $_vtype, $size);
-    for ($i = 0; $i < $size; ++$i) {
-      $key = $val = null;
-      if ($kread !== null) {
-        $xfer += $input->$kread($key);
-      } else {
-        switch ($ktype) {
-        case TType::STRUCT:
-          $class = $kspec['class'];
-          $key = new $class();
-          $xfer += $key->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($key, $kspec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($key, $kspec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($key, $kspec, $input, true);
-          break;
-        }
-      }
-      if ($vread !== null) {
-        $xfer += $input->$vread($val);
-      } else {
-        switch ($vtype) {
-        case TType::STRUCT:
-          $class = $vspec['class'];
-          $val = new $class();
-          $xfer += $val->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($val, $vspec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($val, $vspec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($val, $vspec, $input, true);
-          break;
-        }
-      }
-      $var[$key] = $val;
-    }
-    $xfer += $input->readMapEnd();
-    return $xfer;
-  }
-
-  private function _readList(&$var, $spec, $input, $set=false) {
-    $xfer = 0;
-    $etype = $spec['etype'];
-    $eread = $vread = null;
-    if (isset(TBase::$tmethod[$etype])) {
-      $eread = 'read'.TBase::$tmethod[$etype];
-    } else {
-      $espec = $spec['elem'];
-    }
-    $var = array();
-    $_etype = $size = 0;
-    if ($set) {
-      $xfer += $input->readSetBegin($_etype, $size);
-    } else {
-      $xfer += $input->readListBegin($_etype, $size);
-    }
-    for ($i = 0; $i < $size; ++$i) {
-      $elem = null;
-      if ($eread !== null) {
-        $xfer += $input->$eread($elem);
-      } else {
-        $espec = $spec['elem'];
-        switch ($etype) {
-        case TType::STRUCT:
-          $class = $espec['class'];
-          $elem = new $class();
-          $xfer += $elem->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($elem, $espec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($elem, $espec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($elem, $espec, $input, true);
-          break;
-        }
-      }
-      if ($set) {
-        $var[$elem] = true;
-      } else {
-        $var []= $elem;
-      }
-    }
-    if ($set) {
-      $xfer += $input->readSetEnd();
-    } else {
-      $xfer += $input->readListEnd();
-    }
-    return $xfer;
-  }
-
-  protected function _read($class, $spec, $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;
-      }
-      if (isset($spec[$fid])) {
-        $fspec = $spec[$fid];
-        $var = $fspec['var'];
-        if ($ftype == $fspec['type']) {
-          $xfer = 0;
-          if (isset(TBase::$tmethod[$ftype])) {
-            $func = 'read'.TBase::$tmethod[$ftype];
-            $xfer += $input->$func($this->$var);
-          } else {
-            switch ($ftype) {
-            case TType::STRUCT:
-              $class = $fspec['class'];
-              $this->$var = new $class();
-              $xfer += $this->$var->read($input);
-              break;
-            case TType::MAP:
-              $xfer += $this->_readMap($this->$var, $fspec, $input);
-              break;
-            case TType::LST:
-              $xfer += $this->_readList($this->$var, $fspec, $input, false);
-              break;
-            case TType::SET:
-              $xfer += $this->_readList($this->$var, $fspec, $input, true);
-              break;
-            }
-          }
-        } else {
-          $xfer += $input->skip($ftype);
-        }
-      } else {
-        $xfer += $input->skip($ftype);
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  private function _writeMap($var, $spec, $output) {
-    $xfer = 0;
-    $ktype = $spec['ktype'];
-    $vtype = $spec['vtype'];
-    $kwrite = $vwrite = null;
-    if (isset(TBase::$tmethod[$ktype])) {
-      $kwrite = 'write'.TBase::$tmethod[$ktype];
-    } else {
-      $kspec = $spec['key'];
-    }
-    if (isset(TBase::$tmethod[$vtype])) {
-      $vwrite = 'write'.TBase::$tmethod[$vtype];
-    } else {
-      $vspec = $spec['val'];
-    }
-    $xfer += $output->writeMapBegin($ktype, $vtype, count($var));
-    foreach ($var as $key => $val) {
-      if (isset($kwrite)) {
-        $xfer += $output->$kwrite($key);
-      } else {
-        switch ($ktype) {
-        case TType::STRUCT:
-          $xfer += $key->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($key, $kspec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($key, $kspec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($key, $kspec, $output, true);
-          break;
-        }
-      }
-      if (isset($vwrite)) {
-        $xfer += $output->$vwrite($val);
-      } else {
-        switch ($vtype) {
-        case TType::STRUCT:
-          $xfer += $val->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($val, $vspec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($val, $vspec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($val, $vspec, $output, true);
-          break;
-        }
-      }
-    }
-    $xfer += $output->writeMapEnd();
-    return $xfer;
-  }
-
-  private function _writeList($var, $spec, $output, $set=false) {
-    $xfer = 0;
-    $etype = $spec['etype'];
-    $ewrite = null;
-    if (isset(TBase::$tmethod[$etype])) {
-      $ewrite = 'write'.TBase::$tmethod[$etype];
-    } else {
-      $espec = $spec['elem'];
-    }
-    if ($set) {
-      $xfer += $output->writeSetBegin($etype, count($var));
-    } else {
-      $xfer += $output->writeListBegin($etype, count($var));
-    }
-    foreach ($var as $key => $val) {
-      $elem = $set ? $key : $val;
-      if (isset($ewrite)) {
-        $xfer += $output->$ewrite($elem);
-      } else {
-        switch ($etype) {
-        case TType::STRUCT:
-          $xfer += $elem->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($elem, $espec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($elem, $espec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($elem, $espec, $output, true);
-          break;
-        }
-      }
-    }
-    if ($set) {
-      $xfer += $output->writeSetEnd();
-    } else {
-      $xfer += $output->writeListEnd();
-    }
-    return $xfer;
-  }
-
-  protected function _write($class, $spec, $output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin($class);
-    foreach ($spec as $fid => $fspec) {
-      $var = $fspec['var'];
-      if ($this->$var !== null) {
-        $ftype = $fspec['type'];
-        $xfer += $output->writeFieldBegin($var, $ftype, $fid);
-        if (isset(TBase::$tmethod[$ftype])) {
-          $func = 'write'.TBase::$tmethod[$ftype];
-          $xfer += $output->$func($this->$var);
-        } else {
-          switch ($ftype) {
-          case TType::STRUCT:
-            $xfer += $this->$var->write($output);
-            break;
-          case TType::MAP:
-            $xfer += $this->_writeMap($this->$var, $fspec, $output);
-            break;
-          case TType::LST:
-            $xfer += $this->_writeList($this->$var, $fspec, $output, false);
-            break;
-          case TType::SET:
-            $xfer += $this->_writeList($this->$var, $fspec, $output, true);
-            break;
-          }
-        }
-        $xfer += $output->writeFieldEnd();
-      }
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TProtocolException.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TProtocolException.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TProtocolException.php
deleted file mode 100644
index 98a8d9d..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TProtocolException.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- * @author: rmarin (marin.radu@facebook.com)
- */
-
-namespace Thrift\Exception;
-
-use Thrift\Exception\TException;
-
-/**
- * Protocol module. Contains all the types and definitions needed to implement
- * a protocol encoder/decoder.
- *
- * @package thrift.protocol
- */
-
-/**
- * Protocol exceptions
- */
-class TProtocolException extends TException {
-  const UNKNOWN = 0;
-  const INVALID_DATA = 1;
-  const NEGATIVE_SIZE = 2;
-  const SIZE_LIMIT = 3;
-  const BAD_VERSION = 4;
-
-  function __construct($message=null, $code=0) {
-    parent::__construct($message, $code);
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TTransportException.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TTransportException.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TTransportException.php
deleted file mode 100644
index f467eb9..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Exception/TTransportException.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * 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 thrift.transport
- */
-
-namespace Thrift\Exception;
-
-use Thrift\Exception\TException;
-
-/**
- * Transport exceptions
- */
-class TTransportException extends TException {
-
-  const UNKNOWN = 0;
-  const NOT_OPEN = 1;
-  const ALREADY_OPEN = 2;
-  const TIMED_OUT = 3;
-  const END_OF_FILE = 4;
-
-  function __construct($message=null, $code=0) {
-    parent::__construct($message, $code);
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TBinaryProtocolFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TBinaryProtocolFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TBinaryProtocolFactory.php
deleted file mode 100644
index 85da567..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TBinaryProtocolFactory.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Factory;
-
-use Thrift\Factory\TProtocolFactory;
-use Thrift\Protocol\TBinaryProtocol;
-
-/**
- * Binary Protocol Factory
- */
-class TBinaryProtocolFactory implements TProtocolFactory {
-  private $strictRead_ = false;
-  private $strictWrite_ = false;
-
-  public function __construct($strictRead=false, $strictWrite=false) {
-    $this->strictRead_ = $strictRead;
-    $this->strictWrite_ = $strictWrite;
-  }
-
-  public function getProtocol($trans) {
-    return new TBinaryProtocol($trans, $this->strictRead_, $this->strictWrite_);
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TCompactProtocolFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TCompactProtocolFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TCompactProtocolFactory.php
deleted file mode 100644
index 9f972aa..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TCompactProtocolFactory.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Factory;
-
-use Thrift\Factory\TProtocolFactory;
-use Thrift\Protocol\TCompactProtocol;
-
-/**
- * Compact Protocol Factory
- */
-class TCompactProtocolFactory implements TProtocolFactory {
-
-  public function __construct() {
-  }
-
-  public function getProtocol($trans) {
-    return new TCompactProtocol($trans);
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TJSONProtocolFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TJSONProtocolFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TJSONProtocolFactory.php
deleted file mode 100644
index 27e4391..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TJSONProtocolFactory.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Factory;
-
-use Thrift\Factory\TProtocolFactory;
-use Thrift\Protocol\TJSONProtocol;
-
-/**
- * JSON Protocol Factory
- */
-class TJSONProtocolFactory implements TProtocolFactory
-{
-    public function __construct()
-    {
-    }
-
-    public function getProtocol($trans)
-    {
-        return new TJSONProtocol($trans);
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TProtocolFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TProtocolFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TProtocolFactory.php
deleted file mode 100644
index 6b322eb..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TProtocolFactory.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Factory;
-
-/**
- * Protocol factory creates protocol objects from transports
- */
-interface TProtocolFactory {
-  /**
-   * Build a protocol from the base transport
-   *
-   * @return Thrift\Protocol\TProtocol protocol
-   */
-  public function getProtocol($trans);
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TStringFuncFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TStringFuncFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TStringFuncFactory.php
deleted file mode 100644
index edc3649..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TStringFuncFactory.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-/*
- * 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.
- *
- */
-
-namespace Thrift\Factory;
-
-use Thrift\StringFunc\Mbstring;
-use Thrift\StringFunc\Core;
-
-class TStringFuncFactory {
-    private static $_instance;
-
-    /**
-     * Get the Singleton instance of TStringFunc implementation that is
-     * compatible with the current system's mbstring.func_overload settings.
-     *
-     * @return TStringFunc
-     */
-    public static function create() {
-        if(!self::$_instance) {
-            self::_setInstance();
-        }
-
-        return self::$_instance;
-    }
-
-    private static function _setInstance() {
-        /**
-         * Cannot use str* functions for byte counting because multibyte
-         * characters will be read a single bytes.
-         *
-         * See: http://us.php.net/manual/en/mbstring.overload.php
-         */
-        if(ini_get('mbstring.func_overload') & 2) {
-            self::$_instance = new Mbstring();
-        }
-        /**
-         * mbstring is not installed or does not have function overloading
-         * of the str* functions enabled so use PHP core str* functions for
-         * byte counting.
-         */
-        else {
-            self::$_instance = new Core();
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TTransportFactory.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TTransportFactory.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TTransportFactory.php
deleted file mode 100644
index f3ae123..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Factory/TTransportFactory.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-namespace Thrift\Factory;
-
-use Thrift\Transport\TTransport;
-
-class TTransportFactory {
-  /**
-   * @static
-   * @param TTransport $transport
-   * @return TTransport
-   */
-  public static function getTransport(TTransport $transport) {
-    return $transport;
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/BaseContext.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/BaseContext.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/BaseContext.php
deleted file mode 100644
index e96e504..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/BaseContext.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Protocol\JSON;
-
-class BaseContext
-{
-    function escapeNum()
-    {
-        return false;
-    }
-
-    function write()
-    {
-    }
-
-    function read()
-    {
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/ListContext.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/ListContext.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/ListContext.php
deleted file mode 100644
index a2b75b1..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/ListContext.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Protocol\JSON;
-
-use Thrift\Protocol\JSON\BaseContext;
-use Thrift\Protocol\TJSONProtocol;
-
-class ListContext extends BaseContext
-{
-    private $first_ = true;
-    private $p_;
-
-    public function __construct($p) {
-        $this->p_ = $p;
-    }
-
-    public function write() {
-        if ($this->first_) {
-            $this->first_ = false;
-        } else {
-            $this->p_->getTransport()->write(TJSONProtocol::COMMA);
-        }
-    }
-
-    public function read() {
-        if ($this->first_) {
-            $this->first_ = false;
-        } else {
-            $this->p_->readJSONSyntaxChar(TJSONProtocol::COMMA);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/LookaheadReader.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/LookaheadReader.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/LookaheadReader.php
deleted file mode 100644
index 128b5fc..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/LookaheadReader.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Protocol\JSON;
-
-class LookaheadReader
-{
-    private $hasData_ = false;
-    private $data_ = array();
-    private $p_;
-
-    public function __construct($p)
-    {
-        $this->p_ = $p;
-    }
-
-    public function read() {
-        if ($this->hasData_) {
-            $this->hasData_ = false;
-        } else {
-            $this->data_ = $this->p_->getTransport()->readAll(1);
-        }
-
-        return substr($this->data_, 0, 1);
-    }
-
-    public function peek() {
-        if (!$this->hasData_) {
-            $this->data_ = $this->p_->getTransport()->readAll(1);
-        }
-
-        $this->hasData_ = true;
-        return substr($this->data_, 0, 1);
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/PairContext.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/PairContext.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/PairContext.php
deleted file mode 100644
index 1c87dd3..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/JSON/PairContext.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Protocol\JSON;
-
-use Thrift\Protocol\JSON\BaseContext;
-use Thrift\Protocol\TJSONProtocol;
-
-class PairContext extends BaseContext {
-    private $first_ = true;
-    private $colon_ = true;
-    private $p_ = null;
-
-    public function __construct($p) {
-        $this->p_ = $p;
-    }
-
-    public function write() {
-        if ($this->first_) {
-            $this->first_ = false;
-            $this->colon_ = true;
-        } else {
-            $this->p_->getTransport()->write($this->colon_ ? TJSONProtocol::COLON : TJSONProtocol::COMMA);
-            $this->colon_ = !$this->colon_;
-        }
-    }
-
-    public function read() {
-        if ($this->first_) {
-            $this->first_ = false;
-            $this->colon_ = true;
-        } else {
-            $this->p_->readJSONSyntaxChar($this->colon_ ? TJSONProtocol::COLON : TJSONProtocol::COMMA);
-            $this->colon_ = !$this->colon_;
-        }
-    }
-
-    public function escapeNum() {
-        return $this->colon_;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TBinaryProtocol.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TBinaryProtocol.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TBinaryProtocol.php
deleted file mode 100644
index b1fddac..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TBinaryProtocol.php
+++ /dev/null
@@ -1,396 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Protocol;
-
-use Thrift\Protocol\TProtocol;
-use Thrift\Type\TType;
-use Thrift\Exception\TProtocolException;
-use Thrift\Factory\TStringFuncFactory;
-
-/**
- * Binary implementation of the Thrift protocol.
- *
- */
-class TBinaryProtocol extends TProtocol {
-
-  const VERSION_MASK = 0xffff0000;
-  const VERSION_1 = 0x80010000;
-
-  protected $strictRead_ = false;
-  protected $strictWrite_ = true;
-
-  public function __construct($trans, $strictRead=false, $strictWrite=true) {
-    parent::__construct($trans);
-    $this->strictRead_ = $strictRead;
-    $this->strictWrite_ = $strictWrite;
-  }
-
-  public function writeMessageBegin($name, $type, $seqid) {
-    if ($this->strictWrite_) {
-      $version = self::VERSION_1 | $type;
-      return
-        $this->writeI32($version) +
-        $this->writeString($name) +
-        $this->writeI32($seqid);
-    } else {
-      return
-        $this->writeString($name) +
-        $this->writeByte($type) +
-        $this->writeI32($seqid);
-    }
-  }
-
-  public function writeMessageEnd() {
-    return 0;
-  }
-
-  public function writeStructBegin($name) {
-    return 0;
-  }
-
-  public function writeStructEnd() {
-    return 0;
-  }
-
-  public function writeFieldBegin($fieldName, $fieldType, $fieldId) {
-    return
-      $this->writeByte($fieldType) +
-      $this->writeI16($fieldId);
-  }
-
-  public function writeFieldEnd() {
-    return 0;
-  }
-
-  public function writeFieldStop() {
-    return
-      $this->writeByte(TType::STOP);
-  }
-
-  public function writeMapBegin($keyType, $valType, $size) {
-    return
-      $this->writeByte($keyType) +
-      $this->writeByte($valType) +
-      $this->writeI32($size);
-  }
-
-  public function writeMapEnd() {
-    return 0;
-  }
-
-  public function writeListBegin($elemType, $size) {
-    return
-      $this->writeByte($elemType) +
-      $this->writeI32($size);
-  }
-
-  public function writeListEnd() {
-    return 0;
-  }
-
-  public function writeSetBegin($elemType, $size) {
-    return
-      $this->writeByte($elemType) +
-      $this->writeI32($size);
-  }
-
-  public function writeSetEnd() {
-    return 0;
-  }
-
-  public function writeBool($value) {
-    $data = pack('c', $value ? 1 : 0);
-    $this->trans_->write($data, 1);
-    return 1;
-  }
-
-  public function writeByte($value) {
-    $data = pack('c', $value);
-    $this->trans_->write($data, 1);
-    return 1;
-  }
-
-  public function writeI16($value) {
-    $data = pack('n', $value);
-    $this->trans_->write($data, 2);
-    return 2;
-  }
-
-  public function writeI32($value) {
-    $data = pack('N', $value);
-    $this->trans_->write($data, 4);
-    return 4;
-  }
-
-  public function writeI64($value) {
-    // If we are on a 32bit architecture we have to explicitly deal with
-    // 64-bit twos-complement arithmetic since PHP wants to treat all ints
-    // as signed and any int over 2^31 - 1 as a float
-    if (PHP_INT_SIZE == 4) {
-      $neg = $value < 0;
-
-      if ($neg) {
-        $value *= -1;
-      }
-
-      $hi = (int)($value / 4294967296);
-      $lo = (int)$value;
-
-      if ($neg) {
-        $hi = ~$hi;
-        $lo = ~$lo;
-        if (($lo & (int)0xffffffff) == (int)0xffffffff) {
-          $lo = 0;
-          $hi++;
-        } else {
-          $lo++;
-        }
-      }
-      $data = pack('N2', $hi, $lo);
-
-    } else {
-      $hi = $value >> 32;
-      $lo = $value & 0xFFFFFFFF;
-      $data = pack('N2', $hi, $lo);
-    }
-
-    $this->trans_->write($data, 8);
-    return 8;
-  }
-
-  public function writeDouble($value) {
-    $data = pack('d', $value);
-    $this->trans_->write(strrev($data), 8);
-    return 8;
-  }
-
-  public function writeString($value) {
-    $len = TStringFuncFactory::create()->strlen($value);
-    $result = $this->writeI32($len);
-    if ($len) {
-      $this->trans_->write($value, $len);
-    }
-    return $result + $len;
-  }
-
-  public function readMessageBegin(&$name, &$type, &$seqid) {
-    $result = $this->readI32($sz);
-    if ($sz < 0) {
-      $version = (int) ($sz & self::VERSION_MASK);
-      if ($version != (int) self::VERSION_1) {
-        throw new TProtocolException('Bad version identifier: '.$sz, TProtocolException::BAD_VERSION);
-      }
-      $type = $sz & 0x000000ff;
-      $result +=
-        $this->readString($name) +
-        $this->readI32($seqid);
-    } else {
-      if ($this->strictRead_) {
-        throw new TProtocolException('No version identifier, old protocol client?', TProtocolException::BAD_VERSION);
-      } else {
-        // Handle pre-versioned input
-        $name = $this->trans_->readAll($sz);
-        $result +=
-          $sz +
-          $this->readByte($type) +
-          $this->readI32($seqid);
-      }
-    }
-    return $result;
-  }
-
-  public function readMessageEnd() {
-    return 0;
-  }
-
-  public function readStructBegin(&$name) {
-    $name = '';
-    return 0;
-  }
-
-  public function readStructEnd() {
-    return 0;
-  }
-
-  public function readFieldBegin(&$name, &$fieldType, &$fieldId) {
-    $result = $this->readByte($fieldType);
-    if ($fieldType == TType::STOP) {
-      $fieldId = 0;
-      return $result;
-    }
-    $result += $this->readI16($fieldId);
-    return $result;
-  }
-
-  public function readFieldEnd() {
-    return 0;
-  }
-
-  public function readMapBegin(&$keyType, &$valType, &$size) {
-    return
-      $this->readByte($keyType) +
-      $this->readByte($valType) +
-      $this->readI32($size);
-  }
-
-  public function readMapEnd() {
-    return 0;
-  }
-
-  public function readListBegin(&$elemType, &$size) {
-    return
-      $this->readByte($elemType) +
-      $this->readI32($size);
-  }
-
-  public function readListEnd() {
-    return 0;
-  }
-
-  public function readSetBegin(&$elemType, &$size) {
-    return
-      $this->readByte($elemType) +
-      $this->readI32($size);
-  }
-
-  public function readSetEnd() {
-    return 0;
-  }
-
-  public function readBool(&$value) {
-    $data = $this->trans_->readAll(1);
-    $arr = unpack('c', $data);
-    $value = $arr[1] == 1;
-    return 1;
-  }
-
-  public function readByte(&$value) {
-    $data = $this->trans_->readAll(1);
-    $arr = unpack('c', $data);
-    $value = $arr[1];
-    return 1;
-  }
-
-  public function readI16(&$value) {
-    $data = $this->trans_->readAll(2);
-    $arr = unpack('n', $data);
-    $value = $arr[1];
-    if ($value > 0x7fff) {
-      $value = 0 - (($value - 1) ^ 0xffff);
-    }
-    return 2;
-  }
-
-  public function readI32(&$value) {
-    $data = $this->trans_->readAll(4);
-    $arr = unpack('N', $data);
-    $value = $arr[1];
-    if ($value > 0x7fffffff) {
-      $value = 0 - (($value - 1) ^ 0xffffffff);
-    }
-    return 4;
-  }
-
-  public function readI64(&$value) {
-    $data = $this->trans_->readAll(8);
-
-    $arr = unpack('N2', $data);
-
-    // If we are on a 32bit architecture we have to explicitly deal with
-    // 64-bit twos-complement arithmetic since PHP wants to treat all ints
-    // as signed and any int over 2^31 - 1 as a float
-    if (PHP_INT_SIZE == 4) {
-
-      $hi = $arr[1];
-      $lo = $arr[2];
-      $isNeg = $hi  < 0;
-
-      // Check for a negative
-      if ($isNeg) {
-        $hi = ~$hi & (int)0xffffffff;
-        $lo = ~$lo & (int)0xffffffff;
-
-        if ($lo == (int)0xffffffff) {
-          $hi++;
-          $lo = 0;
-        } else {
-          $lo++;
-        }
-      }
-
-      // Force 32bit words in excess of 2G to pe positive - we deal wigh sign
-      // explicitly below
-
-      if ($hi & (int)0x80000000) {
-        $hi &= (int)0x7fffffff;
-        $hi += 0x80000000;
-      }
-
-      if ($lo & (int)0x80000000) {
-        $lo &= (int)0x7fffffff;
-        $lo += 0x80000000;
-      }
-
-      $value = $hi * 4294967296 + $lo;
-
-      if ($isNeg) {
-        $value = 0 - $value;
-      }
-    } else {
-
-      // Upcast negatives in LSB bit
-      if ($arr[2] & 0x80000000) {
-        $arr[2] = $arr[2] & 0xffffffff;
-      }
-
-      // Check for a negative
-      if ($arr[1] & 0x80000000) {
-        $arr[1] = $arr[1] & 0xffffffff;
-        $arr[1] = $arr[1] ^ 0xffffffff;
-        $arr[2] = $arr[2] ^ 0xffffffff;
-        $value = 0 - $arr[1]*4294967296 - $arr[2] - 1;
-      } else {
-        $value = $arr[1]*4294967296 + $arr[2];
-      }
-    }
-
-    return 8;
-  }
-
-  public function readDouble(&$value) {
-    $data = strrev($this->trans_->readAll(8));
-    $arr = unpack('d', $data);
-    $value = $arr[1];
-    return 8;
-  }
-
-  public function readString(&$value) {
-    $result = $this->readI32($len);
-    if ($len) {
-      $value = $this->trans_->readAll($len);
-    } else {
-      $value = '';
-    }
-    return $result + $len;
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TBinaryProtocolAccelerated.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TBinaryProtocolAccelerated.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TBinaryProtocolAccelerated.php
deleted file mode 100644
index 392aa21..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Protocol/TBinaryProtocolAccelerated.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-/*
- * 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 thrift.protocol
- */
-
-namespace Thrift\Protocol;
-
-use Thrift\Protocol\TBinaryProtocol;
-use Thrift\Transport\TBufferedTransport;
-
-/**
- * Accelerated binary protocol: used in conjunction with the thrift_protocol
- * extension for faster deserialization
- */
-class TBinaryProtocolAccelerated extends TBinaryProtocol {
-  public function __construct($trans, $strictRead=false, $strictWrite=true) {
-    // If the transport doesn't implement putBack, wrap it in a
-    // TBufferedTransport (which does)
-    if (!method_exists($trans, 'putBack')) {
-      $trans = new TBufferedTransport($trans);
-    }
-    parent::__construct($trans, $strictRead, $strictWrite);
-  }
-  public function isStrictRead() {
-    return $this->strictRead_;
-  }
-  public function isStrictWrite() {
-    return $this->strictWrite_;
-  }
-}
\ No newline at end of file


[22/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/LICENSE
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/LICENSE b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/LICENSE
new file mode 100644
index 0000000..24cb886
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/LICENSE
@@ -0,0 +1,2272 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+
+===================================================================================
+The Apache Airavata distribution includes a number of run time 
+dependencies with separate copyright notices and license terms. Your use of the
+Apache Airavata code is subject to the terms and conditions of the following licenses.
+===================================================================================
+
+===============================================================================
+The following components come under Apache Software License 2.0
+===============================================================================
+
+apache axiom, apache axis2, apache commons, apache derby, apache geronimo,
+apache httpcore components, apache log4j, apache xmlbeans, apache xmlschema,
+aws-java-sdk-1.1.8.jar, bcel-5.1.jar, Codehaus Jackson (jackson-core-asl-1.9.2.jar,
+jackson-jaxrs-1.9.2.jar, jackson-mapper-asl-1.9.2.jar, jackson-xc-1.9.2.jar, 
+jets3t-0.8.0.jar, jettison-1.0-RC2.jar, neethi-2.0.4.jar, PDFBox libraries 
+(pdfbox, jempbox, fontbox), wstx-asl-3.2.4.jar
+
+===============================================================================
+The following components use Apache based Licenses
+===============================================================================
+
+===============================================================================
+For: jdom-1.0.jar
+    Containing Project URL: http://www.jdom.org/
+/*-- 
+
+ $Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $
+
+ Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
+ All rights reserved.
+ 
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions, and the following disclaimer.
+ 
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions, and the disclaimer that follows 
+    these conditions in the documentation and/or other materials 
+    provided with the distribution.
+
+ 3. The name "JDOM" must not be used to endorse or promote products
+    derived from this software without prior written permission.  For
+    written permission, please contact <request_AT_jdom_DOT_org>.
+ 
+ 4. Products derived from this software may not be called "JDOM", nor
+    may "JDOM" appear in their name, without prior written permission
+    from the JDOM Project Management <request_AT_jdom_DOT_org>.
+ 
+ In addition, we request (but do not require) that you include in the 
+ end-user documentation provided with the redistribution and/or in the 
+ software itself an acknowledgement equivalent to the following:
+     "This product includes software developed by the
+      JDOM Project (http://www.jdom.org/)."
+ Alternatively, the acknowledgment may be graphical using the logos 
+ available at http://www.jdom.org/images/logos.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED.  IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+ This software consists of voluntary contributions made by many 
+ individuals on behalf of the JDOM Project and was originally 
+ created by Jason Hunter <jhunter_AT_jdom_DOT_org> and
+ Brett McLaughlin <brett_AT_jdom_DOT_org>.  For more information
+ on the JDOM Project, please see <http://www.jdom.org/>. 
+
+ */
+
+===============================================================================
+
+ASM bytecode manipulation library (asm)
+    Containing Project URL: http://asm.ow2.org/
+
+    Copyright (c) 2000-2005 INRIA, France Telecom
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    1. Redistributions of source code must retain the above copyright
+       notice, this list of conditions and the following disclaimer.
+
+    2. Redistributions in binary form must reproduce the above copyright
+       notice, this list of conditions and the following disclaimer in the
+       documentation and/or other materials provided with the distribution.
+
+    3. Neither the name of the copyright holders nor the names of its
+       contributors may be used to endorse or promote products derived from
+       this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+    THE POSSIBILITY OF SUCH DAMAGE.
+
+===============================================================================
+
+For: cryptix-asn1-versionless.jar, cryptix32-versionless.jar
+    Containing Project URL: http://www.cryptix.org/
+
+Cryptix General License
+
+Copyright (c) 1995-2005 The Cryptix Foundation Limited.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+  1. Redistributions of source code must retain the copyright notice,
+     this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in
+     the documentation and/or other materials provided with the
+     distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND
+CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+===============================================================================
+The following components come under Extreme! Lab Software License
+===============================================================================
+
+XPP3
+    Containing Project URL: http://www.extreme.indiana.edu/xgws/xsoap/xpp/
+xsul, xsul5, xutil
+    Containing Project URL: http://www.extreme.indiana.edu/xgws/xsul/
+wsmg
+    Containing Project URL: http://www.extreme.indiana.edu/xgws/messenger/index.html
+gpel, weps-beans, pegasuswebservice, mapReduce-service-client, atomixmiser
+    Containing Project URL: http://www.extreme.indiana.edu/xgws/
+    
+Indiana University Extreme! Lab Software License
+
+Version 1.1.1
+
+Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the distribution.
+
+3. The end-user documentation included with the redistribution, if any,
+   must include the following acknowledgment:
+
+  "This product includes software developed by the Indiana University
+  Extreme! Lab (http://www.extreme.indiana.edu/)."
+
+Alternately, this acknowledgment may appear in the software itself,
+if and wherever such third-party acknowledgments normally appear.
+
+4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab"
+must not be used to endorse or promote products derived from this
+software without prior written permission. For written permission,
+please contact http://www.extreme.indiana.edu/.
+
+5. Products derived from this software may not use "Indiana Univeristy"
+name nor may "Indiana Univeristy" appear in their name, without prior
+written permission of the Indiana University.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS OR ITS CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+======================================================================== 
+The following components are MIT Licensed 
+========================================================================
+
+SLF4J,log4j-over-slf4j, jcl-over-slf4j, slf4j-api,mockito-all-1.8.5,jopt-simple-3.2.jar
+    Containing Project URL: http://www.slf4j.org/
+
+Copyright (c) 2004-2008 QOS.ch
+ All rights reserved.
+
+ Permission is hereby granted, free  of charge, to any person obtaining
+ a  copy  of this  software  and  associated  documentation files  (the
+ "Software"), to  deal in  the Software without  restriction, including
+ without limitation  the rights to  use, copy, modify,  merge, publish,
+ distribute,  sublicense, and/or sell  copies of  the Software,  and to
+ permit persons to whom the Software  is furnished to do so, subject to
+ the following conditions:
+
+ The  above  copyright  notice  and  this permission  notice  shall  be
+ included in all copies or substantial portions of the Software.
+
+ THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+ EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+ MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+========================================================================
+
+For dom4j-1.6.1.jar:
+    Containing Project URL: http://dom4j.sourceforge.net/
+Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation
+("Software"), with or without modification, are permitted provided
+that the following conditions are met:
+
+1. Redistributions of source code must retain copyright
+   statements and notices.  Redistributions must also contain a
+   copy of this document.
+ 
+2. Redistributions in binary form must reproduce the
+   above copyright notice, this list of conditions and the
+   following disclaimer in the documentation and/or other
+   materials provided with the distribution.
+ 
+3. The name "DOM4J" must not be used to endorse or promote
+   products derived from this Software without prior written
+   permission of MetaStuff, Ltd.  For written permission,
+   please contact dom4j-info@metastuff.com.
+ 
+4. Products derived from this Software may not be called "DOM4J"
+   nor may "DOM4J" appear in their names without prior written
+   permission of MetaStuff, Ltd. DOM4J is a registered
+   trademark of MetaStuff, Ltd.
+ 
+5. Due credit should be given to the DOM4J Project - 
+   http://www.dom4j.org
+ 
+THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+====================================================================================================
+
+For Bouncy Castle:
+    Containing Project URL: http://www.bouncycastle.org/
+
+Copyright (c) 2000 - 2011 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)
+
+Permission iss software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions hereby granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the "Software"), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+=======================================================================================================
+
+For: The International Components for Unicode (icu4j-2.6.1.jar)
+    Containing Project URL: http://site.icu-project.org/
+
+    Copyright (c) 1995-2009 International Business Machines Corporation
+    and others
+
+    All rights reserved.
+
+    Permission is hereby granted, free of charge, to any person obtaining
+    a copy of this software and associated documentation files (the
+    "Software"), to deal in the Software without restriction, including
+    without limitation the rights to use, copy, modify, merge, publish,
+    distribute, and/or sell copies of the Software, and to permit persons
+    to whom the Software is furnished to do so, provided that the above
+    copyright notice(s) and this permission notice appear in all copies
+    of the Software and that both the above copyright notice(s) and this
+    permission notice appear in supporting documentation.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+    IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
+    BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+    OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+    SOFTWARE.
+
+    Except as contained in this notice, the name of a copyright holder shall
+    not be used in advertising or otherwise to promote the sale, use or other
+    dealings in this Software without prior written authorization of the
+    copyright holder.
+    
+====================================================================== 
+The following components are CDDL based License 
+======================================================================
+
+For activation-1.1.jar, jaxb-api-2.1.jar, mail-1.4.jar, junit, 
+Servlet Specification 2.5 API (servlet-api-2.5-6.1.14.jar),
+Classfish Jasper API (jsp-api-2.1-6.1.14.jar), and
+JSP2.1 Jasper implementation from Glassfish (jsp-2.1-6.1.14.jar), 
+Jersey from Glassfish (jersey-client-1.13.jar, jersey-core-1.13.jar,
+jersey-json-1.13.jar, jersey-multipart-1.13.jar) and JSP2.1 Jasper 
+implementation from Glassfish (jsp-2.1-6.1.14.jar),whirr-core-0.7.1.jar, whirr-hadoop-0.7.1.jar:
+ 
+NOTE: jersey is dual licensed (http://jersey.java.net/CDDL+GPL.html), 
+Apahce Airavata elects to include jersey in this distribution under the
+[CDDLv_1.0] license.
+
+    COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+
+    1. Definitions.
+
+    1.1. Contributor means each individual or entity that creates or
+    contributes to the creation of Modifications.
+
+    1.2. Contributor Version means the combination of the Original Software,
+    prior Modifications used by a Contributor (if any), and the Modifications
+    made by that particular Contributor.
+
+    1.3. Covered Software means (a) the Original Software, or
+    (b) Modifications, or (c) the combination of files containing Original
+    Software with files containing Modifications, in each case including
+    portions thereof.
+
+    1.4. Executable means the Covered Software in any form other than Source
+    Code.
+
+    1.5. Initial Developer means the individual or entity that first makes
+    Original Software available under this License.
+
+    1.6. Larger Work means a work which combines Covered Software or portions
+    thereof with code not governed by the terms of this License.
+
+    1.7. License means this document.
+
+    1.8. Licensable means having the right to grant, to the maximum extent
+    possible, whether at the time of the initial grant or subsequently
+    acquired, any and all of the rights conveyed herein.
+
+    1.9. Modifications means the Source Code and Executable form of any of
+    the following: A. Any file that results from an addition to, deletion
+    from or modification of the contents of a file containing Original
+    Software or previous Modifications; B. Any new file that contains any
+    part of the Original Software or previous Modification; or C. Any new
+    file that is contributed or otherwise made available under the terms of
+    this License.
+
+    1.10. Original Software means the Source Code and Executable form of
+    computer software code that is originally released under this License.
+
+    1.11. Patent Claims means any patent claim(s), now owned or hereafter
+    acquired, including without limitation, method, process, and apparatus
+    claims, in any patent Licensable by grantor.
+
+    1.12. Source Code means (a) the common form of computer software code in
+    which modifications are made and (b) associated documentation included in
+    or with such code.
+
+    1.13. You (or Your) means an individual or a legal entity exercising
+    rights under, and complying with all of the terms of, this License. For
+    legal entities, You includes any entity which controls, is controlled by,
+    or is under common control with You. For purposes of this definition,
+    control means (a) the power, direct or indirect, to cause the direction
+    or management of such entity, whether by contract or otherwise, or
+    (b) ownership of more than fifty percent (50%) of the outstanding shares
+    or beneficial ownership of such entity.
+
+    2. License Grants.
+
+    2.1. The Initial Developer Grant. Conditioned upon Your compliance with
+    Section 3.1 below and subject to third party intellectual property
+    claims, the Initial Developer hereby grants You a world-wide,
+    royalty-free, non-exclusive license:
+
+    (a) under intellectual property rights (other than patent or trademark)
+        Licensable by Initial Developer, to use, reproduce, modify, display,
+        perform, sublicense and distribute the Original Software (or portions
+        thereof), with or without Modifications, and/or as part of a Larger
+        Work; and
+
+    (b) under Patent Claims infringed by the making, using or selling of
+        Original Software, to make, have made, use, practice, sell, and offer
+        for sale, and/or otherwise dispose of the Original Software (or
+        portions thereof);
+
+    (c) The licenses granted in Sections 2.1(a) and (b) are effective on the
+        date Initial Developer first distributes or otherwise makes the
+        Original Software available to a third party under the terms of
+        this License;
+
+    (d) Notwithstanding Section 2.1(b) above, no patent license is granted:
+        (1) for code that You delete from the Original Software, or (2) for
+        infringements caused by: (i) the modification of the Original
+        Software, or (ii) the combination of the Original Software with other
+        software or devices.
+
+    2.2. Contributor Grant. Conditioned upon Your compliance with Section 3.1
+    below and subject to third party intellectual property claims, each
+    Contributor hereby grants You a world-wide, royalty-free, non-exclusive
+    license:
+
+    (a) under intellectual property rights (other than patent or trademark)
+        Licensable by Contributor to use, reproduce, modify, display, perform,
+        sublicense and distribute the Modifications created by such
+        Contributor (or portions thereof), either on an unmodified basis,
+        with other Modifications, as Covered Software and/or as part of a
+        Larger Work; and
+
+    (b) under Patent Claims infringed by the making, using, or selling of
+        Modifications made by that Contributor either alone and/or in
+        combination with its Contributor Version (or portions of such
+        combination), to make, use, sell, offer for sale, have made, and/or
+        otherwise dispose of: (1) Modifications made by that Contributor (or
+        portions thereof); and (2) the combination of Modifications made by
+        that Contributor with its Contributor Version (or portions of such
+        combination).
+
+    (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on
+        the date Contributor first distributes or otherwise makes the
+        Modifications available to a third party.
+
+    (d) Notwithstanding Section 2.2(b) above, no patent license is granted:
+        (1) for any code that Contributor has deleted from the Contributor
+        Version; (2) for infringements caused by: (i) third party
+        modifications of Contributor Version, or (ii) the combination of
+        Modifications made by that Contributor with other software (except
+        as part of the Contributor Version) or other devices; or (3) under
+        Patent Claims infringed by Covered Software in the absence of
+        Modifications made by that Contributor.
+
+    3. Distribution Obligations.
+
+    3.1. Availability of Source Code. Any Covered Software that You distribute
+    or otherwise make available in Executable form must also be made available
+    in Source Code form and that Source Code form must be distributed only
+    under the terms of this License. You must include a copy of this License
+    with every copy of the Source Code form of the Covered Software You
+    distribute or otherwise make available. You must inform recipients of any
+    such Covered Software in Executable form as to how they can obtain such
+    Covered Software in Source Code form in a reasonable manner on or through
+    a medium customarily used for software exchange.
+
+    3.2. Modifications. The Modifications that You create or to which You
+    contribute are governed by the terms of this License. You represent that
+    You believe Your Modifications are Your original creation(s) and/or You
+    have sufficient rights to grant the rights conveyed by this License.
+
+    3.3. Required Notices. You must include a notice in each of Your
+    Modifications that identifies You as the Contributor of the Modification.
+    You may not remove or alter any copyright, patent or trademark notices
+    contained within the Covered Software, or any notices of licensing or any
+    descriptive text giving attribution to any Contributor or the Initial
+    Developer.
+
+    3.4. Application of Additional Terms. You may not offer or impose any
+    terms on any Covered Software in Source Code form that alters or restricts
+    the applicable version of this License or the recipients rights hereunder.
+    You may choose to offer, and to charge a fee for, warranty, support,
+    indemnity or liability obligations to one or more recipients of Covered
+    Software. However, you may do so only on Your own behalf, and not on
+    behalf of the Initial Developer or any Contributor. You must make it
+    absolutely clear that any such warranty, support, indemnity or liability
+    obligation is offered by You alone, and You hereby agree to indemnify the
+    Initial Developer and every Contributor for any liability incurred by the
+    Initial Developer or such Contributor as a result of warranty, support,
+    indemnity or liability terms You offer.
+
+    3.5. Distribution of Executable Versions. You may distribute the
+    Executable form of the Covered Software under the terms of this License or
+    under the terms of a license of Your choice, which may contain terms
+    different from this License, provided that You are in compliance with the
+    terms of this License and that the license for the Executable form does
+    not attempt to limit or alter the recipients rights in the Source Code
+    form from the rights set forth in this License. If You distribute the
+    Covered Software in Executable form under a different license, You must
+    make it absolutely clear that any terms which differ from this License
+    are offered by You alone, not by the Initial Developer or Contributor.
+    You hereby agree to indemnify the Initial Developer and every Contributor
+    for any liability incurred by the Initial Developer or such Contributor as
+    a result of any such terms You offer.
+
+    3.6. Larger Works. You may create a Larger Work by combining Covered
+    Software with other code not governed by the terms of this License and
+    distribute the Larger Work as a single product. In such a case, You must
+    make sure the requirements of this License are fulfilled for the Covered
+    Software.
+
+    4. Versions of the License.
+
+    4.1. New Versions. Sun Microsystems, Inc. is the initial license steward
+    and may publish revised and/or new versions of this License from time to
+    time. Each version will be given a distinguishing version number. Except
+    as provided in Section 4.3, no one other than the license steward has the
+    right to modify this License.
+
+    4.2. Effect of New Versions. You may always continue to use, distribute
+    or otherwise make the Covered Software available under the terms of the
+    version of the License under which You originally received the Covered
+    Software. If the Initial Developer includes a notice in the Original
+    Software prohibiting it from being distributed or otherwise made
+    available under any subsequent version of the License, You must
+    distribute and make the Covered Software available under the terms of
+    the version of the License under which You originally received the
+    Covered Software. Otherwise, You may also choose to use, distribute or
+    otherwise make the Covered Software available under the terms of any
+    subsequent version of the License published by the license steward.
+
+    4.3. Modified Versions. When You are an Initial Developer and You want
+    to create a new license for Your Original Software, You may create and
+    use a modified version of this License if You: (a) rename the license and
+    remove any references to the name of the license steward (except to note
+    that the license differs from this License); and (b) otherwise make it
+    clear that the license contains terms which differ from this License.
+
+    5. DISCLAIMER OF WARRANTY. COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE
+    ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
+    IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
+    SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE
+    OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
+    THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE
+    DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER
+    CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR
+    CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF
+    THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER
+    EXCEPT UNDER THIS DISCLAIMER.
+
+    6. TERMINATION.
+
+    6.1. This License and the rights granted hereunder will terminate
+    automatically if You fail to comply with terms herein and fail to cure
+    such breach within 30 days of becoming aware of the breach. Provisions
+    which, by their nature, must remain in effect beyond the termination of
+    this License shall survive.
+
+    6.2. If You assert a patent infringement claim (excluding declaratory
+    judgment actions) against Initial Developer or a Contributor (the Initial
+    Developer or Contributor against whom You assert such claim is referred
+    to as Participant) alleging that the Participant Software (meaning the
+    Contributor Version where the Participant is a Contributor or the
+    Original Software where the Participant is the Initial Developer)
+    directly or indirectly infringes any patent, then any and all rights
+    granted directly or indirectly to You by such Participant, the Initial
+    Developer (if the Initial Developer is not the Participant) and all
+    Contributors under Sections 2.1 and/or 2.2 of this License shall, upon
+    60 days notice from Participant terminate prospectively and automatically
+    at the expiration of such 60 day notice period, unless if within such
+    60 day period You withdraw Your claim with respect to the Participant
+    Software against such Participant either unilaterally or pursuant to a
+    written agreement with Participant.
+
+    6.3. In the event of termination under Sections 6.1 or 6.2 above, all end
+    user licenses that have been validly granted by You or any distributor
+    hereunder prior to termination (excluding licenses granted to You by any
+    distributor) shall survive termination.
+
+    7. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL
+    THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL
+    YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
+    COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY
+    PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF
+    ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS,
+    LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY
+    AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE
+    BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+    LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+    RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+    PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
+    OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION
+    AND LIMITATION MAY NOT APPLY TO YOU.
+
+    8. U.S. GOVERNMENT END USERS. The Covered Software is a commercial item,
+    as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of
+    commercial computer software (as that term is defined at 48 C.F.R.
+    252.227-7014(a)(1)) and commercial computer software documentation as such
+    terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R.
+    12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S.
+    Government End Users acquire Covered Software with only those rights set
+    forth herein. This U.S. Government Rights clause is in lieu of, and
+    supersedes, any other FAR, DFAR, or other clause or provision that
+    addresses Government rights in computer software under this License.
+
+    9. MISCELLANEOUS. This License represents the complete agreement
+    concerning subject matter hereof. If any provision of this License is
+    held to be unenforceable, such provision shall be reformed only to the
+    extent necessary to make it enforceable. This License shall be governed
+    by the law of the jurisdiction specified in a notice contained within
+    the Original Software (except to the extent applicable law, if any,
+    provides otherwise), excluding such jurisdictions conflict-of-law
+    provisions. Any litigation relating to this License shall be subject to
+    the jurisdiction of the courts located in the jurisdiction and venue
+    specified in a notice contained within the Original Software, with the
+    losing party responsible for costs, including, without limitation, court
+    costs and reasonable attorneys fees and expenses. The application of the
+    United Nations Convention on Contracts for the International Sale of
+    Goods is expressly excluded. Any law or regulation which provides that
+    the language of a contract shall be construed against the drafter shall
+    not apply to this License. You agree that You alone are responsible for
+    compliance with the United States export administration regulations (and
+    the export control laws and regulation of any other countries) when You
+    use, distribute or otherwise make available any Covered Software.
+
+    10. RESPONSIBILITY FOR CLAIMS. As between Initial Developer and the
+    Contributors, each party is responsible for claims and damages arising,
+    directly or indirectly, out of its utilization of rights under this
+    License and You agree to work with Initial Developer and Contributors
+    to distribute such responsibility on an equitable basis. Nothing herein
+    is intended or shall be deemed to constitute any admission of liability.
+
+    NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION
+    LICENSE (CDDL) The code released under the CDDL shall be governed by the
+    laws of the State of California (excluding conflict-of-law provisions).
+    Any litigation relating to this License shall be subject to the
+    jurisdiction of the Federal Courts of the Northern District of California
+    and the state courts of the State of California, with venue lying in
+    Santa Clara County, California.
+
+
+==============================================================================
+
+For: jaxb-xjc-2.1.7.jar
+    Containing Project URL: 
+
+Copyright (c) 2004 Kohsuke Kawaguchi
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom
+the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall
+be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+=============================================================================== 
+The following components are BSD Licensed 
+=============================================================================== 
+
+For jibx-bind-1.2.1.jar,jibx-run-1.2.1.jar, antlr-2.7.7.jar,hamcrest-all-1.1.jar,whirr-core-0.7.1.jar, whirr-hadoop-0.7.1.jar:
+    Containing Project URL: http://jibx.sourceforge.net, http://www.antlr.org/
+
+Copyright (c) 2003-2007, Dennis M. Sosnoski
+All rights reserved.
+
+Copyright (c) 2010 Terence Parr
+All rights reserved.
+
+[The BSD License]
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+ * Neither the name of JiBX nor the names of its contributors may be used
+   to endorse or promote products derived from this software without specific
+   prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+==============================================================================
+
+For YFilter:
+    Containing Project URL: http://yfilter.cs.umass.edu/
+
+YFilter 1.0 COPYRIGHT, LICENSE and DISCLAIMER
+
+Copyright (c) 2002, 2004, Regents of the University of California All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are
+permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this
+    list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this
+    list of conditions and the following disclaimer in the documentation and/or other
+    materials provided with the distribution.
+    * Neither the name of the University of California at Berkeley nor the names of
+    its contributors may be used to endorse or promote products derived from this
+    software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+==========================================================================================
+For jaxen-1.1.1.jar:
+    Containing Project URL: http://jaxen.codehaus.org/
+
+ Copyright 2003-2006 The Werken Company. All Rights Reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+  * Neither the name of the Jaxen Project nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=============================================================================== 
+The following components are CPL Licensed 
+=============================================================================== 
+
+For wsdl4j-1.6.2.jar:
+    Containing Project URL: http://sourceforge.net/projects/wsdl4j/
+
+Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+1. DEFINITIONS
+"Contribution" means:
+a) in the case of the initial Contributor, the initial code and
documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+i) changes to the Program, and
+ii) additions to the Program;
+where such changes and/or additions to the Program originate from and are
distributed by that particular Contributor. A Contribution 'originates' from a
Contributor if it was added to the Program by such Contributor itself or anyone
acting on such Contributor's behalf. Contributions do not include additions to
the Program which: (i) are separate modules of software distributed in
conjunction with the Program under their own license agreement, and (ii) are not
derivative works of the Program.
+"Contributor" means any person or entity that distributes the Program.
+"Licensed Patents " mean patent claims licensable by a Contributor which are
necessarily infringed by the use or sale of its Contribution alone or when
combined with the Program.
+"Program" means the Contributions distributed in accordance with this Agreement.
+"Recipient" means anyone who receives the Program under this Agreement,
including all Contributors.
+2. GRANT OF RIGHTS
+a) Subject to the terms of this Agreement, each Contributor hereby grants
Recipient a non-exclusive, worldwide, royalty-free copyright license to
reproduce, prepare derivative works of, publicly display, publicly perform,
distribute and sublicense the Contribution of such Contributor, if any, and such
derivative works, in source code and object code form.
+b) Subject to the terms of this Agreement, each Contributor hereby grants
Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
Patents to make, use, sell, offer to sell, import and otherwise transfer the
Contribution of such Contributor, if any, in source code and object code form.
This patent license shall apply to the combination of the Contribution and the
Program if, at the time the Contribution is added by the Contributor, such
addition of the Contribution causes such combination to be covered by the
Licensed Patents. The patent license shall not apply to any other combinations
which include the Contribution. No hardware per se is licensed hereunder.
+c) Recipient understands that although each Contributor grants the licenses
to its Contributions set forth herein, no assurances are provided by any
Contributor that the Program does not infringe the patent or other intellectual
property rights of any other entity. Each Contributor disclaims any liability to
Recipient for claims brought by any other entity based on infringement of
intellectual property rights or otherwise. As a condition to exercising the
rights and licenses granted hereunder, each Recipient hereby assumes sole
responsibility to secure any other intellectual property rights needed, if any.
For example, if a third party patent license is required to allow Recipient to
distribute the Program, it is Recipient's responsibility to acquire that license
before distributing the Program.
+d) Each Contributor represents that to its knowledge it has sufficient
copyright rights in its Contribution, if any, to grant the copyright license set
forth in this Agreement.
+3. REQUIREMENTS
+A Contributor may choose to distribute the Program in object code form under its
own license agreement, provided that:
+a) it complies with the terms and conditions of this Agreement; and
+b) its license agreement:
+i) effectively disclaims on behalf of all Contributors all warranties and
conditions, express and implied, including warranties or conditions of title and
non-infringement, and implied warranties or conditions of merchantability and
fitness for a particular purpose;
+ii) effectively excludes on behalf of all Contributors all liability for
damages, including direct, indirect, special, incidental and consequential
damages, such as lost profits;
+iii) states that any provisions which differ from this Agreement are offered
by that Contributor alone and not by any other party; and
+iv) states that source code for the Program is available from such
Contributor, and informs licensees how to obtain it in a reasonable manner on or
through a medium customarily used for software exchange.
+When the Program is made available in source code form:
+a) it must be made available under this Agreement; and
+b) a copy of this Agreement must be included with each copy of the Program.
+Contributors may not remove or alter any copyright notices contained within the
Program.
+Each Contributor must identify itself as the originator of its Contribution, if
any, in a manner that reasonably allows subsequent Recipients to identify the
originator of the Contribution.
+4. COMMERCIAL DISTRIBUTION
+Commercial distributors of software may accept certain responsibilities with
respect to end users, business partners and the like. While this license is
intended to facilitate the commercial use of the Program, the Contributor who
includes the Program in a commercial product offering should do so in a manner
which does not create potential liability for other Contributors. Therefore, if
a Contributor includes the Program in a commercial product offering, such
Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
every other Contributor ("Indemnified Contributor") against any losses, damages
and costs (collectively "Losses") arising from claims, lawsuits and other legal
actions brought by a third party against the Indemnified Contributor to the
extent caused by the acts or omissions of such Commercial Contributor in
connection with its distribution of the Program in a commercial product
offering. The obligations in this section do not ap
 ply to any claims or Losses
relating to any actual or alleged intellectual property infringement. In order
to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
Contributor in writing of such claim, and b) allow the Commercial Contributor to
control, and cooperate with the Commercial Contributor in, the defense and any
related settlement negotiations. The Indemnified Contributor may participate in
any such claim at its own expense.
+For example, a Contributor might include the Program in a commercial product
offering, Product X. That Contributor is then a Commercial Contributor. If that
Commercial Contributor then makes performance claims, or offers warranties
related to Product X, those performance claims and warranties are such
Commercial Contributor's responsibility alone. Under this section, the
Commercial Contributor would have to defend claims against the other
Contributors related to those performance claims and warranties, and if a court
requires any other Contributor to pay any damages as a result, the Commercial
Contributor must pay those damages.
+5. NO WARRANTY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
Recipient is solely responsible for determining the appropriateness of using and
distributing the Program and assumes all risks associated with its exercise of
rights under this Agreement, including but not limited to the risks and costs of
program errors, compliance with applicable laws, damage to or loss of data,
programs or equipment, and unavailability or interruption of operations.
+6. DISCLAIMER OF LIABILITY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+7. GENERAL
+If any provision of this Agreement is invalid or unenforceable under applicable
law, it shall not affect the validity or enforceability of the remainder of the
terms of this Agreement, and without further action by the parties hereto, such
provision shall be reformed to the minimum extent necessary to make such
provision valid and enforceable.
+If Recipient institutes patent litigation against a Contributor with respect to
a patent applicable to software (including a cross-claim or counterclaim in a
lawsuit), then any patent licenses granted by that Contributor to such Recipient
under this Agreement shall terminate as of the date such litigation is filed. In
addition, if Recipient institutes patent litigation against any entity
(including a cross-claim or counterclaim in a lawsuit) alleging that the Program
itself (excluding combinations of the Program with other software or hardware)
infringes such Recipient's patent(s), then such Recipient's rights granted under
Section 2(b) shall terminate as of the date such litigation is filed.
+All Recipient's rights under this Agreement shall terminate if it fails to
comply with any of the material terms or conditions of this Agreement and does
not cure such failure in a reasonable period of time after becoming aware of
such noncompliance. If all Recipient's rights under this Agreement terminate,
Recipient agrees to cease use and distribution of the Program as soon as
reasonably practicable. However, Recipient's obligations under this Agreement
and any licenses granted by Recipient relating to the Program shall continue and
survive.
+Everyone is permitted to copy and distribute copies of this Agreement, but in
order to avoid inconsistency the Agreement is copyrighted and may only be
modified in the following manner. The Agreement Steward reserves the right to
publish new versions (including revisions) of this Agreement from time to time.
No one other than the Agreement Steward has the right to modify this Agreement.
IBM is the initial Agreement Steward. IBM may assign the responsibility to serve
as the Agreement Steward to a suitable separate entity. Each new version of the
Agreement will be given a distinguishing version number. The Program (including
Contributions) may always be distributed subject to the version of the Agreement
under which it was received. In addition, after a new version of the Agreement
is published, Contributor may elect to distribute the Program (including its
Contributions) under the new version. Except as expressly stated in Sections
2(a) and 2(b) above, Recipie
 nt receives no rights or licenses to the
intellectual property of any Contributor under this Agreement, whether
expressly, by implication, estoppel or otherwise. All rights in the Program not
expressly granted under this Agreement are reserved.
+This Agreement is governed by the laws of the State of New York and the
intellectual property laws of the United States of America. No party to this
Agreement will bring a legal action under this Agreement more than one year
after the cause of action arose. Each party waives its rights to a jury trial in
any resulting litigation.
+
+==========================================================================================
+==========================================================================================
+
+For puretls:
+    Containing Project URL: 
+
+  This package is a SSLv3/TLS implementation written by Eric Rescorla
+   <ek...@rtfm.com> and licensed by Claymore Systems, Inc.
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions
+   are met:
+   1. Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+   2. Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+   3. Neither the name of Claymore Systems, Inc. nor the name of Eric
+      Rescorla may be used to endorse or promote products derived from this
+      software without specific prior written permission.
+   THIS SOFTWARE IS PROVIDED BY CLAYMORE SYSTEMS AND CONTRIBUTORS ``AS IS'' AND
+   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+   ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+   FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+   OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+   OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+   SUCH DAMAGE.
+
+==============================================================================
+
+For xml-api,woden-api-1.0M8.jar,woden-impl-dom-1.0M8.jar:
+    Containing Project URL: 
+
+For the W3C schema and DTD files in the org.apache.woden.resolver package:
+
+W3C® DOCUMENT LICENSE
+http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
+
+Public documents on the W3C site are provided by the copyright holders under
+the following license. By using and/or copying this document, or the W3C
+document from which this statement is linked, you (the licensee) agree that
+you have read, understood, and will comply with the following terms and
+conditions:
+
+Permission to copy, and distribute the contents of this document, or the W3C
+document from which this statement is linked, in any medium for any purpose
+and without fee or royalty is hereby granted, provided that you include the
+following on ALL copies of the document, or portions thereof, that you use:
+
+  1. A link or URL to the original W3C document.
+  2. The pre-existing copyright notice of the original author, or if it
+     doesn't exist, a notice (hypertext is preferred, but a textual
+     representation is permitted) of the form: "Copyright © [$date-of-document]
+     World Wide Web Consortium, (Massachusetts Institute of Technology,
+     European Research Consortium for Informatics and Mathematics, Keio
+     University). All Rights Reserved.
+     http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231"
+  3. If it exists, the STATUS of the W3C document.
+
+When space permits, inclusion of the full text of this NOTICE should be
+provided. We request that authorship attribution be provided in any software,
+documents, or other items or products that you create pursuant to the
+implementation of the contents of this document, or any portion thereof.
+
+No right to create modifications or derivatives of W3C documents is granted
+pursuant to this license. However, if additional requirements (documented in
+the Copyright FAQ) are satisfied, the right to create modifications or
+derivatives is sometimes granted by the W3C to individuals complying with
+those requirements.
+
+THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
+REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT
+LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
+NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE
+FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT
+INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE
+PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.
+
+The name and trademarks of copyright holders may NOT be used in advertising
+or publicity pertaining to this document or its contents without specific,
+written prior permission. Title to copyright in this document will at all
+times remain with copyright holders.
+
+This formulation of W3C's notice and license became active on December 31 2002. 
+This version removes the copyright ownership notice such that this license can 
+be used with materials other than those owned by the W3C, reflects that ERCIM is 
+now a host of the W3C, includes references to this specific dated version of the 
+license, and removes the ambiguous grant of "use". Otherwise, this version is the 
+same as the previous version and is written so as to preserve the Free Software 
+Foundation's assessment of GPL compatibility and OSI's certification under the 
+Open Source Definition. Please see our Copyright FAQ for common questions about 
+using materials from our site, including specific terms and conditions for packages 
+like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed 
+o site-policy@w3.org.
+
+Joseph Reagle <si...@w3.org>
+ 
+Last revised $Id: copyright-software-20021231.html,v 1.11 2004/07/06 16:02:49 slesch Exp $ 
+
+==========================================================================================
+
+XML API library, org.w3c classes (xml-apis)
+    Containing Project URL: 
+
+    DOM Java Language Binding:
+    http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/java-binding.html
+
+    W3C IPR SOFTWARE NOTICE
+    Copyright (C) 2000 World Wide Web Consortium, (Massachusetts Institute of
+    Technology, Institut National de Recherche en Informatique et en
+    Automatique, Keio University). All Rights Reserved.
+
+    The DOM bindings are published under the W3C Software Copyright Notice
+    and License. The software license requires "Notice of any changes or
+    modifications to the W3C files, including the date changes were made."
+    Consequently, modified versions of the DOM bindings must document that
+    they do not conform to the W3C standard; in the case of the IDL binding,
+    the pragma prefix can no longer be 'w3c.org'; in the case of the Java
+    binding, the package names can no longer be in the 'org.w3c' package.
+
+    Note: The original version of the W3C Software Copyright Notice and
+    License could be found at
+    http://www.w3.org/Consortium/Legal/copyright-software-19980720
+
+    Copyright (C) 1994-2000 World Wide Web Consortium, (Massachusetts
+    Institute of Technology, Institut National de Recherche en Informatique
+    et en Automatique, Keio University). All Rights Reserved.
+    http://www.w3.org/Consortium/Legal/
+
+    This W3C work (including software, documents, or other related items) is
+    being provided by the copyright holders under the following license. By
+    obtaining, using and/or copying this work, you (the licensee) agree that
+    you have read, understood, and will comply with the following terms and
+    conditions:
+
+    Permission to use, copy, and modify this software and its documentation,
+    with or without modification, for any purpose and without fee or royalty
+    is hereby granted, provided that you include the following on ALL copies
+    of the software and documentation or portions thereof, including
+    modifications, that you make:
+
+      1. The full text of this NOTICE in a location viewable to users of the
+         redistributed or derivative work.
+
+      2. Any pre-existing intellectual property disclaimers, notices, or
+         terms and conditions. If none exist, a short notice of the following
+         form (hypertext is preferred, text is permitted) should be used
+         within the body of any redistributed or derivative code:
+         "Copyright (C) [$date-of-software] World Wide Web Consortium,
+         (Massachusetts Institute of Technology, Institut National de
+         Recherche en Informatique et en Automatique, Keio University).
+         All Rights Reserved. http://www.w3.org/Consortium/Legal/"
+
+      3. Notice of any changes or modifications to the W3C files, including
+         the date changes were made. (We recommend you provide URIs to the
+         location from which the code is derived.)
+
+    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
+    MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+    NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
+    PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
+    ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL
+    OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+    DOCUMENTATION.
+
+    The name and trademarks of copyright holders may NOT be used in
+    advertising or publicity pertaining to the software without specific,
+    written prior permission. Title to copyright in this software and any
+    associated documentation will at all times remain with copyright holders.
+
+=============================================================================== 
+The following components come under the Eclipse Public 1.0 License 
+=============================================================================== 
+Eclipse JDT Core (core-3.1.1.jar)
+
+  Eclipse Public License - v 1.0
+
+    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
+    THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+    1. DEFINITIONS
+
+    "Contribution" means:
+
+    a) in the case of the initial Contributor, the initial code and
+       documentation distributed under this Agreement, and
+
+    b) in the case of each subsequent Contributor:
+
+       i) changes to the Program, and
+
+       ii) additions to the Program;
+
+       where such changes and/or additions to the Program originate from and
+       are distributed by that particular Contributor. A Contribution
+       'originates' from a Contributor if it was added to the Program by
+       such Contributor itself or anyone acting on such Contributor's behalf.
+       Contributions do not include additions to the Program which: (i) are
+       separate modules of software distributed in conjunction with the
+       Program under their own license agreement, and (ii) are not derivative
+       works of the Program.
+
+    "Contributor" means any person or entity that distributes the Program.
+
+    "Licensed Patents " mean patent claims licensable by a Contributor which
+    are necessarily infringed by the use or sale of its Contribution alone or
+    when combined with the Program.
+
+    "Program" means the Contributions distributed in accordance with this
+    Agreement.
+
+    "Recipient" means anyone who receives the Program under this Agreement,
+    including all Contributors.
+
+    2. GRANT OF RIGHTS
+
+    a) Subject to the terms of this Agreement, each Contributor hereby grants
+       Recipient a non-exclusive, worldwide, royalty-free copyright license to
+       reproduce, prepare derivative works of, publicly display, publicly
+       perform, distribute and sublicense the Contribution of such
+       Contributor, if any, and such derivative works, in source code and
+       object code form.
+
+    b) Subject to the terms of this Agreement, each Contributor hereby grants
+       Recipient a non-exclusive, worldwide, royalty-free patent license under
+       Licensed Patents to make, use, sell, offer to sell, import and
+       otherwise transfer the Contribution of such Contributor, if any, in
+       source code and object code form. This patent license shall apply to
+       the combination of the Contribution and the Program if, at the time
+       the Contribution is added by the Contributor, such addition of the
+       Contribution causes such combination to be covered by the Licensed
+       Patents. The patent license shall not apply to any other combinations
+       which include the Contribution. No hardware per se is licensed hereunder.
+
+    c) Recipient understands that although each Contributor grants the
+       licenses to its Contributions set forth herein, no assurances are
+       provided by any Contributor that the Program does not infringe the
+       patent or other intellectual property rights of any other entity. Each
+       Contributor disclaims any liability to Recipient for claims brought by
+       any other entity based on infringement of intellectual property rights
+       or otherwise. As a condition to exercising the rights and licenses
+       granted hereunder, each Recipient hereby assumes sole responsibility
+       to secure any other intellectual property rights needed, if any. For
+       example, if a third party patent license is required to allow Recipient
+       to distribute the Program, it is Recipient's responsibility to acquire
+       that license before distributing the Program.
+
+    d) Each Contributor represents that to its knowledge it has sufficient
+       copyright rights in its Contribution, if any, to grant the copyright
+       license set forth in this Agreement.
+
+    3. REQUIREMENTS
+
+    A Contributor may choose to distribute the Program in object code form
+    under its own license agreement, provided that:
+
+    a) it complies with the terms and conditions of this Agreement; and
+
+    b) its license agreement:
+
+       i)   effectively disclaims on behalf of all Contributors all warranties
+            and conditions, express and implied, including warranties or
+            conditions of title and non-infringement, and implied warranties
+            or conditions of merchantability and fitness for a particular
+            purpose;
+
+       ii)  effectively excludes on behalf of all Contributors all liability
+            for damages, including direct, indirect, special, incidental and
+            consequential damages, such as lost profits;
+
+       iii) states that any provisions which differ from this Agreement are
+            offered by that Contributor alone and not by any other party; and
+
+       iv)  states that source code for the Program is available from such
+            Contributor, and informs licensees how to obtain it in a
+            reasonable manner on or through a medium customarily used for
+            software exchange.
+
+    When the Program is made available in source code form:
+
+    a) it must be made available under this Agreement; and
+
+    b) a copy of this Agreement must be included with each copy of the
+       Program.
+
+    Contributors may not remove or alter any copyright notices contained
+    within the Program.
+
+    Each Contributor must identify itself as the originator of its
+    Contribution, if any, in a manner that reasonably allows subsequent
+    Recipients to identify the originator of the Contribution.
+
+    4. COMMERCIAL DISTRIBUTION
+
+    Commercial distributors of software may accept certain responsibilities
+    with respect to end users, business partners and the like. While this
+    license is intended to facilitate the commercial use of the Program,
+    the Contributor who includes the Program in a commercial product offering
+    should do so in a manner which does not create potential liability for
+    other Contributors. Therefore, if a Contributor includes the Program in
+    a commercial product offering, such Contributor ("Commercial Contributor")
+    hereby agrees to defend and indemnify every other Contributor
+    ("Indemnified Contributor") against any losses, damages and costs
+    (collectively "Losses") arising from claims, lawsuits and other legal
+    actions brought by a third party against the Indemnified Contributor to
+    the extent caused by the acts or omissions of such Commercial Contributor
+    in connection with its distribution of the Program in a commercial
+    product offering. The obligations in this section do not apply to any
+    claims or Losses relating to any actual or alleged intellectual property
+    infringement. In order to qualify, an Indemnified Contributor must:
+    a) promptly notify the Commercial Contributor in writing of such claim,
+    and b) allow the Commercial Contributor to control, and cooperate with
+    the Commercial Contributor in, the defense and any related settlement
+    negotiations. The Indemnified Contributor may participate in any such
+    claim at its own expense.
+
+    For example, a Contributor might include the Program in a commercial
+    product offering, Product X. That Contributor is then a Commercial
+    Contributor. If that Commercial Contributor then makes performance claims,
+    or offers warranties related to Product X, those performance claims and
+    warranties are such Commercial Contributor's responsibility alone. Under
+    this section, the Commercial Contributor would have to defend claims
+    against the other Contributors related to those performance claims and
+    warranties, and if a court requires any other Contributor to pay any
+    damages as a result, the Commercial Contributor must pay those damages.
+
+    5. NO WARRANTY
+
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
+    ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
+    EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
+    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
+    PARTICULAR PURPOSE. Each Recipient is solely responsible for determining
+    the appropriateness of using and distributing the Program and assumes all
+    risks associated with its exercise of rights under this Agreement ,
+    including but not limited to the risks and costs of program errors,
+    compliance with applicable laws, damage to or loss of data, programs or
+    equipment, and unavailability or interruption of operations.
+
+    6. DISCLAIMER OF LIABILITY
+
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
+    ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+    WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+    DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+    HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+    7. GENERAL
+
+    If any provision of this Agreement is invalid or unenforceable under
+    applicable law, it shall not affect the validity or enforceability of
+    the remainder of the terms of this Agreement, and without further action
+    by the parties hereto, such provision shall be reformed to the minimum
+    extent necessary to make such provision valid and enforceable.
+
+    If Recipient institutes patent litigation against any entity (including
+    a cross-claim or counterclaim in a lawsuit) alleging that the Program
+    itself (excluding combinations of the Program with other software or
+    hardware) infringes such Recipient's patent(s), then such Recipient's
+    rights granted under Section 2(b) shall terminate as of the date such
+    litigation is filed.
+
+    All Recipient's rights under this Agreement shall terminate if it fails
+    to comply with any of the material terms or conditions of this Agreement
+    and does not cure such failure in a reasonable period of time after
+    becoming aware of such noncompliance. If all Recipient's rights under
+    this Agreement terminate, Recipient agrees to cease use and distribution
+    of the Program as soon as reasonably practicable. However, Recipient's
+    obligations under this Agreement and any licenses granted by Recipient
+    relating to the Program shall continue and survive.
+
+    Everyone is permitted to copy and distribute copies of this Agreement,
+    but in order to avoid inconsistency the Agreement is copyrighted and may
+    only be modified in the following manner. The Agreement Steward reserves
+    the right to publish new versions (including revisions) of this Agreement
+    from time to time. No one other than the Agreement Steward has the right
+    to modify this Agreement. The Eclipse Foundation is the initial Agreement
+    Steward. The Eclipse Foundation may assign the responsibility to serve as
+    the Agreement Steward to a suitable separate entity. Each new version of
+    the Agreement will be given a distinguishing version number. The Program
+    (including Contributions) may always be distributed subject to the version
+    of the Agreement under which it was received. In addition, after a new
+    version of the Agreement is published, Contributor may elect to distribute
+    the Program (including its Contributions) under the new version. Except as
+    expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+    rights or licenses to the intellectual property of any Contributor under
+    this Agreement, whether expressly, by implication, estoppel or otherwise.
+    All rights in the Program not expressly granted unde

<TRUNCATED>

[09/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Thrift.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Thrift.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Thrift.php
deleted file mode 100644
index c845395..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Thrift.php
+++ /dev/null
@@ -1,789 +0,0 @@
-<?php
-/*
- * 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 thrift
- */
-
-
-/**
- * Data types that can be sent via Thrift
- */
-class TType {
-  const STOP   = 0;
-  const VOID   = 1;
-  const BOOL   = 2;
-  const BYTE   = 3;
-  const I08    = 3;
-  const DOUBLE = 4;
-  const I16    = 6;
-  const I32    = 8;
-  const I64    = 10;
-  const STRING = 11;
-  const UTF7   = 11;
-  const STRUCT = 12;
-  const MAP    = 13;
-  const SET    = 14;
-  const LST    = 15;    // N.B. cannot use LIST keyword in PHP!
-  const UTF8   = 16;
-  const UTF16  = 17;
-}
-
-/**
- * Message types for RPC
- */
-class TMessageType {
-  const CALL  = 1;
-  const REPLY = 2;
-  const EXCEPTION = 3;
-  const ONEWAY = 4;
-}
-
-/**
- * NOTE(mcslee): This currently contains a ton of duplicated code from TBase
- * because we need to save CPU cycles and this is not yet in an extension.
- * Ideally we'd multiply-inherit TException from both Exception and Base, but
- * that's not possible in PHP and there are no modules either, so for now we
- * apologetically take a trip to HackTown.
- *
- * Can be called with standard Exception constructor (message, code) or with
- * Thrift Base object constructor (spec, vals).
- *
- * @param mixed $p1 Message (string) or type-spec (array)
- * @param mixed $p2 Code (integer) or values (array)
- */
-class TException extends Exception {
-  function __construct($p1=null, $p2=0) {
-    if (is_array($p1) && is_array($p2)) {
-      $spec = $p1;
-      $vals = $p2;
-      foreach ($spec as $fid => $fspec) {
-        $var = $fspec['var'];
-        if (isset($vals[$var])) {
-          $this->$var = $vals[$var];
-        }
-      }
-    } else {
-      parent::__construct($p1, $p2);
-    }
-  }
-
-  static $tmethod = array(TType::BOOL   => 'Bool',
-                          TType::BYTE   => 'Byte',
-                          TType::I16    => 'I16',
-                          TType::I32    => 'I32',
-                          TType::I64    => 'I64',
-                          TType::DOUBLE => 'Double',
-                          TType::STRING => 'String');
-
-  private function _readMap(&$var, $spec, $input) {
-    $xfer = 0;
-    $ktype = $spec['ktype'];
-    $vtype = $spec['vtype'];
-    $kread = $vread = null;
-    if (isset(TBase::$tmethod[$ktype])) {
-      $kread = 'read'.TBase::$tmethod[$ktype];
-    } else {
-      $kspec = $spec['key'];
-    }
-    if (isset(TBase::$tmethod[$vtype])) {
-      $vread = 'read'.TBase::$tmethod[$vtype];
-    } else {
-      $vspec = $spec['val'];
-    }
-    $var = array();
-    $_ktype = $_vtype = $size = 0;
-    $xfer += $input->readMapBegin($_ktype, $_vtype, $size);
-    for ($i = 0; $i < $size; ++$i) {
-      $key = $val = null;
-      if ($kread !== null) {
-        $xfer += $input->$kread($key);
-      } else {
-        switch ($ktype) {
-        case TType::STRUCT:
-          $class = $kspec['class'];
-          $key = new $class();
-          $xfer += $key->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($key, $kspec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($key, $kspec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($key, $kspec, $input, true);
-          break;
-        }
-      }
-      if ($vread !== null) {
-        $xfer += $input->$vread($val);
-      } else {
-        switch ($vtype) {
-        case TType::STRUCT:
-          $class = $vspec['class'];
-          $val = new $class();
-          $xfer += $val->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($val, $vspec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($val, $vspec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($val, $vspec, $input, true);
-          break;
-        }
-      }
-      $var[$key] = $val;
-    }
-    $xfer += $input->readMapEnd();
-    return $xfer;
-  }
-
-  private function _readList(&$var, $spec, $input, $set=false) {
-    $xfer = 0;
-    $etype = $spec['etype'];
-    $eread = $vread = null;
-    if (isset(TBase::$tmethod[$etype])) {
-      $eread = 'read'.TBase::$tmethod[$etype];
-    } else {
-      $espec = $spec['elem'];
-    }
-    $var = array();
-    $_etype = $size = 0;
-    if ($set) {
-      $xfer += $input->readSetBegin($_etype, $size);
-    } else {
-      $xfer += $input->readListBegin($_etype, $size);
-    }
-    for ($i = 0; $i < $size; ++$i) {
-      $elem = null;
-      if ($eread !== null) {
-        $xfer += $input->$eread($elem);
-      } else {
-        $espec = $spec['elem'];
-        switch ($etype) {
-        case TType::STRUCT:
-          $class = $espec['class'];
-          $elem = new $class();
-          $xfer += $elem->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($elem, $espec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($elem, $espec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($elem, $espec, $input, true);
-          break;
-        }
-      }
-      if ($set) {
-        $var[$elem] = true;
-      } else {
-        $var []= $elem;
-      }
-    }
-    if ($set) {
-      $xfer += $input->readSetEnd();
-    } else {
-      $xfer += $input->readListEnd();
-    }
-    return $xfer;
-  }
-
-  protected function _read($class, $spec, $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;
-      }
-      if (isset($spec[$fid])) {
-        $fspec = $spec[$fid];
-        $var = $fspec['var'];
-        if ($ftype == $fspec['type']) {
-          $xfer = 0;
-          if (isset(TBase::$tmethod[$ftype])) {
-            $func = 'read'.TBase::$tmethod[$ftype];
-            $xfer += $input->$func($this->$var);
-          } else {
-            switch ($ftype) {
-            case TType::STRUCT:
-              $class = $fspec['class'];
-              $this->$var = new $class();
-              $xfer += $this->$var->read($input);
-              break;
-            case TType::MAP:
-              $xfer += $this->_readMap($this->$var, $fspec, $input);
-              break;
-            case TType::LST:
-              $xfer += $this->_readList($this->$var, $fspec, $input, false);
-              break;
-            case TType::SET:
-              $xfer += $this->_readList($this->$var, $fspec, $input, true);
-              break;
-            }
-          }
-        } else {
-          $xfer += $input->skip($ftype);
-        }
-      } else {
-        $xfer += $input->skip($ftype);
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  private function _writeMap($var, $spec, $output) {
-    $xfer = 0;
-    $ktype = $spec['ktype'];
-    $vtype = $spec['vtype'];
-    $kwrite = $vwrite = null;
-    if (isset(TBase::$tmethod[$ktype])) {
-      $kwrite = 'write'.TBase::$tmethod[$ktype];
-    } else {
-      $kspec = $spec['key'];
-    }
-    if (isset(TBase::$tmethod[$vtype])) {
-      $vwrite = 'write'.TBase::$tmethod[$vtype];
-    } else {
-      $vspec = $spec['val'];
-    }
-    $xfer += $output->writeMapBegin($ktype, $vtype, count($var));
-    foreach ($var as $key => $val) {
-      if (isset($kwrite)) {
-        $xfer += $output->$kwrite($key);
-      } else {
-        switch ($ktype) {
-        case TType::STRUCT:
-          $xfer += $key->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($key, $kspec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($key, $kspec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($key, $kspec, $output, true);
-          break;
-        }
-      }
-      if (isset($vwrite)) {
-        $xfer += $output->$vwrite($val);
-      } else {
-        switch ($vtype) {
-        case TType::STRUCT:
-          $xfer += $val->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($val, $vspec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($val, $vspec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($val, $vspec, $output, true);
-          break;
-        }
-      }
-    }
-    $xfer += $output->writeMapEnd();
-    return $xfer;
-  }
-
-  private function _writeList($var, $spec, $output, $set=false) {
-    $xfer = 0;
-    $etype = $spec['etype'];
-    $ewrite = null;
-    if (isset(TBase::$tmethod[$etype])) {
-      $ewrite = 'write'.TBase::$tmethod[$etype];
-    } else {
-      $espec = $spec['elem'];
-    }
-    if ($set) {
-      $xfer += $output->writeSetBegin($etype, count($var));
-    } else {
-      $xfer += $output->writeListBegin($etype, count($var));
-    }
-    foreach ($var as $key => $val) {
-      $elem = $set ? $key : $val;
-      if (isset($ewrite)) {
-        $xfer += $output->$ewrite($elem);
-      } else {
-        switch ($etype) {
-        case TType::STRUCT:
-          $xfer += $elem->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($elem, $espec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($elem, $espec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($elem, $espec, $output, true);
-          break;
-        }
-      }
-    }
-    if ($set) {
-      $xfer += $output->writeSetEnd();
-    } else {
-      $xfer += $output->writeListEnd();
-    }
-    return $xfer;
-  }
-
-  protected function _write($class, $spec, $output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin($class);
-    foreach ($spec as $fid => $fspec) {
-      $var = $fspec['var'];
-      if ($this->$var !== null) {
-        $ftype = $fspec['type'];
-        $xfer += $output->writeFieldBegin($var, $ftype, $fid);
-        if (isset(TBase::$tmethod[$ftype])) {
-          $func = 'write'.TBase::$tmethod[$ftype];
-          $xfer += $output->$func($this->$var);
-        } else {
-          switch ($ftype) {
-          case TType::STRUCT:
-            $xfer += $this->$var->write($output);
-            break;
-          case TType::MAP:
-            $xfer += $this->_writeMap($this->$var, $fspec, $output);
-            break;
-          case TType::LST:
-            $xfer += $this->_writeList($this->$var, $fspec, $output, false);
-            break;
-          case TType::SET:
-            $xfer += $this->_writeList($this->$var, $fspec, $output, true);
-            break;
-          }
-        }
-        $xfer += $output->writeFieldEnd();
-      }
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-/**
- * Base class from which other Thrift structs extend. This is so that we can
- * cut back on the size of the generated code which is turning out to have a
- * nontrivial cost just to load thanks to the wondrously abysmal implementation
- * of PHP. Note that code is intentionally duplicated in here to avoid making
- * function calls for every field or member of a container..
- */
-abstract class TBase {
-
-  static $tmethod = array(TType::BOOL   => 'Bool',
-                          TType::BYTE   => 'Byte',
-                          TType::I16    => 'I16',
-                          TType::I32    => 'I32',
-                          TType::I64    => 'I64',
-                          TType::DOUBLE => 'Double',
-                          TType::STRING => 'String');
-
-  abstract function read($input);
-
-  abstract function write($output);
-
-  public function __construct($spec=null, $vals=null) {
-    if (is_array($spec) && is_array($vals)) {
-      foreach ($spec as $fid => $fspec) {
-        $var = $fspec['var'];
-        if (isset($vals[$var])) {
-          $this->$var = $vals[$var];
-        }
-      }
-    }
-  }
-
-  private function _readMap(&$var, $spec, $input) {
-    $xfer = 0;
-    $ktype = $spec['ktype'];
-    $vtype = $spec['vtype'];
-    $kread = $vread = null;
-    if (isset(TBase::$tmethod[$ktype])) {
-      $kread = 'read'.TBase::$tmethod[$ktype];
-    } else {
-      $kspec = $spec['key'];
-    }
-    if (isset(TBase::$tmethod[$vtype])) {
-      $vread = 'read'.TBase::$tmethod[$vtype];
-    } else {
-      $vspec = $spec['val'];
-    }
-    $var = array();
-    $_ktype = $_vtype = $size = 0;
-    $xfer += $input->readMapBegin($_ktype, $_vtype, $size);
-    for ($i = 0; $i < $size; ++$i) {
-      $key = $val = null;
-      if ($kread !== null) {
-        $xfer += $input->$kread($key);
-      } else {
-        switch ($ktype) {
-        case TType::STRUCT:
-          $class = $kspec['class'];
-          $key = new $class();
-          $xfer += $key->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($key, $kspec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($key, $kspec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($key, $kspec, $input, true);
-          break;
-        }
-      }
-      if ($vread !== null) {
-        $xfer += $input->$vread($val);
-      } else {
-        switch ($vtype) {
-        case TType::STRUCT:
-          $class = $vspec['class'];
-          $val = new $class();
-          $xfer += $val->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($val, $vspec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($val, $vspec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($val, $vspec, $input, true);
-          break;
-        }
-      }
-      $var[$key] = $val;
-    }
-    $xfer += $input->readMapEnd();
-    return $xfer;
-  }
-
-  private function _readList(&$var, $spec, $input, $set=false) {
-    $xfer = 0;
-    $etype = $spec['etype'];
-    $eread = $vread = null;
-    if (isset(TBase::$tmethod[$etype])) {
-      $eread = 'read'.TBase::$tmethod[$etype];
-    } else {
-      $espec = $spec['elem'];
-    }
-    $var = array();
-    $_etype = $size = 0;
-    if ($set) {
-      $xfer += $input->readSetBegin($_etype, $size);
-    } else {
-      $xfer += $input->readListBegin($_etype, $size);
-    }
-    for ($i = 0; $i < $size; ++$i) {
-      $elem = null;
-      if ($eread !== null) {
-        $xfer += $input->$eread($elem);
-      } else {
-        $espec = $spec['elem'];
-        switch ($etype) {
-        case TType::STRUCT:
-          $class = $espec['class'];
-          $elem = new $class();
-          $xfer += $elem->read($input);
-          break;
-        case TType::MAP:
-          $xfer += $this->_readMap($elem, $espec, $input);
-          break;
-        case TType::LST:
-          $xfer += $this->_readList($elem, $espec, $input, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_readList($elem, $espec, $input, true);
-          break;
-        }
-      }
-      if ($set) {
-        $var[$elem] = true;
-      } else {
-        $var []= $elem;
-      }
-    }
-    if ($set) {
-      $xfer += $input->readSetEnd();
-    } else {
-      $xfer += $input->readListEnd();
-    }
-    return $xfer;
-  }
-
-  protected function _read($class, $spec, $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;
-      }
-      if (isset($spec[$fid])) {
-        $fspec = $spec[$fid];
-        $var = $fspec['var'];
-        if ($ftype == $fspec['type']) {
-          $xfer = 0;
-          if (isset(TBase::$tmethod[$ftype])) {
-            $func = 'read'.TBase::$tmethod[$ftype];
-            $xfer += $input->$func($this->$var);
-          } else {
-            switch ($ftype) {
-            case TType::STRUCT:
-              $class = $fspec['class'];
-              $this->$var = new $class();
-              $xfer += $this->$var->read($input);
-              break;
-            case TType::MAP:
-              $xfer += $this->_readMap($this->$var, $fspec, $input);
-              break;
-            case TType::LST:
-              $xfer += $this->_readList($this->$var, $fspec, $input, false);
-              break;
-            case TType::SET:
-              $xfer += $this->_readList($this->$var, $fspec, $input, true);
-              break;
-            }
-          }
-        } else {
-          $xfer += $input->skip($ftype);
-        }
-      } else {
-        $xfer += $input->skip($ftype);
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  private function _writeMap($var, $spec, $output) {
-    $xfer = 0;
-    $ktype = $spec['ktype'];
-    $vtype = $spec['vtype'];
-    $kwrite = $vwrite = null;
-    if (isset(TBase::$tmethod[$ktype])) {
-      $kwrite = 'write'.TBase::$tmethod[$ktype];
-    } else {
-      $kspec = $spec['key'];
-    }
-    if (isset(TBase::$tmethod[$vtype])) {
-      $vwrite = 'write'.TBase::$tmethod[$vtype];
-    } else {
-      $vspec = $spec['val'];
-    }
-    $xfer += $output->writeMapBegin($ktype, $vtype, count($var));
-    foreach ($var as $key => $val) {
-      if (isset($kwrite)) {
-        $xfer += $output->$kwrite($key);
-      } else {
-        switch ($ktype) {
-        case TType::STRUCT:
-          $xfer += $key->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($key, $kspec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($key, $kspec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($key, $kspec, $output, true);
-          break;
-        }
-      }
-      if (isset($vwrite)) {
-        $xfer += $output->$vwrite($val);
-      } else {
-        switch ($vtype) {
-        case TType::STRUCT:
-          $xfer += $val->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($val, $vspec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($val, $vspec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($val, $vspec, $output, true);
-          break;
-        }
-      }
-    }
-    $xfer += $output->writeMapEnd();
-    return $xfer;
-  }
-
-  private function _writeList($var, $spec, $output, $set=false) {
-    $xfer = 0;
-    $etype = $spec['etype'];
-    $ewrite = null;
-    if (isset(TBase::$tmethod[$etype])) {
-      $ewrite = 'write'.TBase::$tmethod[$etype];
-    } else {
-      $espec = $spec['elem'];
-    }
-    if ($set) {
-      $xfer += $output->writeSetBegin($etype, count($var));
-    } else {
-      $xfer += $output->writeListBegin($etype, count($var));
-    }
-    foreach ($var as $key => $val) {
-      $elem = $set ? $key : $val;
-      if (isset($ewrite)) {
-        $xfer += $output->$ewrite($elem);
-      } else {
-        switch ($etype) {
-        case TType::STRUCT:
-          $xfer += $elem->write($output);
-          break;
-        case TType::MAP:
-          $xfer += $this->_writeMap($elem, $espec, $output);
-          break;
-        case TType::LST:
-          $xfer += $this->_writeList($elem, $espec, $output, false);
-          break;
-        case TType::SET:
-          $xfer += $this->_writeList($elem, $espec, $output, true);
-          break;
-        }
-      }
-    }
-    if ($set) {
-      $xfer += $output->writeSetEnd();
-    } else {
-      $xfer += $output->writeListEnd();
-    }
-    return $xfer;
-  }
-
-  protected function _write($class, $spec, $output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin($class);
-    foreach ($spec as $fid => $fspec) {
-      $var = $fspec['var'];
-      if ($this->$var !== null) {
-        $ftype = $fspec['type'];
-        $xfer += $output->writeFieldBegin($var, $ftype, $fid);
-        if (isset(TBase::$tmethod[$ftype])) {
-          $func = 'write'.TBase::$tmethod[$ftype];
-          $xfer += $output->$func($this->$var);
-        } else {
-          switch ($ftype) {
-          case TType::STRUCT:
-            $xfer += $this->$var->write($output);
-            break;
-          case TType::MAP:
-            $xfer += $this->_writeMap($this->$var, $fspec, $output);
-            break;
-          case TType::LST:
-            $xfer += $this->_writeList($this->$var, $fspec, $output, false);
-            break;
-          case TType::SET:
-            $xfer += $this->_writeList($this->$var, $fspec, $output, true);
-            break;
-          }
-        }
-        $xfer += $output->writeFieldEnd();
-      }
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-}
-
-class TApplicationException extends TException {
-  static $_TSPEC =
-    array(1 => array('var' => 'message',
-                     'type' => TType::STRING),
-          2 => array('var' => 'code',
-                     'type' => TType::I32));
-
-  const UNKNOWN = 0;
-  const UNKNOWN_METHOD = 1;
-  const INVALID_MESSAGE_TYPE = 2;
-  const WRONG_METHOD_NAME = 3;
-  const BAD_SEQUENCE_ID = 4;
-  const MISSING_RESULT = 5;
-  const INTERNAL_ERROR = 6;
-  const PROTOCOL_ERROR = 7;
-
-  function __construct($message=null, $code=0) {
-    parent::__construct($message, $code);
-  }
-
-  public function read($output) {
-    return $this->_read('TApplicationException', self::$_TSPEC, $output);
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('TApplicationException');
-    if ($message = $this->getMessage()) {
-      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
-      $xfer += $output->writeString($message);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($code = $this->getCode()) {
-      $xfer += $output->writeFieldBegin('type', TType::I32, 2);
-      $xfer += $output->writeI32($code);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-}
-
-/**
- * Set global THRIFT ROOT automatically via inclusion here
- */
-if (!isset($GLOBALS['THRIFT_ROOT'])) {
-  $GLOBALS['THRIFT_ROOT'] = dirname(__FILE__);
-}
-include_once $GLOBALS['THRIFT_ROOT'].'/protocol/TProtocol.php';
-include_once $GLOBALS['THRIFT_ROOT'].'/transport/TTransport.php';
-include_once $GLOBALS['THRIFT_ROOT'].'/TStringUtils.php';
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TBufferedTransport.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TBufferedTransport.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TBufferedTransport.php
deleted file mode 100644
index 0d3ad98..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TBufferedTransport.php
+++ /dev/null
@@ -1,165 +0,0 @@
-<?php
-/*
- * 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 thrift.transport
- */
-
-namespace Thrift\Transport;
-
-use Thrift\Transport\TTransport;
-use Thrift\Factory\TStringFuncFactory;
-
-/**
- * Buffered transport. Stores data to an internal buffer that it doesn't
- * actually write out until flush is called. For reading, we do a greedy
- * read and then serve data out of the internal buffer.
- *
- * @package thrift.transport
- */
-class TBufferedTransport extends TTransport {
-
-  /**
-   * Constructor. Creates a buffered transport around an underlying transport
-   */
-  public function __construct($transport=null, $rBufSize=512, $wBufSize=512) {
-    $this->transport_ = $transport;
-    $this->rBufSize_ = $rBufSize;
-    $this->wBufSize_ = $wBufSize;
-  }
-
-  /**
-   * The underlying transport
-   *
-   * @var TTransport
-   */
-  protected $transport_ = null;
-
-  /**
-   * The receive buffer size
-   *
-   * @var int
-   */
-  protected $rBufSize_ = 512;
-
-  /**
-   * The write buffer size
-   *
-   * @var int
-   */
-  protected $wBufSize_ = 512;
-
-  /**
-   * The write buffer.
-   *
-   * @var string
-   */
-  protected $wBuf_ = '';
-
-  /**
-   * The read buffer.
-   *
-   * @var string
-   */
-  protected $rBuf_ = '';
-
-  public function isOpen() {
-    return $this->transport_->isOpen();
-  }
-
-  public function open() {
-    $this->transport_->open();
-  }
-
-  public function close() {
-    $this->transport_->close();
-  }
-
-  public function putBack($data) {
-    if (TStringFuncFactory::create()->strlen($this->rBuf_) === 0) {
-      $this->rBuf_ = $data;
-    } else {
-      $this->rBuf_ = ($data . $this->rBuf_);
-    }
-  }
-
-  /**
-   * The reason that we customize readAll here is that the majority of PHP
-   * streams are already internally buffered by PHP. The socket stream, for
-   * example, buffers internally and blocks if you call read with $len greater
-   * than the amount of data available, unlike recv() in C.
-   *
-   * Therefore, use the readAll method of the wrapped transport inside
-   * the buffered readAll.
-   */
-  public function readAll($len) {
-    $have = TStringFuncFactory::create()->strlen($this->rBuf_);
-    if ($have == 0) {
-      $data = $this->transport_->readAll($len);
-    } else if ($have < $len) {
-      $data = $this->rBuf_;
-      $this->rBuf_ = '';
-      $data .= $this->transport_->readAll($len - $have);
-    } else if ($have == $len) {
-      $data = $this->rBuf_;
-      $this->rBuf_ = '';
-    } else if ($have > $len) {
-      $data = TStringFuncFactory::create()->substr($this->rBuf_, 0, $len);
-      $this->rBuf_ = TStringFuncFactory::create()->substr($this->rBuf_, $len);
-    }
-    return $data;
-  }
-
-  public function read($len) {
-    if (TStringFuncFactory::create()->strlen($this->rBuf_) === 0) {
-      $this->rBuf_ = $this->transport_->read($this->rBufSize_);
-    }
-
-    if (TStringFuncFactory::create()->strlen($this->rBuf_) <= $len) {
-      $ret = $this->rBuf_;
-      $this->rBuf_ = '';
-      return $ret;
-    }
-
-    $ret = TStringFuncFactory::create()->substr($this->rBuf_, 0, $len);
-    $this->rBuf_ = TStringFuncFactory::create()->substr($this->rBuf_, $len);
-    return $ret;
-  }
-
-  public function write($buf) {
-    $this->wBuf_ .= $buf;
-    if (TStringFuncFactory::create()->strlen($this->wBuf_) >= $this->wBufSize_) {
-      $out = $this->wBuf_;
-
-      // Note that we clear the internal wBuf_ prior to the underlying write
-      // to ensure we're in a sane state (i.e. internal buffer cleaned)
-      // if the underlying write throws up an exception
-      $this->wBuf_ = '';
-      $this->transport_->write($out);
-    }
-  }
-
-  public function flush() {
-    if (TStringFuncFactory::create()->strlen($this->wBuf_) > 0) {
-      $this->transport_->write($this->wBuf_);
-      $this->wBuf_ = '';
-    }
-    $this->transport_->flush();
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TFramedTransport.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TFramedTransport.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TFramedTransport.php
deleted file mode 100644
index d80d548..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TFramedTransport.php
+++ /dev/null
@@ -1,183 +0,0 @@
-<?php
-/*
- * 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 thrift.transport
- */
-
-namespace Thrift\Transport;
-
-use Thrift\Transport\TTransport;
-use Thrift\Factory\TStringFuncFactory;
-
-/**
- * Framed transport. Writes and reads data in chunks that are stamped with
- * their length.
- *
- * @package thrift.transport
- */
-class TFramedTransport extends TTransport {
-
-  /**
-   * Underlying transport object.
-   *
-   * @var TTransport
-   */
-  private $transport_;
-
-  /**
-   * Buffer for read data.
-   *
-   * @var string
-   */
-  private $rBuf_;
-
-  /**
-   * Buffer for queued output data
-   *
-   * @var string
-   */
-  private $wBuf_;
-
-  /**
-   * Whether to frame reads
-   *
-   * @var bool
-   */
-  private $read_;
-
-  /**
-   * Whether to frame writes
-   *
-   * @var bool
-   */
-  private $write_;
-
-  /**
-   * Constructor.
-   *
-   * @param TTransport $transport Underlying transport
-   */
-  public function __construct($transport=null, $read=true, $write=true) {
-    $this->transport_ = $transport;
-    $this->read_ = $read;
-    $this->write_ = $write;
-  }
-
-  public function isOpen() {
-    return $this->transport_->isOpen();
-  }
-
-  public function open() {
-    $this->transport_->open();
-  }
-
-  public function close() {
-    $this->transport_->close();
-  }
-
-  /**
-   * Reads from the buffer. When more data is required reads another entire
-   * chunk and serves future reads out of that.
-   *
-   * @param int $len How much data
-   */
-  public function read($len) {
-    if (!$this->read_) {
-      return $this->transport_->read($len);
-    }
-
-    if (TStringFuncFactory::create()->strlen($this->rBuf_) === 0) {
-      $this->readFrame();
-    }
-
-    // Just return full buff
-    if ($len >= TStringFuncFactory::create()->strlen($this->rBuf_)) {
-      $out = $this->rBuf_;
-      $this->rBuf_ = null;
-      return $out;
-    }
-
-    // Return TStringFuncFactory::create()->substr
-    $out = TStringFuncFactory::create()->substr($this->rBuf_, 0, $len);
-    $this->rBuf_ = TStringFuncFactory::create()->substr($this->rBuf_, $len);
-    return $out;
-  }
-
-  /**
-   * Put previously read data back into the buffer
-   *
-   * @param string $data data to return
-   */
-  public function putBack($data) {
-    if (TStringFuncFactory::create()->strlen($this->rBuf_) === 0) {
-      $this->rBuf_ = $data;
-    } else {
-      $this->rBuf_ = ($data . $this->rBuf_);
-    }
-  }
-
-  /**
-   * Reads a chunk of data into the internal read buffer.
-   */
-  private function readFrame() {
-    $buf = $this->transport_->readAll(4);
-    $val = unpack('N', $buf);
-    $sz = $val[1];
-
-    $this->rBuf_ = $this->transport_->readAll($sz);
-  }
-
-  /**
-   * Writes some data to the pending output buffer.
-   *
-   * @param string $buf The data
-   * @param int    $len Limit of bytes to write
-   */
-  public function write($buf, $len=null) {
-    if (!$this->write_) {
-      return $this->transport_->write($buf, $len);
-    }
-
-    if ($len !== null && $len < TStringFuncFactory::create()->strlen($buf)) {
-      $buf = TStringFuncFactory::create()->substr($buf, 0, $len);
-    }
-    $this->wBuf_ .= $buf;
-  }
-
-  /**
-   * Writes the output buffer to the stream in the format of a 4-byte length
-   * followed by the actual data.
-   */
-  public function flush() {
-    if (!$this->write_ || TStringFuncFactory::create()->strlen($this->wBuf_) == 0) {
-      return $this->transport_->flush();
-    }
-
-    $out = pack('N', TStringFuncFactory::create()->strlen($this->wBuf_));
-    $out .= $this->wBuf_;
-
-    // Note that we clear the internal wBuf_ prior to the underlying write
-    // to ensure we're in a sane state (i.e. internal buffer cleaned)
-    // if the underlying write throws up an exception
-    $this->wBuf_ = '';
-    $this->transport_->write($out);
-    $this->transport_->flush();
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/THttpClient.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/THttpClient.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/THttpClient.php
deleted file mode 100644
index f46b18a..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/THttpClient.php
+++ /dev/null
@@ -1,221 +0,0 @@
-<?php
-/*
- * 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 thrift.transport
- */
-
-namespace Thrift\Transport;
-
-use Thrift\Transport\TTransport;
-use Thrift\Exception\TTransportException;
-use Thrift\Factory\TStringFuncFactory;
-
-/**
- * HTTP client for Thrift
- *
- * @package thrift.transport
- */
-class THttpClient extends TTransport {
-
-  /**
-   * The host to connect to
-   *
-   * @var string
-   */
-  protected $host_;
-
-  /**
-   * The port to connect on
-   *
-   * @var int
-   */
-  protected $port_;
-
-  /**
-   * The URI to request
-   *
-   * @var string
-   */
-  protected $uri_;
-
-  /**
-   * The scheme to use for the request, i.e. http, https
-   *
-   * @var string
-   */
-  protected $scheme_;
-
-  /**
-   * Buffer for the HTTP request data
-   *
-   * @var string
-   */
-  protected $buf_;
-
-  /**
-   * Input socket stream.
-   *
-   * @var resource
-   */
-  protected $handle_;
-
-  /**
-   * Read timeout
-   *
-   * @var float
-   */
-  protected $timeout_;
-
-  /**
-   * http headers
-   *
-   * @var array
-   */
-  protected $headers_;
-
-  /**
-   * Make a new HTTP client.
-   *
-   * @param string $host
-   * @param int    $port
-   * @param string $uri
-   */
-  public function __construct($host, $port=80, $uri='', $scheme = 'http') {
-    if ((TStringFuncFactory::create()->strlen($uri) > 0) && ($uri{0} != '/')) {
-      $uri = '/'.$uri;
-    }
-    $this->scheme_ = $scheme;
-    $this->host_ = $host;
-    $this->port_ = $port;
-    $this->uri_ = $uri;
-    $this->buf_ = '';
-    $this->handle_ = null;
-    $this->timeout_ = null;
-    $this->headers_ = array();
-  }
-
-  /**
-   * Set read timeout
-   *
-   * @param float $timeout
-   */
-  public function setTimeoutSecs($timeout) {
-    $this->timeout_ = $timeout;
-  }
-
-  /**
-   * Whether this transport is open.
-   *
-   * @return boolean true if open
-   */
-  public function isOpen() {
-    return true;
-  }
-
-  /**
-   * Open the transport for reading/writing
-   *
-   * @throws TTransportException if cannot open
-   */
-  public function open() {}
-
-  /**
-   * Close the transport.
-   */
-  public function close() {
-    if ($this->handle_) {
-      @fclose($this->handle_);
-      $this->handle_ = null;
-    }
-  }
-
-  /**
-   * Read some data into the array.
-   *
-   * @param int    $len How much to read
-   * @return string The data that has been read
-   * @throws TTransportException if cannot read any more data
-   */
-  public function read($len) {
-    $data = @fread($this->handle_, $len);
-    if ($data === FALSE || $data === '') {
-      $md = stream_get_meta_data($this->handle_);
-      if ($md['timed_out']) {
-        throw new TTransportException('THttpClient: timed out reading '.$len.' bytes from '.$this->host_.':'.$this->port_.$this->uri_, TTransportException::TIMED_OUT);
-      } else {
-        throw new TTransportException('THttpClient: Could not read '.$len.' bytes from '.$this->host_.':'.$this->port_.$this->uri_, TTransportException::UNKNOWN);
-      }
-    }
-    return $data;
-  }
-
-  /**
-   * Writes some data into the pending buffer
-   *
-   * @param string $buf  The data to write
-   * @throws TTransportException if writing fails
-   */
-  public function write($buf) {
-    $this->buf_ .= $buf;
-  }
-
-  /**
-   * Opens and sends the actual request over the HTTP connection
-   *
-   * @throws TTransportException if a writing error occurs
-   */
-  public function flush() {
-    // God, PHP really has some esoteric ways of doing simple things.
-    $host = $this->host_.($this->port_ != 80 ? ':'.$this->port_ : '');
-
-    $headers = array();
-    $defaultHeaders = array('Host' => $host,
-                            'Accept' => 'application/x-thrift',
-                            'User-Agent' => 'PHP/THttpClient',
-                            'Content-Type' => 'application/x-thrift',
-                            'Content-Length' => TStringFuncFactory::create()->strlen($this->buf_));
-    foreach (array_merge($defaultHeaders, $this->headers_) as $key => $value) {
-        $headers[] = "$key: $value";
-    }
-
-    $options = array('method' => 'POST',
-                     'header' => implode("\r\n", $headers),
-                     'max_redirects' => 1,
-                     'content' => $this->buf_);
-    if ($this->timeout_ > 0) {
-      $options['timeout'] = $this->timeout_;
-    }
-    $this->buf_ = '';
-
-    $contextid = stream_context_create(array('http' => $options));
-    $this->handle_ = @fopen($this->scheme_.'://'.$host.$this->uri_, 'r', false, $contextid);
-
-    // Connect failed?
-    if ($this->handle_ === FALSE) {
-      $this->handle_ = null;
-      $error = 'THttpClient: Could not connect to '.$host.$this->uri_;
-      throw new TTransportException($error, TTransportException::NOT_OPEN);
-    }
-  }
-
-  public function addHeaders($headers) {
-    $this->headers_ = array_merge($this->headers_, $headers);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TMemoryBuffer.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TMemoryBuffer.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TMemoryBuffer.php
deleted file mode 100644
index 911fab6..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TMemoryBuffer.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-/*
- * 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 thrift.transport
- */
-
-namespace Thrift\Transport;
-
-use Thrift\Transport\TTransport;
-use Thrift\Exception\TTransportException;
-use Thrift\Factory\TStringFuncFactory;
-
-/**
- * A memory buffer is a tranpsort that simply reads from and writes to an
- * in-memory string buffer. Anytime you call write on it, the data is simply
- * placed into a buffer, and anytime you call read, data is read from that
- * buffer.
- *
- * @package thrift.transport
- */
-class TMemoryBuffer extends TTransport {
-
-  /**
-   * Constructor. Optionally pass an initial value
-   * for the buffer.
-   */
-  public function __construct($buf = '') {
-    $this->buf_ = $buf;
-  }
-
-  protected $buf_ = '';
-
-  public function isOpen() {
-    return true;
-  }
-
-  public function open() {}
-
-  public function close() {}
-
-  public function write($buf) {
-    $this->buf_ .= $buf;
-  }
-
-  public function read($len) {
-    $bufLength = TStringFuncFactory::create()->strlen($this->buf_);
-
-    if ($bufLength === 0) {
-      throw new TTransportException('TMemoryBuffer: Could not read ' .
-                                    $len . ' bytes from buffer.',
-                                    TTransportException::UNKNOWN);
-    }
-
-    if ($bufLength <= $len) {
-      $ret = $this->buf_;
-      $this->buf_ = '';
-      return $ret;
-    }
-
-    $ret = TStringFuncFactory::create()->substr($this->buf_, 0, $len);
-    $this->buf_ = TStringFuncFactory::create()->substr($this->buf_, $len);
-
-    return $ret;
-  }
-
-  function getBuffer() {
-    return $this->buf_;
-  }
-
-  public function available() {
-    return TStringFuncFactory::create()->strlen($this->buf_);
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TNullTransport.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TNullTransport.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TNullTransport.php
deleted file mode 100644
index 4bf10ed..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TNullTransport.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-/*
- * 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 thrift.transport
- */
-
-namespace Thrift\Transport;
-
-use Thrift\Transport\TTransport;
-use Thrift\Exception\TTransportException;
-
-/**
- * Transport that only accepts writes and ignores them.
- * This is useful for measuring the serialized size of structures.
- *
- * @package thrift.transport
- */
-class TNullTransport extends TTransport {
-
-  public function isOpen() {
-    return true;
-  }
-
-  public function open() {}
-
-  public function close() {}
-
-  public function read($len) {
-    throw new TTransportException("Can't read from TNullTransport.");
-  }
-
-  public function write($buf) {}
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TPhpStream.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TPhpStream.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TPhpStream.php
deleted file mode 100644
index 691d0cf..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TPhpStream.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-/*
- * 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 thrift.transport
- */
-
-namespace Thrift\Transport;
-
-use Thrift\Transport\TTransport;
-use Thrift\Exception\TException;
-use Thrift\Factory\TStringFuncFactory;
-
-/**
- * Php stream transport. Reads to and writes from the php standard streams
- * php://input and php://output
- *
- * @package thrift.transport
- */
-class TPhpStream extends TTransport {
-
-  const MODE_R = 1;
-  const MODE_W = 2;
-
-  private $inStream_ = null;
-
-  private $outStream_ = null;
-
-  private $read_ = false;
-
-  private $write_ = false;
-
-  public function __construct($mode) {
-    $this->read_ = $mode & self::MODE_R;
-    $this->write_ = $mode & self::MODE_W;
-  }
-
-  public function open() {
-    if ($this->read_) {
-      $this->inStream_ = @fopen(self::inStreamName(), 'r');
-      if (!is_resource($this->inStream_)) {
-        throw new TException('TPhpStream: Could not open php://input');
-      }
-    }
-    if ($this->write_) {
-      $this->outStream_ = @fopen('php://output', 'w');
-      if (!is_resource($this->outStream_)) {
-        throw new TException('TPhpStream: Could not open php://output');
-      }
-    }
-  }
-
-  public function close() {
-    if ($this->read_) {
-      @fclose($this->inStream_);
-      $this->inStream_ = null;
-    }
-    if ($this->write_) {
-      @fclose($this->outStream_);
-      $this->outStream_ = null;
-    }
-  }
-
-  public function isOpen() {
-    return
-      (!$this->read_ || is_resource($this->inStream_)) &&
-      (!$this->write_ || is_resource($this->outStream_));
-  }
-
-  public function read($len) {
-    $data = @fread($this->inStream_, $len);
-    if ($data === FALSE || $data === '') {
-      throw new TException('TPhpStream: Could not read '.$len.' bytes');
-    }
-    return $data;
-  }
-
-  public function write($buf) {
-    while (TStringFuncFactory::create()->strlen($buf) > 0) {
-      $got = @fwrite($this->outStream_, $buf);
-      if ($got === 0 || $got === FALSE) {
-        throw new TException('TPhpStream: Could not write '.TStringFuncFactory::create()->strlen($buf).' bytes');
-      }
-      $buf = TStringFuncFactory::create()->substr($buf, $got);
-    }
-  }
-
-  public function flush() {
-    @fflush($this->outStream_);
-  }
-
-  private static function inStreamName() {
-    if (php_sapi_name() == 'cli') {
-      return 'php://stdin';
-    }
-    return 'php://input';
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TSocket.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TSocket.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TSocket.php
deleted file mode 100644
index 3ad3bf7..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TSocket.php
+++ /dev/null
@@ -1,326 +0,0 @@
-<?php
-/*
- * 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 thrift.transport
- */
-
-namespace Thrift\Transport;
-
-use Thrift\Transport\TTransport;
-use Thrift\Exception\TException;
-use Thrift\Exception\TTransportException;
-use Thrift\Factory\TStringFuncFactory;
-
-/**
- * Sockets implementation of the TTransport interface.
- *
- * @package thrift.transport
- */
-class TSocket extends TTransport {
-
-  /**
-   * Handle to PHP socket
-   *
-   * @var resource
-   */
-  private $handle_ = null;
-
-  /**
-   * Remote hostname
-   *
-   * @var string
-   */
-  protected $host_ = 'localhost';
-
-  /**
-   * Remote port
-   *
-   * @var int
-   */
-  protected $port_ = '9090';
-
-  /**
-   * Send timeout in seconds.
-   *
-   * Combined with sendTimeoutUsec this is used for send timeouts.
-   *
-   * @var int
-   */
-  private $sendTimeoutSec_ = 0;
-
-  /**
-   * Send timeout in microseconds.
-   *
-   * Combined with sendTimeoutSec this is used for send timeouts.
-   *
-   * @var int
-   */
-  private $sendTimeoutUsec_ = 100000;
-
-  /**
-   * Recv timeout in seconds
-   *
-   * Combined with recvTimeoutUsec this is used for recv timeouts.
-   *
-   * @var int
-   */
-  private $recvTimeoutSec_ = 0;
-
-  /**
-   * Recv timeout in microseconds
-   *
-   * Combined with recvTimeoutSec this is used for recv timeouts.
-   *
-   * @var int
-   */
-  private $recvTimeoutUsec_ = 750000;
-
-  /**
-   * Persistent socket or plain?
-   *
-   * @var bool
-   */
-  protected $persist_ = FALSE;
-
-  /**
-   * Debugging on?
-   *
-   * @var bool
-   */
-  protected $debug_ = FALSE;
-
-  /**
-   * Debug handler
-   *
-   * @var mixed
-   */
-  protected $debugHandler_ = null;
-
-  /**
-   * Socket constructor
-   *
-   * @param string $host         Remote hostname
-   * @param int    $port         Remote port
-   * @param bool   $persist      Whether to use a persistent socket
-   * @param string $debugHandler Function to call for error logging
-   */
-  public function __construct($host='localhost',
-                              $port=9090,
-                              $persist=FALSE,
-                              $debugHandler=null) {
-    $this->host_ = $host;
-    $this->port_ = $port;
-    $this->persist_ = $persist;
-    $this->debugHandler_ = $debugHandler ? $debugHandler : 'error_log';
-  }
-
-  /**
-   * @param resource $handle
-   * @return void
-   */
-  public function setHandle($handle) {
-    $this->handle_ = $handle;
-  }
-
-  /**
-   * Sets the send timeout.
-   *
-   * @param int $timeout  Timeout in milliseconds.
-   */
-  public function setSendTimeout($timeout) {
-    $this->sendTimeoutSec_ = floor($timeout / 1000);
-    $this->sendTimeoutUsec_ =
-            ($timeout - ($this->sendTimeoutSec_ * 1000)) * 1000;
-  }
-
-  /**
-   * Sets the receive timeout.
-   *
-   * @param int $timeout  Timeout in milliseconds.
-   */
-  public function setRecvTimeout($timeout) {
-    $this->recvTimeoutSec_ = floor($timeout / 1000);
-    $this->recvTimeoutUsec_ =
-            ($timeout - ($this->recvTimeoutSec_ * 1000)) * 1000;
-  }
-
-  /**
-   * Sets debugging output on or off
-   *
-   * @param bool $debug
-   */
-  public function setDebug($debug) {
-    $this->debug_ = $debug;
-  }
-
-  /**
-   * Get the host that this socket is connected to
-   *
-   * @return string host
-   */
-  public function getHost() {
-    return $this->host_;
-  }
-
-  /**
-   * Get the remote port that this socket is connected to
-   *
-   * @return int port
-   */
-  public function getPort() {
-    return $this->port_;
-  }
-
-  /**
-   * Tests whether this is open
-   *
-   * @return bool true if the socket is open
-   */
-  public function isOpen() {
-    return is_resource($this->handle_);
-  }
-
-  /**
-   * Connects the socket.
-   */
-  public function open() {
-    if ($this->isOpen()) {
-      throw new TTransportException('Socket already connected', TTransportException::ALREADY_OPEN);
-    }
-
-    if (empty($this->host_)) {
-      throw new TTransportException('Cannot open null host', TTransportException::NOT_OPEN);
-    }
-
-    if ($this->port_ <= 0) {
-      throw new TTransportException('Cannot open without port', TTransportException::NOT_OPEN);
-    }
-
-    if ($this->persist_) {
-      $this->handle_ = @pfsockopen($this->host_,
-                                   $this->port_,
-                                   $errno,
-                                   $errstr,
-                                   $this->sendTimeoutSec_ + ($this->sendTimeoutUsec_ / 1000000));
-    } else {
-      $this->handle_ = @fsockopen($this->host_,
-                                  $this->port_,
-                                  $errno,
-                                  $errstr,
-                                  $this->sendTimeoutSec_ + ($this->sendTimeoutUsec_ / 1000000));
-    }
-
-    // Connect failed?
-    if ($this->handle_ === FALSE) {
-      $error = 'TSocket: Could not connect to '.$this->host_.':'.$this->port_.' ('.$errstr.' ['.$errno.'])';
-      if ($this->debug_) {
-        call_user_func($this->debugHandler_, $error);
-      }
-      throw new TException($error);
-    }
-  }
-
-  /**
-   * Closes the socket.
-   */
-  public function close() {
-    if (!$this->persist_) {
-      @fclose($this->handle_);
-      $this->handle_ = null;
-    }
-  }
-
-  /**
-   * Read from the socket at most $len bytes.
-   *
-   * This method will not wait for all the requested data, it will return as
-   * soon as any data is received.
-   *
-   * @param int $len Maximum number of bytes to read.
-   * @return string Binary data
-   */
-  public function read($len) {
-    $null = null;
-    $read = array($this->handle_);
-    $readable = @stream_select($read, $null, $null, $this->recvTimeoutSec_, $this->recvTimeoutUsec_);
-
-    if ($readable > 0) {
-      $data = @stream_socket_recvfrom($this->handle_, $len);
-      if ($data === false) {
-          throw new TTransportException('TSocket: Could not read '.$len.' bytes from '.
-                               $this->host_.':'.$this->port_);
-      } elseif($data == '' && feof($this->handle_)) {
-          throw new TTransportException('TSocket read 0 bytes');
-        }
-
-      return $data;
-    } else if ($readable === 0) {
-        throw new TTransportException('TSocket: timed out reading '.$len.' bytes from '.
-                             $this->host_.':'.$this->port_);
-      } else {
-        throw new TTransportException('TSocket: Could not read '.$len.' bytes from '.
-                             $this->host_.':'.$this->port_);
-      }
-    }
-
-  /**
-   * Write to the socket.
-   *
-   * @param string $buf The data to write
-   */
-  public function write($buf) {
-    $null = null;
-    $write = array($this->handle_);
-
-    // keep writing until all the data has been written
-    while (TStringFuncFactory::create()->strlen($buf) > 0) {
-      // wait for stream to become available for writing
-      $writable = @stream_select($null, $write, $null, $this->sendTimeoutSec_, $this->sendTimeoutUsec_);
-      if ($writable > 0) {
-        // write buffer to stream
-        $written = @stream_socket_sendto($this->handle_, $buf);
-        if ($written === -1 || $written === false) {
-          throw new TTransportException('TSocket: Could not write '.TStringFuncFactory::create()->strlen($buf).' bytes '.
-                                   $this->host_.':'.$this->port_);
-        }
-        // determine how much of the buffer is left to write
-        $buf = TStringFuncFactory::create()->substr($buf, $written);
-      } else if ($writable === 0) {
-          throw new TTransportException('TSocket: timed out writing '.TStringFuncFactory::create()->strlen($buf).' bytes from '.
-                               $this->host_.':'.$this->port_);
-        } else {
-            throw new TTransportException('TSocket: Could not write '.TStringFuncFactory::create()->strlen($buf).' bytes '.
-                                 $this->host_.':'.$this->port_);
-        }
-      }
-    }
-
-  /**
-   * Flush output to the socket.
-   *
-   * Since read(), readAll() and write() operate on the sockets directly,
-   * this is a no-op
-   *
-   * If you wish to have flushable buffering behaviour, wrap this TSocket
-   * in a TBufferedTransport.
-   */
-  public function flush() {
-    // no-op
-    }
-  }

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TSocketPool.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TSocketPool.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TSocketPool.php
deleted file mode 100644
index e1610cb..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TSocketPool.php
+++ /dev/null
@@ -1,295 +0,0 @@
-<?php
-/*
- * 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 thrift.transport
- */
-
-namespace Thrift\Transport;
-
-use Thrift\Transport\TSocket;
-use Thrift\Exception\TException;
-
-/**
- * This library makes use of APC cache to make hosts as down in a web
- * environment. If you are running from the CLI or on a system without APC
- * installed, then these null functions will step in and act like cache
- * misses.
- */
-if (!function_exists('apc_fetch')) {
-  function apc_fetch($key) { return FALSE; }
-  function apc_store($key, $var, $ttl=0) { return FALSE; }
-}
-
-/**
- * Sockets implementation of the TTransport interface that allows connection
- * to a pool of servers.
- *
- * @package thrift.transport
- */
-class TSocketPool extends TSocket {
-
-  /**
-   * Remote servers. Array of associative arrays with 'host' and 'port' keys
-   */
-  private $servers_ = array();
-
-  /**
-   * How many times to retry each host in connect
-   *
-   * @var int
-   */
-  private $numRetries_ = 1;
-
-  /**
-   * Retry interval in seconds, how long to not try a host if it has been
-   * marked as down.
-   *
-   * @var int
-   */
-  private $retryInterval_ = 60;
-
-  /**
-   * Max consecutive failures before marking a host down.
-   *
-   * @var int
-   */
-  private $maxConsecutiveFailures_ = 1;
-
-  /**
-   * Try hosts in order? or Randomized?
-   *
-   * @var bool
-   */
-  private $randomize_ = TRUE;
-
-  /**
-   * Always try last host, even if marked down?
-   *
-   * @var bool
-   */
-  private $alwaysTryLast_ = TRUE;
-
-  /**
-   * Socket pool constructor
-   *
-   * @param array  $hosts        List of remote hostnames
-   * @param mixed  $ports        Array of remote ports, or a single common port
-   * @param bool   $persist      Whether to use a persistent socket
-   * @param mixed  $debugHandler Function for error logging
-   */
-  public function __construct($hosts=array('localhost'),
-                              $ports=array(9090),
-                              $persist=FALSE,
-                              $debugHandler=null) {
-    parent::__construct(null, 0, $persist, $debugHandler);
-
-    if (!is_array($ports)) {
-      $port = $ports;
-      $ports = array();
-      foreach ($hosts as $key => $val) {
-        $ports[$key] = $port;
-      }
-    }
-
-    foreach ($hosts as $key => $host) {
-      $this->servers_ []= array('host' => $host,
-                                'port' => $ports[$key]);
-    }
-  }
-
-  /**
-   * Add a server to the pool
-   *
-   * This function does not prevent you from adding a duplicate server entry.
-   *
-   * @param string $host hostname or IP
-   * @param int $port port
-   */
-  public function addServer($host, $port) {
-    $this->servers_[] = array('host' => $host, 'port' => $port);
-  }
-
-  /**
-   * Sets how many time to keep retrying a host in the connect function.
-   *
-   * @param int $numRetries
-   */
-  public function setNumRetries($numRetries) {
-    $this->numRetries_ = $numRetries;
-  }
-
-  /**
-   * Sets how long to wait until retrying a host if it was marked down
-   *
-   * @param int $numRetries
-   */
-  public function setRetryInterval($retryInterval) {
-    $this->retryInterval_ = $retryInterval;
-  }
-
-  /**
-   * Sets how many time to keep retrying a host before marking it as down.
-   *
-   * @param int $numRetries
-   */
-  public function setMaxConsecutiveFailures($maxConsecutiveFailures) {
-    $this->maxConsecutiveFailures_ = $maxConsecutiveFailures;
-  }
-
-  /**
-   * Turns randomization in connect order on or off.
-   *
-   * @param bool $randomize
-   */
-  public function setRandomize($randomize) {
-    $this->randomize_ = $randomize;
-  }
-
-  /**
-   * Whether to always try the last server.
-   *
-   * @param bool $alwaysTryLast
-   */
-  public function setAlwaysTryLast($alwaysTryLast) {
-    $this->alwaysTryLast_ = $alwaysTryLast;
-  }
-
-
-  /**
-   * Connects the socket by iterating through all the servers in the pool
-   * and trying to find one that works.
-   */
-  public function open() {
-    // Check if we want order randomization
-    if ($this->randomize_) {
-      shuffle($this->servers_);
-    }
-
-    // Count servers to identify the "last" one
-    $numServers = count($this->servers_);
-
-    for ($i = 0; $i < $numServers; ++$i) {
-
-      // This extracts the $host and $port variables
-      extract($this->servers_[$i]);
-
-      // Check APC cache for a record of this server being down
-      $failtimeKey = 'thrift_failtime:'.$host.':'.$port.'~';
-
-      // Cache miss? Assume it's OK
-      $lastFailtime = apc_fetch($failtimeKey);
-      if ($lastFailtime === FALSE) {
-        $lastFailtime = 0;
-      }
-
-      $retryIntervalPassed = FALSE;
-
-      // Cache hit...make sure enough the retry interval has elapsed
-      if ($lastFailtime > 0) {
-        $elapsed = time() - $lastFailtime;
-        if ($elapsed > $this->retryInterval_) {
-          $retryIntervalPassed = TRUE;
-          if ($this->debug_) {
-            call_user_func($this->debugHandler_,
-                           'TSocketPool: retryInterval '.
-                           '('.$this->retryInterval_.') '.
-                           'has passed for host '.$host.':'.$port);
-          }
-        }
-      }
-
-      // Only connect if not in the middle of a fail interval, OR if this
-      // is the LAST server we are trying, just hammer away on it
-      $isLastServer = FALSE;
-      if ($this->alwaysTryLast_) {
-        $isLastServer = ($i == ($numServers - 1));
-      }
-
-      if (($lastFailtime === 0) ||
-          ($isLastServer) ||
-          ($lastFailtime > 0 && $retryIntervalPassed)) {
-
-        // Set underlying TSocket params to this one
-        $this->host_ = $host;
-        $this->port_ = $port;
-
-        // Try up to numRetries_ connections per server
-        for ($attempt = 0; $attempt < $this->numRetries_; $attempt++) {
-          try {
-            // Use the underlying TSocket open function
-            parent::open();
-
-            // Only clear the failure counts if required to do so
-            if ($lastFailtime > 0) {
-              apc_store($failtimeKey, 0);
-            }
-
-            // Successful connection, return now
-            return;
-
-          } catch (TException $tx) {
-            // Connection failed
-          }
-        }
-
-        // Mark failure of this host in the cache
-        $consecfailsKey = 'thrift_consecfails:'.$host.':'.$port.'~';
-
-        // Ignore cache misses
-        $consecfails = apc_fetch($consecfailsKey);
-        if ($consecfails === FALSE) {
-          $consecfails = 0;
-        }
-
-        // Increment by one
-        $consecfails++;
-
-        // Log and cache this failure
-        if ($consecfails >= $this->maxConsecutiveFailures_) {
-          if ($this->debug_) {
-            call_user_func($this->debugHandler_,
-                           'TSocketPool: marking '.$host.':'.$port.
-                           ' as down for '.$this->retryInterval_.' secs '.
-                           'after '.$consecfails.' failed attempts.');
-          }
-          // Store the failure time
-          apc_store($failtimeKey, time());
-
-          // Clear the count of consecutive failures
-          apc_store($consecfailsKey, 0);
-        } else {
-          apc_store($consecfailsKey, $consecfails);
-        }
-      }
-    }
-
-    // Oh no; we failed them all. The system is totally ill!
-    $error = 'TSocketPool: All hosts in pool are down. ';
-    $hosts = array();
-    foreach ($this->servers_ as $server) {
-      $hosts []= $server['host'].':'.$server['port'];
-    }
-    $hostlist = implode(',', $hosts);
-    $error .= '('.$hostlist.')';
-    if ($this->debug_) {
-      call_user_func($this->debugHandler_, $error);
-    }
-    throw new TException($error);
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TTransport.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TTransport.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TTransport.php
deleted file mode 100644
index 2e44366..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Transport/TTransport.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-/*
- * 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 thrift.transport
- */
-
-namespace Thrift\Transport;
-
-use Thrift\Factory\TStringFuncFactory;
-
-/**
- * Base interface for a transport agent.
- *
- * @package thrift.transport
- */
-abstract class TTransport {
-
-  /**
-   * Whether this transport is open.
-   *
-   * @return boolean true if open
-   */
-  public abstract function isOpen();
-
-  /**
-   * Open the transport for reading/writing
-   *
-   * @throws TTransportException if cannot open
-   */
-  public abstract function open();
-
-  /**
-   * Close the transport.
-   */
-  public abstract function close();
-
-  /**
-   * Read some data into the array.
-   *
-   * @param int    $len How much to read
-   * @return string The data that has been read
-   * @throws TTransportException if cannot read any more data
-   */
-  public abstract function read($len);
-
-  /**
-   * Guarantees that the full amount of data is read.
-   *
-   * @return string The data, of exact length
-   * @throws TTransportException if cannot read data
-   */
-  public function readAll($len) {
-    // return $this->read($len);
-
-    $data = '';
-    $got = 0;
-    while (($got = TStringFuncFactory::create()->strlen($data)) < $len) {
-      $data .= $this->read($len - $got);
-    }
-    return $data;
-  }
-
-  /**
-   * Writes the given data out.
-   *
-   * @param string $buf  The data to write
-   * @throws TTransportException if writing fails
-   */
-  public abstract function write($buf);
-
-  /**
-   * Flushes any pending data out of a buffer
-   *
-   * @throws TTransportException if a writing error occurs
-   */
-  public function flush() {}
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Type/TMessageType.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Type/TMessageType.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Type/TMessageType.php
deleted file mode 100644
index 681c45c..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Type/TMessageType.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-/*
- * 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 thrift
- */
-
-namespace Thrift\Type;
-
-/**
- * Message types for RPC
- */
-class TMessageType {
-  const CALL  = 1;
-  const REPLY = 2;
-  const EXCEPTION = 3;
-  const ONEWAY = 4;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Type/TType.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Type/TType.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Type/TType.php
deleted file mode 100644
index c1cf228..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/Type/TType.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/*
- * 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 thrift
- */
-
-namespace Thrift\Type;
-
-/**
- * Data types that can be sent via Thrift
- */
-class TType {
-  const STOP   = 0;
-  const VOID   = 1;
-  const BOOL   = 2;
-  const BYTE   = 3;
-  const I08    = 3;
-  const DOUBLE = 4;
-  const I16    = 6;
-  const I32    = 8;
-  const I64    = 10;
-  const STRING = 11;
-  const UTF7   = 11;
-  const STRUCT = 12;
-  const MAP    = 13;
-  const SET    = 14;
-  const LST    = 15;    // N.B. cannot use LIST keyword in PHP!
-  const UTF8   = 16;
-  const UTF16  = 17;
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/autoload.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/autoload.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/autoload.php
deleted file mode 100644
index 3a35545..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/lib/Thrift/autoload.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/*
- * 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 thrift
- */
-
-
-/**
- * Include this file if you wish to use autoload with your PHP generated Thrift
- * code. The generated code will *not* include any defined Thrift classes by
- * default, except for the service interfaces. The generated code will populate
- * values into $GLOBALS['THRIFT_AUTOLOAD'] which can be used by the autoload
- * method below. If you have your own autoload system already in place, rename your
- * __autoload function to something else and then do:
- * $GLOBALS['AUTOLOAD_HOOKS'][] = 'my_autoload_func';
- *
- * Generate this code using the --gen php:autoload Thrift generator flag.
- */
-
-$GLOBALS['THRIFT_AUTOLOAD'] = array();
-$GLOBALS['AUTOLOAD_HOOKS'] = array();
-
-if (!function_exists('__autoload')) {
-  function __autoload($class) {
-    global $THRIFT_AUTOLOAD;
-    $classl = strtolower($class);
-    if (isset($THRIFT_AUTOLOAD[$classl])) {
-      include_once $GLOBALS['THRIFT_ROOT'].'/packages/'.$THRIFT_AUTOLOAD[$classl];
-    } else if (!empty($GLOBALS['AUTOLOAD_HOOKS'])) {
-      foreach ($GLOBALS['AUTOLOAD_HOOKS'] as $hook) {
-        $hook($class);
-      }
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml b/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml
new file mode 100644
index 0000000..549cdb7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--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. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <groupId>org.apache.airavata</groupId>
+        <artifactId>airavata-client-sdks</artifactId>
+        <version>0.12-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>apache-airavata-client-php-sdk</artifactId>
+    <name>Airavata Client Java Distribution</name>
+    <packaging>pom</packaging>
+    <url>http://airavata.apache.org/</url>
+
+    <build>
+        <plugins>
+	    <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <version>2.8</version>
+                <executions>
+                    <execution>
+                        <id>unpack</id>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>unpack</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>org.apache.airavata</groupId>
+                                    <artifactId>airavata-client-configuration</artifactId>
+                                    <version>${project.version}</version>
+                                    <type>jar</type>
+                                </artifactItem>
+                            </artifactItems>
+                            <outputDirectory>${project.build.directory}/conf</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>distribution-package</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <finalName>${archieve.name}-${project.version}</finalName>
+                            <descriptors>
+                                <descriptor>src/main/assembly/bin-assembly.xml</descriptor>
+                            </descriptors>
+                            <attach>false</attach>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.7</version>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${airavata.client-bin.zip}</file>
+                                    <type>zip</type>
+                                    <classifier>bin</classifier>
+                                </artifact>
+                                <artifact>
+                                    <file>${airavata.client-bin.tar.gz}</file>
+                                    <type>tar.gz</type>
+                                    <classifier>bin</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    
+    <properties>
+        <jersey.version>1.13</jersey.version>
+        <grizzly.version>2.0.0-M3</grizzly.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <archieve.name>apache-airavata-client</archieve.name>
+        <used.axis2.release>${axis2.version}</used.axis2.release>
+        <airavata.client-dist.name>${archieve.name}-${project.version}</airavata.client-dist.name>
+        <airavata.client-bin.zip>${project.build.directory}/${airavata.client-dist.name}-bin.zip</airavata.client-bin.zip>
+        <airavata.client-bin.tar.gz>${project.build.directory}/${airavata.client-dist.name}-bin.tar.gz</airavata.client-bin.tar.gz>
+    </properties>
+</project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/assembly/bin-assembly.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/assembly/bin-assembly.xml b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/assembly/bin-assembly.xml
new file mode 100644
index 0000000..5f7ae03
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/assembly/bin-assembly.xml
@@ -0,0 +1,63 @@
+<!--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. -->
+	
+<!DOCTYPE assembly [
+        <!ELEMENT assembly (id|includeBaseDirectory|baseDirectory|formats|fileSets|dependencySets)*>
+        <!ELEMENT id (#PCDATA)>
+        <!ELEMENT includeBaseDirectory (#PCDATA)>
+        <!ELEMENT baseDirectory (#PCDATA)>
+        <!ELEMENT formats (format)*>
+        <!ELEMENT format (#PCDATA)>
+        <!ELEMENT fileSets (fileSet)*>
+        <!ELEMENT fileSet (directory|outputDirectory|includes)*>
+        <!ELEMENT directory (#PCDATA)>
+        <!ELEMENT outputDirectory (#PCDATA)>
+        <!ELEMENT includes (include)*>
+        <!ELEMENT include (#PCDATA)>
+        <!ELEMENT dependencySets (dependencySet)*>
+        <!ELEMENT dependencySet (outputDirectory|includes)*>
+        ]>
+<assembly>
+    <id>bin</id>
+    <includeBaseDirectory>false</includeBaseDirectory>
+    <baseDirectory>${archieve.name}-${version}</baseDirectory>
+    <formats>
+        <format>tar.gz</format>
+        <format>zip</format>
+    </formats>
+    <fileSets>
+        <!-- ********************** copy release notes files ********************** -->
+        <fileSet>
+            <directory>../../../</directory>
+            <outputDirectory>.</outputDirectory>
+            <includes>
+                <include>RELEASE_NOTES</include>
+            </includes>
+        </fileSet>
+        <!-- ********************** copy licenses, readme etc. ********************** -->
+        <fileSet>
+            <directory>src/main/resources/</directory>
+            <outputDirectory>.</outputDirectory>
+            <includes>
+                <include>conf/*</include>
+		<include>lib/*</include>
+                <include>LICENSE</include>
+                <include>NOTICE</include>
+                <include>README</include>
+                <include>INSTALL</include>
+            </includes>
+        </fileSet>
+	<fileSet>
+            <directory>${project.build.directory}/conf</directory>
+            <outputDirectory>conf</outputDirectory>
+	    <includes>
+                <include>*.properties</include>
+            </includes>
+        </fileSet>
+    </fileSets>
+</assembly>

http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/INSTALL
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/INSTALL b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/INSTALL
new file mode 100644
index 0000000..c815ce0
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/INSTALL
@@ -0,0 +1,31 @@
+Installing  Apache Airavata Client 0.11
+--------------------------------------
+
+Prerequisites
+-------------
+Java 1.5 or later
+Maven (tested on v 3.0.2)
+
+Build Apache Airavata from Source
+---------------------------------
+* Unzip/untar the source file or check out from svn.
+* cd to project folder and type
+	$ mvn clean install
+	Note: in order to skip tests use the command
+			$ mvn clean install -Dmaven.test.skip=true
+* The compressed binary distribution is created at <PROJECT DIR>/modules/distribution/airavata-client/target
+
+Installing the Airavata Client Libraries
+----------------------------------------
+* Add all the libraries (jar files) in the <AIRAVATA_CLIENT_HOME>/lib directory to the classpath
+* Add the <AIRAVATA_CLIENT_HOME>/conf directory to the classpath
+
+Running Tests
+-------------
+Once the binary is unzipped, instructions to run the tests should be follow from README
+
+Tutorials 
+----------
+The airavata website has instructions for basic tutorials:
+* For basic understanding on how to use Airavata API please look at the samples shipped with the distribution
+* Follow Airavata Wiki for more examples on how to use the Airavata API - https://cwiki.apache.org/confluence/display/AIRAVATA/Gateway+Developer+Guide


[08/31] AIRAVATA-1143

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/46205e6c/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/LICENSE
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/LICENSE b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/LICENSE
new file mode 100644
index 0000000..24cb886
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/LICENSE
@@ -0,0 +1,2272 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+
+===================================================================================
+The Apache Airavata distribution includes a number of run time 
+dependencies with separate copyright notices and license terms. Your use of the
+Apache Airavata code is subject to the terms and conditions of the following licenses.
+===================================================================================
+
+===============================================================================
+The following components come under Apache Software License 2.0
+===============================================================================
+
+apache axiom, apache axis2, apache commons, apache derby, apache geronimo,
+apache httpcore components, apache log4j, apache xmlbeans, apache xmlschema,
+aws-java-sdk-1.1.8.jar, bcel-5.1.jar, Codehaus Jackson (jackson-core-asl-1.9.2.jar,
+jackson-jaxrs-1.9.2.jar, jackson-mapper-asl-1.9.2.jar, jackson-xc-1.9.2.jar, 
+jets3t-0.8.0.jar, jettison-1.0-RC2.jar, neethi-2.0.4.jar, PDFBox libraries 
+(pdfbox, jempbox, fontbox), wstx-asl-3.2.4.jar
+
+===============================================================================
+The following components use Apache based Licenses
+===============================================================================
+
+===============================================================================
+For: jdom-1.0.jar
+    Containing Project URL: http://www.jdom.org/
+/*-- 
+
+ $Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $
+
+ Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
+ All rights reserved.
+ 
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions, and the following disclaimer.
+ 
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions, and the disclaimer that follows 
+    these conditions in the documentation and/or other materials 
+    provided with the distribution.
+
+ 3. The name "JDOM" must not be used to endorse or promote products
+    derived from this software without prior written permission.  For
+    written permission, please contact <request_AT_jdom_DOT_org>.
+ 
+ 4. Products derived from this software may not be called "JDOM", nor
+    may "JDOM" appear in their name, without prior written permission
+    from the JDOM Project Management <request_AT_jdom_DOT_org>.
+ 
+ In addition, we request (but do not require) that you include in the 
+ end-user documentation provided with the redistribution and/or in the 
+ software itself an acknowledgement equivalent to the following:
+     "This product includes software developed by the
+      JDOM Project (http://www.jdom.org/)."
+ Alternatively, the acknowledgment may be graphical using the logos 
+ available at http://www.jdom.org/images/logos.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED.  IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+ This software consists of voluntary contributions made by many 
+ individuals on behalf of the JDOM Project and was originally 
+ created by Jason Hunter <jhunter_AT_jdom_DOT_org> and
+ Brett McLaughlin <brett_AT_jdom_DOT_org>.  For more information
+ on the JDOM Project, please see <http://www.jdom.org/>. 
+
+ */
+
+===============================================================================
+
+ASM bytecode manipulation library (asm)
+    Containing Project URL: http://asm.ow2.org/
+
+    Copyright (c) 2000-2005 INRIA, France Telecom
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    1. Redistributions of source code must retain the above copyright
+       notice, this list of conditions and the following disclaimer.
+
+    2. Redistributions in binary form must reproduce the above copyright
+       notice, this list of conditions and the following disclaimer in the
+       documentation and/or other materials provided with the distribution.
+
+    3. Neither the name of the copyright holders nor the names of its
+       contributors may be used to endorse or promote products derived from
+       this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+    THE POSSIBILITY OF SUCH DAMAGE.
+
+===============================================================================
+
+For: cryptix-asn1-versionless.jar, cryptix32-versionless.jar
+    Containing Project URL: http://www.cryptix.org/
+
+Cryptix General License
+
+Copyright (c) 1995-2005 The Cryptix Foundation Limited.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+  1. Redistributions of source code must retain the copyright notice,
+     this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in
+     the documentation and/or other materials provided with the
+     distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND
+CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+===============================================================================
+The following components come under Extreme! Lab Software License
+===============================================================================
+
+XPP3
+    Containing Project URL: http://www.extreme.indiana.edu/xgws/xsoap/xpp/
+xsul, xsul5, xutil
+    Containing Project URL: http://www.extreme.indiana.edu/xgws/xsul/
+wsmg
+    Containing Project URL: http://www.extreme.indiana.edu/xgws/messenger/index.html
+gpel, weps-beans, pegasuswebservice, mapReduce-service-client, atomixmiser
+    Containing Project URL: http://www.extreme.indiana.edu/xgws/
+    
+Indiana University Extreme! Lab Software License
+
+Version 1.1.1
+
+Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the distribution.
+
+3. The end-user documentation included with the redistribution, if any,
+   must include the following acknowledgment:
+
+  "This product includes software developed by the Indiana University
+  Extreme! Lab (http://www.extreme.indiana.edu/)."
+
+Alternately, this acknowledgment may appear in the software itself,
+if and wherever such third-party acknowledgments normally appear.
+
+4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab"
+must not be used to endorse or promote products derived from this
+software without prior written permission. For written permission,
+please contact http://www.extreme.indiana.edu/.
+
+5. Products derived from this software may not use "Indiana Univeristy"
+name nor may "Indiana Univeristy" appear in their name, without prior
+written permission of the Indiana University.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS OR ITS CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+======================================================================== 
+The following components are MIT Licensed 
+========================================================================
+
+SLF4J,log4j-over-slf4j, jcl-over-slf4j, slf4j-api,mockito-all-1.8.5,jopt-simple-3.2.jar
+    Containing Project URL: http://www.slf4j.org/
+
+Copyright (c) 2004-2008 QOS.ch
+ All rights reserved.
+
+ Permission is hereby granted, free  of charge, to any person obtaining
+ a  copy  of this  software  and  associated  documentation files  (the
+ "Software"), to  deal in  the Software without  restriction, including
+ without limitation  the rights to  use, copy, modify,  merge, publish,
+ distribute,  sublicense, and/or sell  copies of  the Software,  and to
+ permit persons to whom the Software  is furnished to do so, subject to
+ the following conditions:
+
+ The  above  copyright  notice  and  this permission  notice  shall  be
+ included in all copies or substantial portions of the Software.
+
+ THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+ EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+ MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+========================================================================
+
+For dom4j-1.6.1.jar:
+    Containing Project URL: http://dom4j.sourceforge.net/
+Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation
+("Software"), with or without modification, are permitted provided
+that the following conditions are met:
+
+1. Redistributions of source code must retain copyright
+   statements and notices.  Redistributions must also contain a
+   copy of this document.
+ 
+2. Redistributions in binary form must reproduce the
+   above copyright notice, this list of conditions and the
+   following disclaimer in the documentation and/or other
+   materials provided with the distribution.
+ 
+3. The name "DOM4J" must not be used to endorse or promote
+   products derived from this Software without prior written
+   permission of MetaStuff, Ltd.  For written permission,
+   please contact dom4j-info@metastuff.com.
+ 
+4. Products derived from this Software may not be called "DOM4J"
+   nor may "DOM4J" appear in their names without prior written
+   permission of MetaStuff, Ltd. DOM4J is a registered
+   trademark of MetaStuff, Ltd.
+ 
+5. Due credit should be given to the DOM4J Project - 
+   http://www.dom4j.org
+ 
+THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+====================================================================================================
+
+For Bouncy Castle:
+    Containing Project URL: http://www.bouncycastle.org/
+
+Copyright (c) 2000 - 2011 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)
+
+Permission iss software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions hereby granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the "Software"), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+=======================================================================================================
+
+For: The International Components for Unicode (icu4j-2.6.1.jar)
+    Containing Project URL: http://site.icu-project.org/
+
+    Copyright (c) 1995-2009 International Business Machines Corporation
+    and others
+
+    All rights reserved.
+
+    Permission is hereby granted, free of charge, to any person obtaining
+    a copy of this software and associated documentation files (the
+    "Software"), to deal in the Software without restriction, including
+    without limitation the rights to use, copy, modify, merge, publish,
+    distribute, and/or sell copies of the Software, and to permit persons
+    to whom the Software is furnished to do so, provided that the above
+    copyright notice(s) and this permission notice appear in all copies
+    of the Software and that both the above copyright notice(s) and this
+    permission notice appear in supporting documentation.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+    IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
+    BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+    OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+    SOFTWARE.
+
+    Except as contained in this notice, the name of a copyright holder shall
+    not be used in advertising or otherwise to promote the sale, use or other
+    dealings in this Software without prior written authorization of the
+    copyright holder.
+    
+====================================================================== 
+The following components are CDDL based License 
+======================================================================
+
+For activation-1.1.jar, jaxb-api-2.1.jar, mail-1.4.jar, junit, 
+Servlet Specification 2.5 API (servlet-api-2.5-6.1.14.jar),
+Classfish Jasper API (jsp-api-2.1-6.1.14.jar), and
+JSP2.1 Jasper implementation from Glassfish (jsp-2.1-6.1.14.jar), 
+Jersey from Glassfish (jersey-client-1.13.jar, jersey-core-1.13.jar,
+jersey-json-1.13.jar, jersey-multipart-1.13.jar) and JSP2.1 Jasper 
+implementation from Glassfish (jsp-2.1-6.1.14.jar),whirr-core-0.7.1.jar, whirr-hadoop-0.7.1.jar:
+ 
+NOTE: jersey is dual licensed (http://jersey.java.net/CDDL+GPL.html), 
+Apahce Airavata elects to include jersey in this distribution under the
+[CDDLv_1.0] license.
+
+    COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+
+    1. Definitions.
+
+    1.1. Contributor means each individual or entity that creates or
+    contributes to the creation of Modifications.
+
+    1.2. Contributor Version means the combination of the Original Software,
+    prior Modifications used by a Contributor (if any), and the Modifications
+    made by that particular Contributor.
+
+    1.3. Covered Software means (a) the Original Software, or
+    (b) Modifications, or (c) the combination of files containing Original
+    Software with files containing Modifications, in each case including
+    portions thereof.
+
+    1.4. Executable means the Covered Software in any form other than Source
+    Code.
+
+    1.5. Initial Developer means the individual or entity that first makes
+    Original Software available under this License.
+
+    1.6. Larger Work means a work which combines Covered Software or portions
+    thereof with code not governed by the terms of this License.
+
+    1.7. License means this document.
+
+    1.8. Licensable means having the right to grant, to the maximum extent
+    possible, whether at the time of the initial grant or subsequently
+    acquired, any and all of the rights conveyed herein.
+
+    1.9. Modifications means the Source Code and Executable form of any of
+    the following: A. Any file that results from an addition to, deletion
+    from or modification of the contents of a file containing Original
+    Software or previous Modifications; B. Any new file that contains any
+    part of the Original Software or previous Modification; or C. Any new
+    file that is contributed or otherwise made available under the terms of
+    this License.
+
+    1.10. Original Software means the Source Code and Executable form of
+    computer software code that is originally released under this License.
+
+    1.11. Patent Claims means any patent claim(s), now owned or hereafter
+    acquired, including without limitation, method, process, and apparatus
+    claims, in any patent Licensable by grantor.
+
+    1.12. Source Code means (a) the common form of computer software code in
+    which modifications are made and (b) associated documentation included in
+    or with such code.
+
+    1.13. You (or Your) means an individual or a legal entity exercising
+    rights under, and complying with all of the terms of, this License. For
+    legal entities, You includes any entity which controls, is controlled by,
+    or is under common control with You. For purposes of this definition,
+    control means (a) the power, direct or indirect, to cause the direction
+    or management of such entity, whether by contract or otherwise, or
+    (b) ownership of more than fifty percent (50%) of the outstanding shares
+    or beneficial ownership of such entity.
+
+    2. License Grants.
+
+    2.1. The Initial Developer Grant. Conditioned upon Your compliance with
+    Section 3.1 below and subject to third party intellectual property
+    claims, the Initial Developer hereby grants You a world-wide,
+    royalty-free, non-exclusive license:
+
+    (a) under intellectual property rights (other than patent or trademark)
+        Licensable by Initial Developer, to use, reproduce, modify, display,
+        perform, sublicense and distribute the Original Software (or portions
+        thereof), with or without Modifications, and/or as part of a Larger
+        Work; and
+
+    (b) under Patent Claims infringed by the making, using or selling of
+        Original Software, to make, have made, use, practice, sell, and offer
+        for sale, and/or otherwise dispose of the Original Software (or
+        portions thereof);
+
+    (c) The licenses granted in Sections 2.1(a) and (b) are effective on the
+        date Initial Developer first distributes or otherwise makes the
+        Original Software available to a third party under the terms of
+        this License;
+
+    (d) Notwithstanding Section 2.1(b) above, no patent license is granted:
+        (1) for code that You delete from the Original Software, or (2) for
+        infringements caused by: (i) the modification of the Original
+        Software, or (ii) the combination of the Original Software with other
+        software or devices.
+
+    2.2. Contributor Grant. Conditioned upon Your compliance with Section 3.1
+    below and subject to third party intellectual property claims, each
+    Contributor hereby grants You a world-wide, royalty-free, non-exclusive
+    license:
+
+    (a) under intellectual property rights (other than patent or trademark)
+        Licensable by Contributor to use, reproduce, modify, display, perform,
+        sublicense and distribute the Modifications created by such
+        Contributor (or portions thereof), either on an unmodified basis,
+        with other Modifications, as Covered Software and/or as part of a
+        Larger Work; and
+
+    (b) under Patent Claims infringed by the making, using, or selling of
+        Modifications made by that Contributor either alone and/or in
+        combination with its Contributor Version (or portions of such
+        combination), to make, use, sell, offer for sale, have made, and/or
+        otherwise dispose of: (1) Modifications made by that Contributor (or
+        portions thereof); and (2) the combination of Modifications made by
+        that Contributor with its Contributor Version (or portions of such
+        combination).
+
+    (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on
+        the date Contributor first distributes or otherwise makes the
+        Modifications available to a third party.
+
+    (d) Notwithstanding Section 2.2(b) above, no patent license is granted:
+        (1) for any code that Contributor has deleted from the Contributor
+        Version; (2) for infringements caused by: (i) third party
+        modifications of Contributor Version, or (ii) the combination of
+        Modifications made by that Contributor with other software (except
+        as part of the Contributor Version) or other devices; or (3) under
+        Patent Claims infringed by Covered Software in the absence of
+        Modifications made by that Contributor.
+
+    3. Distribution Obligations.
+
+    3.1. Availability of Source Code. Any Covered Software that You distribute
+    or otherwise make available in Executable form must also be made available
+    in Source Code form and that Source Code form must be distributed only
+    under the terms of this License. You must include a copy of this License
+    with every copy of the Source Code form of the Covered Software You
+    distribute or otherwise make available. You must inform recipients of any
+    such Covered Software in Executable form as to how they can obtain such
+    Covered Software in Source Code form in a reasonable manner on or through
+    a medium customarily used for software exchange.
+
+    3.2. Modifications. The Modifications that You create or to which You
+    contribute are governed by the terms of this License. You represent that
+    You believe Your Modifications are Your original creation(s) and/or You
+    have sufficient rights to grant the rights conveyed by this License.
+
+    3.3. Required Notices. You must include a notice in each of Your
+    Modifications that identifies You as the Contributor of the Modification.
+    You may not remove or alter any copyright, patent or trademark notices
+    contained within the Covered Software, or any notices of licensing or any
+    descriptive text giving attribution to any Contributor or the Initial
+    Developer.
+
+    3.4. Application of Additional Terms. You may not offer or impose any
+    terms on any Covered Software in Source Code form that alters or restricts
+    the applicable version of this License or the recipients rights hereunder.
+    You may choose to offer, and to charge a fee for, warranty, support,
+    indemnity or liability obligations to one or more recipients of Covered
+    Software. However, you may do so only on Your own behalf, and not on
+    behalf of the Initial Developer or any Contributor. You must make it
+    absolutely clear that any such warranty, support, indemnity or liability
+    obligation is offered by You alone, and You hereby agree to indemnify the
+    Initial Developer and every Contributor for any liability incurred by the
+    Initial Developer or such Contributor as a result of warranty, support,
+    indemnity or liability terms You offer.
+
+    3.5. Distribution of Executable Versions. You may distribute the
+    Executable form of the Covered Software under the terms of this License or
+    under the terms of a license of Your choice, which may contain terms
+    different from this License, provided that You are in compliance with the
+    terms of this License and that the license for the Executable form does
+    not attempt to limit or alter the recipients rights in the Source Code
+    form from the rights set forth in this License. If You distribute the
+    Covered Software in Executable form under a different license, You must
+    make it absolutely clear that any terms which differ from this License
+    are offered by You alone, not by the Initial Developer or Contributor.
+    You hereby agree to indemnify the Initial Developer and every Contributor
+    for any liability incurred by the Initial Developer or such Contributor as
+    a result of any such terms You offer.
+
+    3.6. Larger Works. You may create a Larger Work by combining Covered
+    Software with other code not governed by the terms of this License and
+    distribute the Larger Work as a single product. In such a case, You must
+    make sure the requirements of this License are fulfilled for the Covered
+    Software.
+
+    4. Versions of the License.
+
+    4.1. New Versions. Sun Microsystems, Inc. is the initial license steward
+    and may publish revised and/or new versions of this License from time to
+    time. Each version will be given a distinguishing version number. Except
+    as provided in Section 4.3, no one other than the license steward has the
+    right to modify this License.
+
+    4.2. Effect of New Versions. You may always continue to use, distribute
+    or otherwise make the Covered Software available under the terms of the
+    version of the License under which You originally received the Covered
+    Software. If the Initial Developer includes a notice in the Original
+    Software prohibiting it from being distributed or otherwise made
+    available under any subsequent version of the License, You must
+    distribute and make the Covered Software available under the terms of
+    the version of the License under which You originally received the
+    Covered Software. Otherwise, You may also choose to use, distribute or
+    otherwise make the Covered Software available under the terms of any
+    subsequent version of the License published by the license steward.
+
+    4.3. Modified Versions. When You are an Initial Developer and You want
+    to create a new license for Your Original Software, You may create and
+    use a modified version of this License if You: (a) rename the license and
+    remove any references to the name of the license steward (except to note
+    that the license differs from this License); and (b) otherwise make it
+    clear that the license contains terms which differ from this License.
+
+    5. DISCLAIMER OF WARRANTY. COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE
+    ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
+    IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
+    SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE
+    OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
+    THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE
+    DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER
+    CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR
+    CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF
+    THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER
+    EXCEPT UNDER THIS DISCLAIMER.
+
+    6. TERMINATION.
+
+    6.1. This License and the rights granted hereunder will terminate
+    automatically if You fail to comply with terms herein and fail to cure
+    such breach within 30 days of becoming aware of the breach. Provisions
+    which, by their nature, must remain in effect beyond the termination of
+    this License shall survive.
+
+    6.2. If You assert a patent infringement claim (excluding declaratory
+    judgment actions) against Initial Developer or a Contributor (the Initial
+    Developer or Contributor against whom You assert such claim is referred
+    to as Participant) alleging that the Participant Software (meaning the
+    Contributor Version where the Participant is a Contributor or the
+    Original Software where the Participant is the Initial Developer)
+    directly or indirectly infringes any patent, then any and all rights
+    granted directly or indirectly to You by such Participant, the Initial
+    Developer (if the Initial Developer is not the Participant) and all
+    Contributors under Sections 2.1 and/or 2.2 of this License shall, upon
+    60 days notice from Participant terminate prospectively and automatically
+    at the expiration of such 60 day notice period, unless if within such
+    60 day period You withdraw Your claim with respect to the Participant
+    Software against such Participant either unilaterally or pursuant to a
+    written agreement with Participant.
+
+    6.3. In the event of termination under Sections 6.1 or 6.2 above, all end
+    user licenses that have been validly granted by You or any distributor
+    hereunder prior to termination (excluding licenses granted to You by any
+    distributor) shall survive termination.
+
+    7. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL
+    THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL
+    YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
+    COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY
+    PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF
+    ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS,
+    LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY
+    AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE
+    BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+    LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+    RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+    PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
+    OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION
+    AND LIMITATION MAY NOT APPLY TO YOU.
+
+    8. U.S. GOVERNMENT END USERS. The Covered Software is a commercial item,
+    as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of
+    commercial computer software (as that term is defined at 48 C.F.R.
+    252.227-7014(a)(1)) and commercial computer software documentation as such
+    terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R.
+    12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S.
+    Government End Users acquire Covered Software with only those rights set
+    forth herein. This U.S. Government Rights clause is in lieu of, and
+    supersedes, any other FAR, DFAR, or other clause or provision that
+    addresses Government rights in computer software under this License.
+
+    9. MISCELLANEOUS. This License represents the complete agreement
+    concerning subject matter hereof. If any provision of this License is
+    held to be unenforceable, such provision shall be reformed only to the
+    extent necessary to make it enforceable. This License shall be governed
+    by the law of the jurisdiction specified in a notice contained within
+    the Original Software (except to the extent applicable law, if any,
+    provides otherwise), excluding such jurisdictions conflict-of-law
+    provisions. Any litigation relating to this License shall be subject to
+    the jurisdiction of the courts located in the jurisdiction and venue
+    specified in a notice contained within the Original Software, with the
+    losing party responsible for costs, including, without limitation, court
+    costs and reasonable attorneys fees and expenses. The application of the
+    United Nations Convention on Contracts for the International Sale of
+    Goods is expressly excluded. Any law or regulation which provides that
+    the language of a contract shall be construed against the drafter shall
+    not apply to this License. You agree that You alone are responsible for
+    compliance with the United States export administration regulations (and
+    the export control laws and regulation of any other countries) when You
+    use, distribute or otherwise make available any Covered Software.
+
+    10. RESPONSIBILITY FOR CLAIMS. As between Initial Developer and the
+    Contributors, each party is responsible for claims and damages arising,
+    directly or indirectly, out of its utilization of rights under this
+    License and You agree to work with Initial Developer and Contributors
+    to distribute such responsibility on an equitable basis. Nothing herein
+    is intended or shall be deemed to constitute any admission of liability.
+
+    NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION
+    LICENSE (CDDL) The code released under the CDDL shall be governed by the
+    laws of the State of California (excluding conflict-of-law provisions).
+    Any litigation relating to this License shall be subject to the
+    jurisdiction of the Federal Courts of the Northern District of California
+    and the state courts of the State of California, with venue lying in
+    Santa Clara County, California.
+
+
+==============================================================================
+
+For: jaxb-xjc-2.1.7.jar
+    Containing Project URL: 
+
+Copyright (c) 2004 Kohsuke Kawaguchi
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom
+the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall
+be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+=============================================================================== 
+The following components are BSD Licensed 
+=============================================================================== 
+
+For jibx-bind-1.2.1.jar,jibx-run-1.2.1.jar, antlr-2.7.7.jar,hamcrest-all-1.1.jar,whirr-core-0.7.1.jar, whirr-hadoop-0.7.1.jar:
+    Containing Project URL: http://jibx.sourceforge.net, http://www.antlr.org/
+
+Copyright (c) 2003-2007, Dennis M. Sosnoski
+All rights reserved.
+
+Copyright (c) 2010 Terence Parr
+All rights reserved.
+
+[The BSD License]
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+ * Neither the name of JiBX nor the names of its contributors may be used
+   to endorse or promote products derived from this software without specific
+   prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+==============================================================================
+
+For YFilter:
+    Containing Project URL: http://yfilter.cs.umass.edu/
+
+YFilter 1.0 COPYRIGHT, LICENSE and DISCLAIMER
+
+Copyright (c) 2002, 2004, Regents of the University of California All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are
+permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this
+    list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this
+    list of conditions and the following disclaimer in the documentation and/or other
+    materials provided with the distribution.
+    * Neither the name of the University of California at Berkeley nor the names of
+    its contributors may be used to endorse or promote products derived from this
+    software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+==========================================================================================
+For jaxen-1.1.1.jar:
+    Containing Project URL: http://jaxen.codehaus.org/
+
+ Copyright 2003-2006 The Werken Company. All Rights Reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+  * Neither the name of the Jaxen Project nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=============================================================================== 
+The following components are CPL Licensed 
+=============================================================================== 
+
+For wsdl4j-1.6.2.jar:
+    Containing Project URL: http://sourceforge.net/projects/wsdl4j/
+
+Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+1. DEFINITIONS
+"Contribution" means:
+a) in the case of the initial Contributor, the initial code and
documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+i) changes to the Program, and
+ii) additions to the Program;
+where such changes and/or additions to the Program originate from and are
distributed by that particular Contributor. A Contribution 'originates' from a
Contributor if it was added to the Program by such Contributor itself or anyone
acting on such Contributor's behalf. Contributions do not include additions to
the Program which: (i) are separate modules of software distributed in
conjunction with the Program under their own license agreement, and (ii) are not
derivative works of the Program.
+"Contributor" means any person or entity that distributes the Program.
+"Licensed Patents " mean patent claims licensable by a Contributor which are
necessarily infringed by the use or sale of its Contribution alone or when
combined with the Program.
+"Program" means the Contributions distributed in accordance with this Agreement.
+"Recipient" means anyone who receives the Program under this Agreement,
including all Contributors.
+2. GRANT OF RIGHTS
+a) Subject to the terms of this Agreement, each Contributor hereby grants
Recipient a non-exclusive, worldwide, royalty-free copyright license to
reproduce, prepare derivative works of, publicly display, publicly perform,
distribute and sublicense the Contribution of such Contributor, if any, and such
derivative works, in source code and object code form.
+b) Subject to the terms of this Agreement, each Contributor hereby grants
Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
Patents to make, use, sell, offer to sell, import and otherwise transfer the
Contribution of such Contributor, if any, in source code and object code form.
This patent license shall apply to the combination of the Contribution and the
Program if, at the time the Contribution is added by the Contributor, such
addition of the Contribution causes such combination to be covered by the
Licensed Patents. The patent license shall not apply to any other combinations
which include the Contribution. No hardware per se is licensed hereunder.
+c) Recipient understands that although each Contributor grants the licenses
to its Contributions set forth herein, no assurances are provided by any
Contributor that the Program does not infringe the patent or other intellectual
property rights of any other entity. Each Contributor disclaims any liability to
Recipient for claims brought by any other entity based on infringement of
intellectual property rights or otherwise. As a condition to exercising the
rights and licenses granted hereunder, each Recipient hereby assumes sole
responsibility to secure any other intellectual property rights needed, if any.
For example, if a third party patent license is required to allow Recipient to
distribute the Program, it is Recipient's responsibility to acquire that license
before distributing the Program.
+d) Each Contributor represents that to its knowledge it has sufficient
copyright rights in its Contribution, if any, to grant the copyright license set
forth in this Agreement.
+3. REQUIREMENTS
+A Contributor may choose to distribute the Program in object code form under its
own license agreement, provided that:
+a) it complies with the terms and conditions of this Agreement; and
+b) its license agreement:
+i) effectively disclaims on behalf of all Contributors all warranties and
conditions, express and implied, including warranties or conditions of title and
non-infringement, and implied warranties or conditions of merchantability and
fitness for a particular purpose;
+ii) effectively excludes on behalf of all Contributors all liability for
damages, including direct, indirect, special, incidental and consequential
damages, such as lost profits;
+iii) states that any provisions which differ from this Agreement are offered
by that Contributor alone and not by any other party; and
+iv) states that source code for the Program is available from such
Contributor, and informs licensees how to obtain it in a reasonable manner on or
through a medium customarily used for software exchange.
+When the Program is made available in source code form:
+a) it must be made available under this Agreement; and
+b) a copy of this Agreement must be included with each copy of the Program.
+Contributors may not remove or alter any copyright notices contained within the
Program.
+Each Contributor must identify itself as the originator of its Contribution, if
any, in a manner that reasonably allows subsequent Recipients to identify the
originator of the Contribution.
+4. COMMERCIAL DISTRIBUTION
+Commercial distributors of software may accept certain responsibilities with
respect to end users, business partners and the like. While this license is
intended to facilitate the commercial use of the Program, the Contributor who
includes the Program in a commercial product offering should do so in a manner
which does not create potential liability for other Contributors. Therefore, if
a Contributor includes the Program in a commercial product offering, such
Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
every other Contributor ("Indemnified Contributor") against any losses, damages
and costs (collectively "Losses") arising from claims, lawsuits and other legal
actions brought by a third party against the Indemnified Contributor to the
extent caused by the acts or omissions of such Commercial Contributor in
connection with its distribution of the Program in a commercial product
offering. The obligations in this section do not ap
 ply to any claims or Losses
relating to any actual or alleged intellectual property infringement. In order
to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
Contributor in writing of such claim, and b) allow the Commercial Contributor to
control, and cooperate with the Commercial Contributor in, the defense and any
related settlement negotiations. The Indemnified Contributor may participate in
any such claim at its own expense.
+For example, a Contributor might include the Program in a commercial product
offering, Product X. That Contributor is then a Commercial Contributor. If that
Commercial Contributor then makes performance claims, or offers warranties
related to Product X, those performance claims and warranties are such
Commercial Contributor's responsibility alone. Under this section, the
Commercial Contributor would have to defend claims against the other
Contributors related to those performance claims and warranties, and if a court
requires any other Contributor to pay any damages as a result, the Commercial
Contributor must pay those damages.
+5. NO WARRANTY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
Recipient is solely responsible for determining the appropriateness of using and
distributing the Program and assumes all risks associated with its exercise of
rights under this Agreement, including but not limited to the risks and costs of
program errors, compliance with applicable laws, damage to or loss of data,
programs or equipment, and unavailability or interruption of operations.
+6. DISCLAIMER OF LIABILITY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+7. GENERAL
+If any provision of this Agreement is invalid or unenforceable under applicable
law, it shall not affect the validity or enforceability of the remainder of the
terms of this Agreement, and without further action by the parties hereto, such
provision shall be reformed to the minimum extent necessary to make such
provision valid and enforceable.
+If Recipient institutes patent litigation against a Contributor with respect to
a patent applicable to software (including a cross-claim or counterclaim in a
lawsuit), then any patent licenses granted by that Contributor to such Recipient
under this Agreement shall terminate as of the date such litigation is filed. In
addition, if Recipient institutes patent litigation against any entity
(including a cross-claim or counterclaim in a lawsuit) alleging that the Program
itself (excluding combinations of the Program with other software or hardware)
infringes such Recipient's patent(s), then such Recipient's rights granted under
Section 2(b) shall terminate as of the date such litigation is filed.
+All Recipient's rights under this Agreement shall terminate if it fails to
comply with any of the material terms or conditions of this Agreement and does
not cure such failure in a reasonable period of time after becoming aware of
such noncompliance. If all Recipient's rights under this Agreement terminate,
Recipient agrees to cease use and distribution of the Program as soon as
reasonably practicable. However, Recipient's obligations under this Agreement
and any licenses granted by Recipient relating to the Program shall continue and
survive.
+Everyone is permitted to copy and distribute copies of this Agreement, but in
order to avoid inconsistency the Agreement is copyrighted and may only be
modified in the following manner. The Agreement Steward reserves the right to
publish new versions (including revisions) of this Agreement from time to time.
No one other than the Agreement Steward has the right to modify this Agreement.
IBM is the initial Agreement Steward. IBM may assign the responsibility to serve
as the Agreement Steward to a suitable separate entity. Each new version of the
Agreement will be given a distinguishing version number. The Program (including
Contributions) may always be distributed subject to the version of the Agreement
under which it was received. In addition, after a new version of the Agreement
is published, Contributor may elect to distribute the Program (including its
Contributions) under the new version. Except as expressly stated in Sections
2(a) and 2(b) above, Recipie
 nt receives no rights or licenses to the
intellectual property of any Contributor under this Agreement, whether
expressly, by implication, estoppel or otherwise. All rights in the Program not
expressly granted under this Agreement are reserved.
+This Agreement is governed by the laws of the State of New York and the
intellectual property laws of the United States of America. No party to this
Agreement will bring a legal action under this Agreement more than one year
after the cause of action arose. Each party waives its rights to a jury trial in
any resulting litigation.
+
+==========================================================================================
+==========================================================================================
+
+For puretls:
+    Containing Project URL: 
+
+  This package is a SSLv3/TLS implementation written by Eric Rescorla
+   <ek...@rtfm.com> and licensed by Claymore Systems, Inc.
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions
+   are met:
+   1. Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+   2. Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+   3. Neither the name of Claymore Systems, Inc. nor the name of Eric
+      Rescorla may be used to endorse or promote products derived from this
+      software without specific prior written permission.
+   THIS SOFTWARE IS PROVIDED BY CLAYMORE SYSTEMS AND CONTRIBUTORS ``AS IS'' AND
+   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+   ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+   FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+   OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+   OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+   SUCH DAMAGE.
+
+==============================================================================
+
+For xml-api,woden-api-1.0M8.jar,woden-impl-dom-1.0M8.jar:
+    Containing Project URL: 
+
+For the W3C schema and DTD files in the org.apache.woden.resolver package:
+
+W3C® DOCUMENT LICENSE
+http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
+
+Public documents on the W3C site are provided by the copyright holders under
+the following license. By using and/or copying this document, or the W3C
+document from which this statement is linked, you (the licensee) agree that
+you have read, understood, and will comply with the following terms and
+conditions:
+
+Permission to copy, and distribute the contents of this document, or the W3C
+document from which this statement is linked, in any medium for any purpose
+and without fee or royalty is hereby granted, provided that you include the
+following on ALL copies of the document, or portions thereof, that you use:
+
+  1. A link or URL to the original W3C document.
+  2. The pre-existing copyright notice of the original author, or if it
+     doesn't exist, a notice (hypertext is preferred, but a textual
+     representation is permitted) of the form: "Copyright © [$date-of-document]
+     World Wide Web Consortium, (Massachusetts Institute of Technology,
+     European Research Consortium for Informatics and Mathematics, Keio
+     University). All Rights Reserved.
+     http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231"
+  3. If it exists, the STATUS of the W3C document.
+
+When space permits, inclusion of the full text of this NOTICE should be
+provided. We request that authorship attribution be provided in any software,
+documents, or other items or products that you create pursuant to the
+implementation of the contents of this document, or any portion thereof.
+
+No right to create modifications or derivatives of W3C documents is granted
+pursuant to this license. However, if additional requirements (documented in
+the Copyright FAQ) are satisfied, the right to create modifications or
+derivatives is sometimes granted by the W3C to individuals complying with
+those requirements.
+
+THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
+REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT
+LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
+NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE
+FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT
+INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE
+PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.
+
+The name and trademarks of copyright holders may NOT be used in advertising
+or publicity pertaining to this document or its contents without specific,
+written prior permission. Title to copyright in this document will at all
+times remain with copyright holders.
+
+This formulation of W3C's notice and license became active on December 31 2002. 
+This version removes the copyright ownership notice such that this license can 
+be used with materials other than those owned by the W3C, reflects that ERCIM is 
+now a host of the W3C, includes references to this specific dated version of the 
+license, and removes the ambiguous grant of "use". Otherwise, this version is the 
+same as the previous version and is written so as to preserve the Free Software 
+Foundation's assessment of GPL compatibility and OSI's certification under the 
+Open Source Definition. Please see our Copyright FAQ for common questions about 
+using materials from our site, including specific terms and conditions for packages 
+like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed 
+o site-policy@w3.org.
+
+Joseph Reagle <si...@w3.org>
+ 
+Last revised $Id: copyright-software-20021231.html,v 1.11 2004/07/06 16:02:49 slesch Exp $ 
+
+==========================================================================================
+
+XML API library, org.w3c classes (xml-apis)
+    Containing Project URL: 
+
+    DOM Java Language Binding:
+    http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/java-binding.html
+
+    W3C IPR SOFTWARE NOTICE
+    Copyright (C) 2000 World Wide Web Consortium, (Massachusetts Institute of
+    Technology, Institut National de Recherche en Informatique et en
+    Automatique, Keio University). All Rights Reserved.
+
+    The DOM bindings are published under the W3C Software Copyright Notice
+    and License. The software license requires "Notice of any changes or
+    modifications to the W3C files, including the date changes were made."
+    Consequently, modified versions of the DOM bindings must document that
+    they do not conform to the W3C standard; in the case of the IDL binding,
+    the pragma prefix can no longer be 'w3c.org'; in the case of the Java
+    binding, the package names can no longer be in the 'org.w3c' package.
+
+    Note: The original version of the W3C Software Copyright Notice and
+    License could be found at
+    http://www.w3.org/Consortium/Legal/copyright-software-19980720
+
+    Copyright (C) 1994-2000 World Wide Web Consortium, (Massachusetts
+    Institute of Technology, Institut National de Recherche en Informatique
+    et en Automatique, Keio University). All Rights Reserved.
+    http://www.w3.org/Consortium/Legal/
+
+    This W3C work (including software, documents, or other related items) is
+    being provided by the copyright holders under the following license. By
+    obtaining, using and/or copying this work, you (the licensee) agree that
+    you have read, understood, and will comply with the following terms and
+    conditions:
+
+    Permission to use, copy, and modify this software and its documentation,
+    with or without modification, for any purpose and without fee or royalty
+    is hereby granted, provided that you include the following on ALL copies
+    of the software and documentation or portions thereof, including
+    modifications, that you make:
+
+      1. The full text of this NOTICE in a location viewable to users of the
+         redistributed or derivative work.
+
+      2. Any pre-existing intellectual property disclaimers, notices, or
+         terms and conditions. If none exist, a short notice of the following
+         form (hypertext is preferred, text is permitted) should be used
+         within the body of any redistributed or derivative code:
+         "Copyright (C) [$date-of-software] World Wide Web Consortium,
+         (Massachusetts Institute of Technology, Institut National de
+         Recherche en Informatique et en Automatique, Keio University).
+         All Rights Reserved. http://www.w3.org/Consortium/Legal/"
+
+      3. Notice of any changes or modifications to the W3C files, including
+         the date changes were made. (We recommend you provide URIs to the
+         location from which the code is derived.)
+
+    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
+    MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+    NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
+    PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
+    ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL
+    OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+    DOCUMENTATION.
+
+    The name and trademarks of copyright holders may NOT be used in
+    advertising or publicity pertaining to the software without specific,
+    written prior permission. Title to copyright in this software and any
+    associated documentation will at all times remain with copyright holders.
+
+=============================================================================== 
+The following components come under the Eclipse Public 1.0 License 
+=============================================================================== 
+Eclipse JDT Core (core-3.1.1.jar)
+
+  Eclipse Public License - v 1.0
+
+    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
+    THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+    1. DEFINITIONS
+
+    "Contribution" means:
+
+    a) in the case of the initial Contributor, the initial code and
+       documentation distributed under this Agreement, and
+
+    b) in the case of each subsequent Contributor:
+
+       i) changes to the Program, and
+
+       ii) additions to the Program;
+
+       where such changes and/or additions to the Program originate from and
+       are distributed by that particular Contributor. A Contribution
+       'originates' from a Contributor if it was added to the Program by
+       such Contributor itself or anyone acting on such Contributor's behalf.
+       Contributions do not include additions to the Program which: (i) are
+       separate modules of software distributed in conjunction with the
+       Program under their own license agreement, and (ii) are not derivative
+       works of the Program.
+
+    "Contributor" means any person or entity that distributes the Program.
+
+    "Licensed Patents " mean patent claims licensable by a Contributor which
+    are necessarily infringed by the use or sale of its Contribution alone or
+    when combined with the Program.
+
+    "Program" means the Contributions distributed in accordance with this
+    Agreement.
+
+    "Recipient" means anyone who receives the Program under this Agreement,
+    including all Contributors.
+
+    2. GRANT OF RIGHTS
+
+    a) Subject to the terms of this Agreement, each Contributor hereby grants
+       Recipient a non-exclusive, worldwide, royalty-free copyright license to
+       reproduce, prepare derivative works of, publicly display, publicly
+       perform, distribute and sublicense the Contribution of such
+       Contributor, if any, and such derivative works, in source code and
+       object code form.
+
+    b) Subject to the terms of this Agreement, each Contributor hereby grants
+       Recipient a non-exclusive, worldwide, royalty-free patent license under
+       Licensed Patents to make, use, sell, offer to sell, import and
+       otherwise transfer the Contribution of such Contributor, if any, in
+       source code and object code form. This patent license shall apply to
+       the combination of the Contribution and the Program if, at the time
+       the Contribution is added by the Contributor, such addition of the
+       Contribution causes such combination to be covered by the Licensed
+       Patents. The patent license shall not apply to any other combinations
+       which include the Contribution. No hardware per se is licensed hereunder.
+
+    c) Recipient understands that although each Contributor grants the
+       licenses to its Contributions set forth herein, no assurances are
+       provided by any Contributor that the Program does not infringe the
+       patent or other intellectual property rights of any other entity. Each
+       Contributor disclaims any liability to Recipient for claims brought by
+       any other entity based on infringement of intellectual property rights
+       or otherwise. As a condition to exercising the rights and licenses
+       granted hereunder, each Recipient hereby assumes sole responsibility
+       to secure any other intellectual property rights needed, if any. For
+       example, if a third party patent license is required to allow Recipient
+       to distribute the Program, it is Recipient's responsibility to acquire
+       that license before distributing the Program.
+
+    d) Each Contributor represents that to its knowledge it has sufficient
+       copyright rights in its Contribution, if any, to grant the copyright
+       license set forth in this Agreement.
+
+    3. REQUIREMENTS
+
+    A Contributor may choose to distribute the Program in object code form
+    under its own license agreement, provided that:
+
+    a) it complies with the terms and conditions of this Agreement; and
+
+    b) its license agreement:
+
+       i)   effectively disclaims on behalf of all Contributors all warranties
+            and conditions, express and implied, including warranties or
+            conditions of title and non-infringement, and implied warranties
+            or conditions of merchantability and fitness for a particular
+            purpose;
+
+       ii)  effectively excludes on behalf of all Contributors all liability
+            for damages, including direct, indirect, special, incidental and
+            consequential damages, such as lost profits;
+
+       iii) states that any provisions which differ from this Agreement are
+            offered by that Contributor alone and not by any other party; and
+
+       iv)  states that source code for the Program is available from such
+            Contributor, and informs licensees how to obtain it in a
+            reasonable manner on or through a medium customarily used for
+            software exchange.
+
+    When the Program is made available in source code form:
+
+    a) it must be made available under this Agreement; and
+
+    b) a copy of this Agreement must be included with each copy of the
+       Program.
+
+    Contributors may not remove or alter any copyright notices contained
+    within the Program.
+
+    Each Contributor must identify itself as the originator of its
+    Contribution, if any, in a manner that reasonably allows subsequent
+    Recipients to identify the originator of the Contribution.
+
+    4. COMMERCIAL DISTRIBUTION
+
+    Commercial distributors of software may accept certain responsibilities
+    with respect to end users, business partners and the like. While this
+    license is intended to facilitate the commercial use of the Program,
+    the Contributor who includes the Program in a commercial product offering
+    should do so in a manner which does not create potential liability for
+    other Contributors. Therefore, if a Contributor includes the Program in
+    a commercial product offering, such Contributor ("Commercial Contributor")
+    hereby agrees to defend and indemnify every other Contributor
+    ("Indemnified Contributor") against any losses, damages and costs
+    (collectively "Losses") arising from claims, lawsuits and other legal
+    actions brought by a third party against the Indemnified Contributor to
+    the extent caused by the acts or omissions of such Commercial Contributor
+    in connection with its distribution of the Program in a commercial
+    product offering. The obligations in this section do not apply to any
+    claims or Losses relating to any actual or alleged intellectual property
+    infringement. In order to qualify, an Indemnified Contributor must:
+    a) promptly notify the Commercial Contributor in writing of such claim,
+    and b) allow the Commercial Contributor to control, and cooperate with
+    the Commercial Contributor in, the defense and any related settlement
+    negotiations. The Indemnified Contributor may participate in any such
+    claim at its own expense.
+
+    For example, a Contributor might include the Program in a commercial
+    product offering, Product X. That Contributor is then a Commercial
+    Contributor. If that Commercial Contributor then makes performance claims,
+    or offers warranties related to Product X, those performance claims and
+    warranties are such Commercial Contributor's responsibility alone. Under
+    this section, the Commercial Contributor would have to defend claims
+    against the other Contributors related to those performance claims and
+    warranties, and if a court requires any other Contributor to pay any
+    damages as a result, the Commercial Contributor must pay those damages.
+
+    5. NO WARRANTY
+
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
+    ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
+    EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
+    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
+    PARTICULAR PURPOSE. Each Recipient is solely responsible for determining
+    the appropriateness of using and distributing the Program and assumes all
+    risks associated with its exercise of rights under this Agreement ,
+    including but not limited to the risks and costs of program errors,
+    compliance with applicable laws, damage to or loss of data, programs or
+    equipment, and unavailability or interruption of operations.
+
+    6. DISCLAIMER OF LIABILITY
+
+    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
+    ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+    WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+    DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+    HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+    7. GENERAL
+
+    If any provision of this Agreement is invalid or unenforceable under
+    applicable law, it shall not affect the validity or enforceability of
+    the remainder of the terms of this Agreement, and without further action
+    by the parties hereto, such provision shall be reformed to the minimum
+    extent necessary to make such provision valid and enforceable.
+
+    If Recipient institutes patent litigation against any entity (including
+    a cross-claim or counterclaim in a lawsuit) alleging that the Program
+    itself (excluding combinations of the Program with other software or
+    hardware) infringes such Recipient's patent(s), then such Recipient's
+    rights granted under Section 2(b) shall terminate as of the date such
+    litigation is filed.
+
+    All Recipient's rights under this Agreement shall terminate if it fails
+    to comply with any of the material terms or conditions of this Agreement
+    and does not cure such failure in a reasonable period of time after
+    becoming aware of such noncompliance. If all Recipient's rights under
+    this Agreement terminate, Recipient agrees to cease use and distribution
+    of the Program as soon as reasonably practicable. However, Recipient's
+    obligations under this Agreement and any licenses granted by Recipient
+    relating to the Program shall continue and survive.
+
+    Everyone is permitted to copy and distribute copies of this Agreement,
+    but in order to avoid inconsistency the Agreement is copyrighted and may
+    only be modified in the following manner. The Agreement Steward reserves
+    the right to publish new versions (including revisions) of this Agreement
+    from time to time. No one other than the Agreement Steward has the right
+    to modify this Agreement. The Eclipse Foundation is the initial Agreement
+    Steward. The Eclipse Foundation may assign the responsibility to serve as
+    the Agreement Steward to a suitable separate entity. Each new version of
+    the Agreement will be given a distinguishing version number. The Program
+    (including Contributions) may always be distributed subject to the version
+    of the Agreement under which it was received. In addition, after a new
+    version of the Agreement is published, Contributor may elect to distribute
+    the Program (including its Contributions) under the new version. Except as
+    expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+    rights or licenses to the intellectual property of any Contributor under
+    this Agreement, whether expressly, by implication, estoppel or otherwise.
+    All rights in the Program not expressly granted unde

<TRUNCATED>

[20/31] AIRAVATA-1144

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4903770b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
new file mode 100644
index 0000000..3bd2fc4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
@@ -0,0 +1,6268 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "Airavata.h"
+
+namespace airavata { namespace api {
+
+uint32_t Airavata_GetAPIVersion_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;
+
+
+  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 Airavata_GetAPIVersion_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_GetAPIVersion_args");
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_GetAPIVersion_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_GetAPIVersion_pargs");
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_GetAPIVersion_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_STRING) {
+          xfer += iprot->readString(this->success);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_GetAPIVersion_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_GetAPIVersion_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+    xfer += oprot->writeString(this->success);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_GetAPIVersion_presult::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_STRING) {
+          xfer += iprot->readString((*(this->success)));
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_createProject_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_project = false;
+  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_STRUCT) {
+          xfer += this->project.read(iprot);
+          isset_project = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->userName);
+          isset_userName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_project)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_createProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_createProject_args");
+
+  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->project.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_createProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_createProject_pargs");
+
+  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->project)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->userName)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_createProject_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_STRING) {
+          xfer += iprot->readString(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_createProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_createProject_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+    xfer += oprot->writeString(this->success);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_createProject_presult::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_STRING) {
+          xfer += iprot->readString((*(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_updateProject_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_project = 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->project.read(iprot);
+          isset_project = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_project)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_updateProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_updateProject_args");
+
+  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->project.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_updateProject_pargs");
+
+  xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->project)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateProject_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 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_updateProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_updateProject_result");
+
+  if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateProject_presult::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_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_getProject_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_projectId = 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;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_projectId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_getProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getProject_args");
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->projectId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getProject_pargs");
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->projectId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getProject_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_STRUCT) {
+          xfer += this->success.read(iprot);
+          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_getProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_getProject_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+    xfer += this->success.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getProject_presult::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_STRUCT) {
+          xfer += (*(this->success)).read(iprot);
+          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_getAllUserProjects_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_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;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_getAllUserProjects_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_args");
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getAllUserProjects_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_pargs");
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->userName)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getAllUserProjects_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_LIST) {
+          {
+            this->success.clear();
+            uint32_t _size0;
+            ::apache::thrift::protocol::TType _etype3;
+            xfer += iprot->readListBegin(_etype3, _size0);
+            this->success.resize(_size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              xfer += this->success[_i4].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          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_getAllUserProjects_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+      std::vector< ::Project> ::const_iterator _iter5;
+      for (_iter5 = this->success.begin(); _iter5 != this->success.end(); ++_iter5)
+      {
+        xfer += (*_iter5).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getAllUserProjects_presult::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_LIST) {
+          {
+            (*(this->success)).clear();
+            uint32_t _size6;
+            ::apache::thrift::protocol::TType _etype9;
+            xfer += iprot->readListBegin(_etype9, _size6);
+            (*(this->success)).resize(_size6);
+            uint32_t _i10;
+            for (_i10 = 0; _i10 < _size6; ++_i10)
+            {
+              xfer += (*(this->success))[_i10].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          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_getAllExperimentsInProject_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_projectId = 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;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_projectId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_getAllExperimentsInProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_args");
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->projectId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getAllExperimentsInProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_pargs");
+
+  xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->projectId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getAllExperimentsInProject_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_LIST) {
+          {
+            this->success.clear();
+            uint32_t _size11;
+            ::apache::thrift::protocol::TType _etype14;
+            xfer += iprot->readListBegin(_etype14, _size11);
+            this->success.resize(_size11);
+            uint32_t _i15;
+            for (_i15 = 0; _i15 < _size11; ++_i15)
+            {
+              xfer += this->success[_i15].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          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_getAllExperimentsInProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+      std::vector< ::Experiment> ::const_iterator _iter16;
+      for (_iter16 = this->success.begin(); _iter16 != this->success.end(); ++_iter16)
+      {
+        xfer += (*_iter16).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getAllExperimentsInProject_presult::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_LIST) {
+          {
+            (*(this->success)).clear();
+            uint32_t _size17;
+            ::apache::thrift::protocol::TType _etype20;
+            xfer += iprot->readListBegin(_etype20, _size17);
+            (*(this->success)).resize(_size17);
+            uint32_t _i21;
+            for (_i21 = 0; _i21 < _size17; ++_i21)
+            {
+              xfer += (*(this->success))[_i21].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          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_getAllUserExperiments_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_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;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_userName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_getAllUserExperiments_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_args");
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->userName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getAllUserExperiments_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_pargs");
+
+  xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->userName)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getAllUserExperiments_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_LIST) {
+          {
+            this->success.clear();
+            uint32_t _size22;
+            ::apache::thrift::protocol::TType _etype25;
+            xfer += iprot->readListBegin(_etype25, _size22);
+            this->success.resize(_size22);
+            uint32_t _i26;
+            for (_i26 = 0; _i26 < _size22; ++_i26)
+            {
+              xfer += this->success[_i26].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          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_getAllUserExperiments_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+      std::vector< ::Experiment> ::const_iterator _iter27;
+      for (_iter27 = this->success.begin(); _iter27 != this->success.end(); ++_iter27)
+      {
+        xfer += (*_iter27).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getAllUserExperiments_presult::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_LIST) {
+          {
+            (*(this->success)).clear();
+            uint32_t _size28;
+            ::apache::thrift::protocol::TType _etype31;
+            xfer += iprot->readListBegin(_etype31, _size28);
+            (*(this->success)).resize(_size28);
+            uint32_t _i32;
+            for (_i32 = 0; _i32 < _size28; ++_i32)
+            {
+              xfer += (*(this->success))[_i32].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          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_createExperiment_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_experiment = 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->experiment.read(iprot);
+          isset_experiment = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_experiment)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_createExperiment_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_createExperiment_args");
+
+  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->experiment.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_createExperiment_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_createExperiment_pargs");
+
+  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->experiment)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_createExperiment_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_STRING) {
+          xfer += iprot->readString(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_createExperiment_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_createExperiment_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+    xfer += oprot->writeString(this->success);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_createExperiment_presult::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_STRING) {
+          xfer += iprot->readString((*(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_getExperiment_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_airavataExperimentId = 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->airavataExperimentId);
+          isset_airavataExperimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_airavataExperimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_getExperiment_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getExperiment_args");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->airavataExperimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getExperiment_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getExperiment_pargs");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->airavataExperimentId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getExperiment_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_STRUCT) {
+          xfer += this->success.read(iprot);
+          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->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        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_getExperiment_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_getExperiment_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+    xfer += this->success.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.enf) {
+    xfer += oprot->writeFieldBegin("enf", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->enf.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getExperiment_presult::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_STRUCT) {
+          xfer += (*(this->success)).read(iprot);
+          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->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        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_updateExperiment_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_airavataExperimentId = false;
+  bool isset_experiment = 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->airavataExperimentId);
+          isset_airavataExperimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->experiment.read(iprot);
+          isset_experiment = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_airavataExperimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_experiment)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_updateExperiment_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_updateExperiment_args");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->airavataExperimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->experiment.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateExperiment_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_updateExperiment_pargs");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->airavataExperimentId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("experiment", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += (*(this->experiment)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateExperiment_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 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->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        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_updateExperiment_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_updateExperiment_result");
+
+  if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.enf) {
+    xfer += oprot->writeFieldBegin("enf", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->enf.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateExperiment_presult::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_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->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        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_updateExperimentConfiguration_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_airavataExperimentId = false;
+  bool isset_userConfiguration = 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->airavataExperimentId);
+          isset_airavataExperimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->userConfiguration.read(iprot);
+          isset_userConfiguration = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_airavataExperimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_userConfiguration)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_updateExperimentConfiguration_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_updateExperimentConfiguration_args");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->airavataExperimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userConfiguration", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->userConfiguration.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateExperimentConfiguration_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_updateExperimentConfiguration_pargs");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->airavataExperimentId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("userConfiguration", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += (*(this->userConfiguration)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateExperimentConfiguration_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;
+    }
+    xfer += iprot->skip(ftype);
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_updateExperimentConfiguration_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_updateExperimentConfiguration_result");
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateExperimentConfiguration_presult::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 Airavata_updateResourceScheduleing_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_airavataExperimentId = false;
+  bool isset_resourceScheduling = 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->airavataExperimentId);
+          isset_airavataExperimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->resourceScheduling.read(iprot);
+          isset_resourceScheduling = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_airavataExperimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_resourceScheduling)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_updateResourceScheduleing_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_updateResourceScheduleing_args");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->airavataExperimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("resourceScheduling", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->resourceScheduling.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateResourceScheduleing_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_updateResourceScheduleing_pargs");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->airavataExperimentId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("resourceScheduling", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += (*(this->resourceScheduling)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateResourceScheduleing_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;
+    }
+    xfer += iprot->skip(ftype);
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_updateResourceScheduleing_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_updateResourceScheduleing_result");
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_updateResourceScheduleing_presult::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 Airavata_launchExperiment_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_airavataExperimentId = false;
+  bool isset_airavataCredStoreToken = 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->airavataExperimentId);
+          isset_airavataExperimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->airavataCredStoreToken);
+          isset_airavataCredStoreToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_airavataExperimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_airavataCredStoreToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_launchExperiment_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_launchExperiment_args");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->airavataExperimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("airavataCredStoreToken", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->airavataCredStoreToken);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_launchExperiment_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_launchExperiment_pargs");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->airavataExperimentId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("airavataCredStoreToken", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->airavataCredStoreToken)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_launchExperiment_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 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->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        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_launchExperiment_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_launchExperiment_result");
+
+  if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.enf) {
+    xfer += oprot->writeFieldBegin("enf", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->enf.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_launchExperiment_presult::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_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->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        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_getExperimentStatus_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_airavataExperimentId = 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->airavataExperimentId);
+          isset_airavataExperimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_airavataExperimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_getExperimentStatus_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getExperimentStatus_args");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->airavataExperimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getExperimentStatus_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("Airavata_getExperimentStatus_pargs");
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->airavataExperimentId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getExperimentStatus_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_STRUCT) {
+          xfer += this->success.read(iprot);
+          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->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        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_getExperimentStatus_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_getExperimentStatus_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+    xfer += this->success.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.enf) {
+    xfer += oprot->writeFieldBegin("enf", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->enf.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t Airavata_getExperimentStatus_presult::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_STRUCT) {
+          xfer += (*(this->success)).read(iprot);
+          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->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        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_getExperimentOutputs_args::read(::apache::thrift::protocol::TP

<TRUNCATED>

[30/31] git commit: AIRAVATA-1143

Posted by sa...@apache.org.
AIRAVATA-1143


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

Branch: refs/heads/master
Commit: 03e40302a73f9e2038357902c863914551d78f9a
Parents: 4903770
Author: Saminda Wijeratne <sa...@gmail.com>
Authored: Wed Apr 16 19:15:13 2014 -0700
Committer: Saminda Wijeratne <sa...@gmail.com>
Committed: Wed Apr 16 19:15:13 2014 -0700

----------------------------------------------------------------------
 airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/03e40302/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml b/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml
index 549cdb7..1c25bd3 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/pom.xml
@@ -18,7 +18,7 @@
 
     <modelVersion>4.0.0</modelVersion>
     <artifactId>apache-airavata-client-php-sdk</artifactId>
-    <name>Airavata Client Java Distribution</name>
+    <name>Airavata Client PHP SDK</name>
     <packaging>pom</packaging>
     <url>http://airavata.apache.org/</url>