http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/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
deleted file mode 100644
index 3ad3bf7..0000000
--- 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/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/b61cfcd3/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
deleted file mode 100644
index e1610cb..0000000
--- 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/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/b61cfcd3/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
deleted file mode 100644
index 2e44366..0000000
--- 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/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/b61cfcd3/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
deleted file mode 100644
index 681c45c..0000000
--- 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/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/b61cfcd3/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
deleted file mode 100644
index c1cf228..0000000
--- 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/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/b61cfcd3/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
deleted file mode 100644
index 3a35545..0000000
--- 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/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/b61cfcd3/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/__init__.py
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/__init__.py
 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/__init__.py
index adefd8e..e69de29 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/__init__.py
+++ 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/__init__.py
@@ -1 +0,0 @@
-__all__ = ['ttypes', 'constants']

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

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

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

http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/metadata/ttypes.py
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/metadata/ttypes.py
 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/metadata/ttypes.py
new file mode 100644
index 0000000..b50ac94
--- /dev/null
+++ 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/metadata/ttypes.py
@@ -0,0 +1,232 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, 
TApplicationException
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class MetadataType:
+  FILE = 0
+  COLLECTION = 1
+
+  _VALUES_TO_NAMES = {
+    0: "FILE",
+    1: "COLLECTION",
+  }
+
+  _NAMES_TO_VALUES = {
+    "FILE": 0,
+    "COLLECTION": 1,
+  }
+
+
+class MetadataModel:
+  """
+  Attributes:
+   - metadataId
+   - gatewayId
+   - username
+   - sharedUsers
+   - sharedPublic
+   - userFriendlyName
+   - userFriendlyDescription
+   - metadataType
+   - associatedEntityId
+   - customInformation
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'metadataId', None, None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
+    (3, TType.STRING, 'username', None, None, ), # 3
+    (4, TType.LIST, 'sharedUsers', (TType.STRING,None), None, ), # 4
+    (5, TType.BOOL, 'sharedPublic', None, None, ), # 5
+    (6, TType.STRING, 'userFriendlyName', None, None, ), # 6
+    (7, TType.STRING, 'userFriendlyDescription', None, None, ), # 7
+    (8, TType.I32, 'metadataType', None, None, ), # 8
+    (9, TType.STRING, 'associatedEntityId', None, None, ), # 9
+    (10, TType.MAP, 'customInformation', 
(TType.STRING,None,TType.STRING,None), None, ), # 10
+  )
+
+  def __init__(self, metadataId=None, gatewayId=None, username=None, 
sharedUsers=None, sharedPublic=None, userFriendlyName=None, 
userFriendlyDescription=None, metadataType=None, associatedEntityId=None, 
customInformation=None,):
+    self.metadataId = metadataId
+    self.gatewayId = gatewayId
+    self.username = username
+    self.sharedUsers = sharedUsers
+    self.sharedPublic = sharedPublic
+    self.userFriendlyName = userFriendlyName
+    self.userFriendlyDescription = userFriendlyDescription
+    self.metadataType = metadataType
+    self.associatedEntityId = associatedEntityId
+    self.customInformation = customInformation
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is 
not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, 
self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.metadataId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.gatewayId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.username = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.LIST:
+          self.sharedUsers = []
+          (_etype3, _size0) = iprot.readListBegin()
+          for _i4 in xrange(_size0):
+            _elem5 = iprot.readString()
+            self.sharedUsers.append(_elem5)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.BOOL:
+          self.sharedPublic = iprot.readBool()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.userFriendlyName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRING:
+          self.userFriendlyDescription = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.I32:
+          self.metadataType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRING:
+          self.associatedEntityId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.MAP:
+          self.customInformation = {}
+          (_ktype7, _vtype8, _size6 ) = iprot.readMapBegin()
+          for _i10 in xrange(_size6):
+            _key11 = iprot.readString()
+            _val12 = iprot.readString()
+            self.customInformation[_key11] = _val12
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, 
self.thrift_spec)))
+      return
+    oprot.writeStructBegin('MetadataModel')
+    if self.metadataId is not None:
+      oprot.writeFieldBegin('metadataId', TType.STRING, 1)
+      oprot.writeString(self.metadataId)
+      oprot.writeFieldEnd()
+    if self.gatewayId is not None:
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+      oprot.writeString(self.gatewayId)
+      oprot.writeFieldEnd()
+    if self.username is not None:
+      oprot.writeFieldBegin('username', TType.STRING, 3)
+      oprot.writeString(self.username)
+      oprot.writeFieldEnd()
+    if self.sharedUsers is not None:
+      oprot.writeFieldBegin('sharedUsers', TType.LIST, 4)
+      oprot.writeListBegin(TType.STRING, len(self.sharedUsers))
+      for iter13 in self.sharedUsers:
+        oprot.writeString(iter13)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.sharedPublic is not None:
+      oprot.writeFieldBegin('sharedPublic', TType.BOOL, 5)
+      oprot.writeBool(self.sharedPublic)
+      oprot.writeFieldEnd()
+    if self.userFriendlyName is not None:
+      oprot.writeFieldBegin('userFriendlyName', TType.STRING, 6)
+      oprot.writeString(self.userFriendlyName)
+      oprot.writeFieldEnd()
+    if self.userFriendlyDescription is not None:
+      oprot.writeFieldBegin('userFriendlyDescription', TType.STRING, 7)
+      oprot.writeString(self.userFriendlyDescription)
+      oprot.writeFieldEnd()
+    if self.metadataType is not None:
+      oprot.writeFieldBegin('metadataType', TType.I32, 8)
+      oprot.writeI32(self.metadataType)
+      oprot.writeFieldEnd()
+    if self.associatedEntityId is not None:
+      oprot.writeFieldBegin('associatedEntityId', TType.STRING, 9)
+      oprot.writeString(self.associatedEntityId)
+      oprot.writeFieldEnd()
+    if self.customInformation is not None:
+      oprot.writeFieldBegin('customInformation', TType.MAP, 10)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, 
len(self.customInformation))
+      for kiter14,viter15 in self.customInformation.items():
+        oprot.writeString(kiter14)
+        oprot.writeString(viter15)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.metadataId)
+    value = (value * 31) ^ hash(self.gatewayId)
+    value = (value * 31) ^ hash(self.username)
+    value = (value * 31) ^ hash(self.sharedUsers)
+    value = (value * 31) ^ hash(self.sharedPublic)
+    value = (value * 31) ^ hash(self.userFriendlyName)
+    value = (value * 31) ^ hash(self.userFriendlyDescription)
+    value = (value * 31) ^ hash(self.metadataType)
+    value = (value * 31) ^ hash(self.associatedEntityId)
+    value = (value * 31) ^ hash(self.customInformation)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == 
other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

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

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

http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/replica/ttypes.py
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/replica/ttypes.py
 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/replica/ttypes.py
new file mode 100644
index 0000000..0abb029
--- /dev/null
+++ 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/replica/ttypes.py
@@ -0,0 +1,663 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, 
TApplicationException
+import apache.airavata.model.data.movement.ttypes
+
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class FileModelType:
+  FILE = 0
+  DIRECTORY = 1
+
+  _VALUES_TO_NAMES = {
+    0: "FILE",
+    1: "DIRECTORY",
+  }
+
+  _NAMES_TO_VALUES = {
+    "FILE": 0,
+    "DIRECTORY": 1,
+  }
+
+class StorageResourceType:
+  GATEWAY_DATA_STORE = 0
+  BACKUP_GATEWAY_DATA_STORE = 1
+  COMPUTE_RESOURCE = 2
+  LONG_TERM_STORAGE_RESOURCE = 3
+  OTHER = 4
+
+  _VALUES_TO_NAMES = {
+    0: "GATEWAY_DATA_STORE",
+    1: "BACKUP_GATEWAY_DATA_STORE",
+    2: "COMPUTE_RESOURCE",
+    3: "LONG_TERM_STORAGE_RESOURCE",
+    4: "OTHER",
+  }
+
+  _NAMES_TO_VALUES = {
+    "GATEWAY_DATA_STORE": 0,
+    "BACKUP_GATEWAY_DATA_STORE": 1,
+    "COMPUTE_RESOURCE": 2,
+    "LONG_TERM_STORAGE_RESOURCE": 3,
+    "OTHER": 4,
+  }
+
+class ReplicaPersistentType:
+  TRANSIENT = 0
+  PERSISTENT = 1
+
+  _VALUES_TO_NAMES = {
+    0: "TRANSIENT",
+    1: "PERSISTENT",
+  }
+
+  _NAMES_TO_VALUES = {
+    "TRANSIENT": 0,
+    "PERSISTENT": 1,
+  }
+
+
+class FileCollectionModel:
+  """
+  Attributes:
+   - collectionId
+   - gatewayId
+   - username
+   - sharedUsers
+   - sharedPublic
+   - collectionName
+   - collectionDescription
+   - fileIdList
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'collectionId', None, None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
+    (3, TType.STRING, 'username', None, None, ), # 3
+    (4, TType.LIST, 'sharedUsers', (TType.STRING,None), None, ), # 4
+    (5, TType.BOOL, 'sharedPublic', None, None, ), # 5
+    (6, TType.STRING, 'collectionName', None, None, ), # 6
+    (7, TType.STRING, 'collectionDescription', None, None, ), # 7
+    (8, TType.LIST, 'fileIdList', (TType.STRING,None), None, ), # 8
+  )
+
+  def __init__(self, collectionId=None, gatewayId=None, username=None, 
sharedUsers=None, sharedPublic=None, collectionName=None, 
collectionDescription=None, fileIdList=None,):
+    self.collectionId = collectionId
+    self.gatewayId = gatewayId
+    self.username = username
+    self.sharedUsers = sharedUsers
+    self.sharedPublic = sharedPublic
+    self.collectionName = collectionName
+    self.collectionDescription = collectionDescription
+    self.fileIdList = fileIdList
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is 
not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, 
self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.collectionId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.gatewayId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.username = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.LIST:
+          self.sharedUsers = []
+          (_etype3, _size0) = iprot.readListBegin()
+          for _i4 in xrange(_size0):
+            _elem5 = iprot.readString()
+            self.sharedUsers.append(_elem5)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.BOOL:
+          self.sharedPublic = iprot.readBool()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.collectionName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRING:
+          self.collectionDescription = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.LIST:
+          self.fileIdList = []
+          (_etype9, _size6) = iprot.readListBegin()
+          for _i10 in xrange(_size6):
+            _elem11 = iprot.readString()
+            self.fileIdList.append(_elem11)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, 
self.thrift_spec)))
+      return
+    oprot.writeStructBegin('FileCollectionModel')
+    if self.collectionId is not None:
+      oprot.writeFieldBegin('collectionId', TType.STRING, 1)
+      oprot.writeString(self.collectionId)
+      oprot.writeFieldEnd()
+    if self.gatewayId is not None:
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+      oprot.writeString(self.gatewayId)
+      oprot.writeFieldEnd()
+    if self.username is not None:
+      oprot.writeFieldBegin('username', TType.STRING, 3)
+      oprot.writeString(self.username)
+      oprot.writeFieldEnd()
+    if self.sharedUsers is not None:
+      oprot.writeFieldBegin('sharedUsers', TType.LIST, 4)
+      oprot.writeListBegin(TType.STRING, len(self.sharedUsers))
+      for iter12 in self.sharedUsers:
+        oprot.writeString(iter12)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.sharedPublic is not None:
+      oprot.writeFieldBegin('sharedPublic', TType.BOOL, 5)
+      oprot.writeBool(self.sharedPublic)
+      oprot.writeFieldEnd()
+    if self.collectionName is not None:
+      oprot.writeFieldBegin('collectionName', TType.STRING, 6)
+      oprot.writeString(self.collectionName)
+      oprot.writeFieldEnd()
+    if self.collectionDescription is not None:
+      oprot.writeFieldBegin('collectionDescription', TType.STRING, 7)
+      oprot.writeString(self.collectionDescription)
+      oprot.writeFieldEnd()
+    if self.fileIdList is not None:
+      oprot.writeFieldBegin('fileIdList', TType.LIST, 8)
+      oprot.writeListBegin(TType.STRING, len(self.fileIdList))
+      for iter13 in self.fileIdList:
+        oprot.writeString(iter13)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.collectionId)
+    value = (value * 31) ^ hash(self.gatewayId)
+    value = (value * 31) ^ hash(self.username)
+    value = (value * 31) ^ hash(self.sharedUsers)
+    value = (value * 31) ^ hash(self.sharedPublic)
+    value = (value * 31) ^ hash(self.collectionName)
+    value = (value * 31) ^ hash(self.collectionDescription)
+    value = (value * 31) ^ hash(self.fileIdList)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == 
other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class FileModel:
+  """
+  Attributes:
+   - fileId
+   - gatewayId
+   - username
+   - sharedUsers
+   - sharedPublic
+   - fileName
+   - fileDescription
+   - sha256Checksum
+   - fileType
+   - fileSize
+   - nativeFormat
+   - creationTime
+   - lastModifiedTime
+   - fileReplicas
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'fileId', None, None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
+    (3, TType.STRING, 'username', None, None, ), # 3
+    (4, TType.LIST, 'sharedUsers', (TType.STRING,None), None, ), # 4
+    (5, TType.BOOL, 'sharedPublic', None, None, ), # 5
+    (6, TType.STRING, 'fileName', None, None, ), # 6
+    (7, TType.STRING, 'fileDescription', None, None, ), # 7
+    (8, TType.STRING, 'sha256Checksum', None, None, ), # 8
+    (9, TType.I32, 'fileType', None, None, ), # 9
+    (10, TType.I32, 'fileSize', None, None, ), # 10
+    (11, TType.STRING, 'nativeFormat', None, None, ), # 11
+    (12, TType.I64, 'creationTime', None, None, ), # 12
+    (13, TType.I64, 'lastModifiedTime', None, None, ), # 13
+    (14, TType.LIST, 'fileReplicas', (TType.STRUCT,(FileReplicaModel, 
FileReplicaModel.thrift_spec)), None, ), # 14
+  )
+
+  def __init__(self, fileId=None, gatewayId=None, username=None, 
sharedUsers=None, sharedPublic=None, fileName=None, fileDescription=None, 
sha256Checksum=None, fileType=None, fileSize=None, nativeFormat=None, 
creationTime=None, lastModifiedTime=None, fileReplicas=None,):
+    self.fileId = fileId
+    self.gatewayId = gatewayId
+    self.username = username
+    self.sharedUsers = sharedUsers
+    self.sharedPublic = sharedPublic
+    self.fileName = fileName
+    self.fileDescription = fileDescription
+    self.sha256Checksum = sha256Checksum
+    self.fileType = fileType
+    self.fileSize = fileSize
+    self.nativeFormat = nativeFormat
+    self.creationTime = creationTime
+    self.lastModifiedTime = lastModifiedTime
+    self.fileReplicas = fileReplicas
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is 
not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, 
self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.fileId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.gatewayId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.username = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.LIST:
+          self.sharedUsers = []
+          (_etype17, _size14) = iprot.readListBegin()
+          for _i18 in xrange(_size14):
+            _elem19 = iprot.readString()
+            self.sharedUsers.append(_elem19)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.BOOL:
+          self.sharedPublic = iprot.readBool()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.fileName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRING:
+          self.fileDescription = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.sha256Checksum = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.I32:
+          self.fileType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.I32:
+          self.fileSize = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.STRING:
+          self.nativeFormat = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
+        if ftype == TType.I64:
+          self.lastModifiedTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 14:
+        if ftype == TType.LIST:
+          self.fileReplicas = []
+          (_etype23, _size20) = iprot.readListBegin()
+          for _i24 in xrange(_size20):
+            _elem25 = FileReplicaModel()
+            _elem25.read(iprot)
+            self.fileReplicas.append(_elem25)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, 
self.thrift_spec)))
+      return
+    oprot.writeStructBegin('FileModel')
+    if self.fileId is not None:
+      oprot.writeFieldBegin('fileId', TType.STRING, 1)
+      oprot.writeString(self.fileId)
+      oprot.writeFieldEnd()
+    if self.gatewayId is not None:
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+      oprot.writeString(self.gatewayId)
+      oprot.writeFieldEnd()
+    if self.username is not None:
+      oprot.writeFieldBegin('username', TType.STRING, 3)
+      oprot.writeString(self.username)
+      oprot.writeFieldEnd()
+    if self.sharedUsers is not None:
+      oprot.writeFieldBegin('sharedUsers', TType.LIST, 4)
+      oprot.writeListBegin(TType.STRING, len(self.sharedUsers))
+      for iter26 in self.sharedUsers:
+        oprot.writeString(iter26)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.sharedPublic is not None:
+      oprot.writeFieldBegin('sharedPublic', TType.BOOL, 5)
+      oprot.writeBool(self.sharedPublic)
+      oprot.writeFieldEnd()
+    if self.fileName is not None:
+      oprot.writeFieldBegin('fileName', TType.STRING, 6)
+      oprot.writeString(self.fileName)
+      oprot.writeFieldEnd()
+    if self.fileDescription is not None:
+      oprot.writeFieldBegin('fileDescription', TType.STRING, 7)
+      oprot.writeString(self.fileDescription)
+      oprot.writeFieldEnd()
+    if self.sha256Checksum is not None:
+      oprot.writeFieldBegin('sha256Checksum', TType.STRING, 8)
+      oprot.writeString(self.sha256Checksum)
+      oprot.writeFieldEnd()
+    if self.fileType is not None:
+      oprot.writeFieldBegin('fileType', TType.I32, 9)
+      oprot.writeI32(self.fileType)
+      oprot.writeFieldEnd()
+    if self.fileSize is not None:
+      oprot.writeFieldBegin('fileSize', TType.I32, 10)
+      oprot.writeI32(self.fileSize)
+      oprot.writeFieldEnd()
+    if self.nativeFormat is not None:
+      oprot.writeFieldBegin('nativeFormat', TType.STRING, 11)
+      oprot.writeString(self.nativeFormat)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 12)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.lastModifiedTime is not None:
+      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 13)
+      oprot.writeI64(self.lastModifiedTime)
+      oprot.writeFieldEnd()
+    if self.fileReplicas is not None:
+      oprot.writeFieldBegin('fileReplicas', TType.LIST, 14)
+      oprot.writeListBegin(TType.STRUCT, len(self.fileReplicas))
+      for iter27 in self.fileReplicas:
+        iter27.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.fileId)
+    value = (value * 31) ^ hash(self.gatewayId)
+    value = (value * 31) ^ hash(self.username)
+    value = (value * 31) ^ hash(self.sharedUsers)
+    value = (value * 31) ^ hash(self.sharedPublic)
+    value = (value * 31) ^ hash(self.fileName)
+    value = (value * 31) ^ hash(self.fileDescription)
+    value = (value * 31) ^ hash(self.sha256Checksum)
+    value = (value * 31) ^ hash(self.fileType)
+    value = (value * 31) ^ hash(self.fileSize)
+    value = (value * 31) ^ hash(self.nativeFormat)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.lastModifiedTime)
+    value = (value * 31) ^ hash(self.fileReplicas)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == 
other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class FileReplicaModel:
+  """
+  Attributes:
+   - replicaName
+   - replicaDescription
+   - storageHostname
+   - storageResourceId
+   - filePath
+   - creationTime
+   - validUntilTime
+   - storageResourceType
+   - replicaPersistentType
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'replicaName', None, None, ), # 1
+    (2, TType.STRING, 'replicaDescription', None, None, ), # 2
+    (3, TType.STRING, 'storageHostname', None, None, ), # 3
+    (4, TType.STRING, 'storageResourceId', None, None, ), # 4
+    (5, TType.STRING, 'filePath', None, None, ), # 5
+    (6, TType.I64, 'creationTime', None, None, ), # 6
+    (7, TType.I64, 'validUntilTime', None, None, ), # 7
+    (8, TType.I32, 'storageResourceType', None, None, ), # 8
+    (9, TType.I32, 'replicaPersistentType', None, None, ), # 9
+  )
+
+  def __init__(self, replicaName=None, replicaDescription=None, 
storageHostname=None, storageResourceId=None, filePath=None, creationTime=None, 
validUntilTime=None, storageResourceType=None, replicaPersistentType=None,):
+    self.replicaName = replicaName
+    self.replicaDescription = replicaDescription
+    self.storageHostname = storageHostname
+    self.storageResourceId = storageResourceId
+    self.filePath = filePath
+    self.creationTime = creationTime
+    self.validUntilTime = validUntilTime
+    self.storageResourceType = storageResourceType
+    self.replicaPersistentType = replicaPersistentType
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is 
not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, 
self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.replicaName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.replicaDescription = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.storageHostname = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.storageResourceId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.filePath = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.I64:
+          self.validUntilTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.I32:
+          self.storageResourceType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.I32:
+          self.replicaPersistentType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, 
self.thrift_spec)))
+      return
+    oprot.writeStructBegin('FileReplicaModel')
+    if self.replicaName is not None:
+      oprot.writeFieldBegin('replicaName', TType.STRING, 1)
+      oprot.writeString(self.replicaName)
+      oprot.writeFieldEnd()
+    if self.replicaDescription is not None:
+      oprot.writeFieldBegin('replicaDescription', TType.STRING, 2)
+      oprot.writeString(self.replicaDescription)
+      oprot.writeFieldEnd()
+    if self.storageHostname is not None:
+      oprot.writeFieldBegin('storageHostname', TType.STRING, 3)
+      oprot.writeString(self.storageHostname)
+      oprot.writeFieldEnd()
+    if self.storageResourceId is not None:
+      oprot.writeFieldBegin('storageResourceId', TType.STRING, 4)
+      oprot.writeString(self.storageResourceId)
+      oprot.writeFieldEnd()
+    if self.filePath is not None:
+      oprot.writeFieldBegin('filePath', TType.STRING, 5)
+      oprot.writeString(self.filePath)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 6)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.validUntilTime is not None:
+      oprot.writeFieldBegin('validUntilTime', TType.I64, 7)
+      oprot.writeI64(self.validUntilTime)
+      oprot.writeFieldEnd()
+    if self.storageResourceType is not None:
+      oprot.writeFieldBegin('storageResourceType', TType.I32, 8)
+      oprot.writeI32(self.storageResourceType)
+      oprot.writeFieldEnd()
+    if self.replicaPersistentType is not None:
+      oprot.writeFieldBegin('replicaPersistentType', TType.I32, 9)
+      oprot.writeI32(self.replicaPersistentType)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.replicaName)
+    value = (value * 31) ^ hash(self.replicaDescription)
+    value = (value * 31) ^ hash(self.storageHostname)
+    value = (value * 31) ^ hash(self.storageResourceId)
+    value = (value * 31) ^ hash(self.filePath)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.validUntilTime)
+    value = (value * 31) ^ hash(self.storageResourceType)
+    value = (value * 31) ^ hash(self.replicaPersistentType)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == 
other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

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

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

http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/transfer/ttypes.py
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/transfer/ttypes.py
 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/transfer/ttypes.py
new file mode 100644
index 0000000..ae35462
--- /dev/null
+++ 
b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/file/transfer/ttypes.py
@@ -0,0 +1,597 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, 
TApplicationException
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class StorageResourceProtocol:
+  SCP = 0
+  SFTP = 1
+  HTTP = 2
+  HTTPS = 3
+  GridFTP = 4
+  LOCAL = 5
+
+  _VALUES_TO_NAMES = {
+    0: "SCP",
+    1: "SFTP",
+    2: "HTTP",
+    3: "HTTPS",
+    4: "GridFTP",
+    5: "LOCAL",
+  }
+
+  _NAMES_TO_VALUES = {
+    "SCP": 0,
+    "SFTP": 1,
+    "HTTP": 2,
+    "HTTPS": 3,
+    "GridFTP": 4,
+    "LOCAL": 5,
+  }
+
+class LSEntryType:
+  DIRECTORY = 0
+  FILE = 1
+
+  _VALUES_TO_NAMES = {
+    0: "DIRECTORY",
+    1: "FILE",
+  }
+
+  _NAMES_TO_VALUES = {
+    "DIRECTORY": 0,
+    "FILE": 1,
+  }
+
+class FileTransferMode:
+  SYNC = 0
+  ASYNC = 1
+
+  _VALUES_TO_NAMES = {
+    0: "SYNC",
+    1: "ASYNC",
+  }
+
+  _NAMES_TO_VALUES = {
+    "SYNC": 0,
+    "ASYNC": 1,
+  }
+
+class FileTransferStatus:
+  CREATED = 0
+  QUEUED = 1
+  RUNNING = 2
+  COMPLETED = 3
+  FAILED = 4
+
+  _VALUES_TO_NAMES = {
+    0: "CREATED",
+    1: "QUEUED",
+    2: "RUNNING",
+    3: "COMPLETED",
+    4: "FAILED",
+  }
+
+  _NAMES_TO_VALUES = {
+    "CREATED": 0,
+    "QUEUED": 1,
+    "RUNNING": 2,
+    "COMPLETED": 3,
+    "FAILED": 4,
+  }
+
+
+class FileTransferRequestModel:
+  """
+  Attributes:
+   - transferId
+   - gatewayId
+   - username
+   - srcHostname
+   - srcLoginName
+   - srcPort
+   - srcProtocol
+   - srcFilePath
+   - srcHostCredToken
+   - destHostname
+   - destLoginName
+   - destPort
+   - destProtocol
+   - destFilePath
+   - destHostCredToken
+   - fileTransferMode
+   - transferStatus
+   - fileSize
+   - transferTime
+   - createdTime
+   - lastModifiedType
+   - callbackEmails
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'transferId', None, None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
+    (3, TType.STRING, 'username', None, None, ), # 3
+    (4, TType.STRING, 'srcHostname', None, None, ), # 4
+    (5, TType.STRING, 'srcLoginName', None, None, ), # 5
+    (6, TType.I64, 'srcPort', None, None, ), # 6
+    (7, TType.I32, 'srcProtocol', None, None, ), # 7
+    (8, TType.STRING, 'srcFilePath', None, None, ), # 8
+    (9, TType.STRING, 'srcHostCredToken', None, None, ), # 9
+    (10, TType.STRING, 'destHostname', None, None, ), # 10
+    (11, TType.STRING, 'destLoginName', None, None, ), # 11
+    (12, TType.I64, 'destPort', None, None, ), # 12
+    (13, TType.I32, 'destProtocol', None, None, ), # 13
+    (14, TType.STRING, 'destFilePath', None, None, ), # 14
+    (15, TType.STRING, 'destHostCredToken', None, None, ), # 15
+    (16, TType.I32, 'fileTransferMode', None, None, ), # 16
+    (17, TType.I32, 'transferStatus', None, None, ), # 17
+    (18, TType.I64, 'fileSize', None, None, ), # 18
+    (19, TType.I64, 'transferTime', None, None, ), # 19
+    (20, TType.I64, 'createdTime', None, None, ), # 20
+    (21, TType.I64, 'lastModifiedType', None, None, ), # 21
+    (22, TType.LIST, 'callbackEmails', (TType.STRING,None), None, ), # 22
+  )
+
+  def __init__(self, transferId=None, gatewayId=None, username=None, 
srcHostname=None, srcLoginName=None, srcPort=None, srcProtocol=None, 
srcFilePath=None, srcHostCredToken=None, destHostname=None, destLoginName=None, 
destPort=None, destProtocol=None, destFilePath=None, destHostCredToken=None, 
fileTransferMode=None, transferStatus=None, fileSize=None, transferTime=None, 
createdTime=None, lastModifiedType=None, callbackEmails=None,):
+    self.transferId = transferId
+    self.gatewayId = gatewayId
+    self.username = username
+    self.srcHostname = srcHostname
+    self.srcLoginName = srcLoginName
+    self.srcPort = srcPort
+    self.srcProtocol = srcProtocol
+    self.srcFilePath = srcFilePath
+    self.srcHostCredToken = srcHostCredToken
+    self.destHostname = destHostname
+    self.destLoginName = destLoginName
+    self.destPort = destPort
+    self.destProtocol = destProtocol
+    self.destFilePath = destFilePath
+    self.destHostCredToken = destHostCredToken
+    self.fileTransferMode = fileTransferMode
+    self.transferStatus = transferStatus
+    self.fileSize = fileSize
+    self.transferTime = transferTime
+    self.createdTime = createdTime
+    self.lastModifiedType = lastModifiedType
+    self.callbackEmails = callbackEmails
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is 
not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, 
self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.transferId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.gatewayId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.username = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.srcHostname = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.srcLoginName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.I64:
+          self.srcPort = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.I32:
+          self.srcProtocol = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.STRING:
+          self.srcFilePath = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRING:
+          self.srcHostCredToken = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.STRING:
+          self.destHostname = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.STRING:
+          self.destLoginName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.I64:
+          self.destPort = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
+        if ftype == TType.I32:
+          self.destProtocol = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 14:
+        if ftype == TType.STRING:
+          self.destFilePath = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 15:
+        if ftype == TType.STRING:
+          self.destHostCredToken = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 16:
+        if ftype == TType.I32:
+          self.fileTransferMode = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 17:
+        if ftype == TType.I32:
+          self.transferStatus = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 18:
+        if ftype == TType.I64:
+          self.fileSize = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 19:
+        if ftype == TType.I64:
+          self.transferTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 20:
+        if ftype == TType.I64:
+          self.createdTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 21:
+        if ftype == TType.I64:
+          self.lastModifiedType = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 22:
+        if ftype == TType.LIST:
+          self.callbackEmails = []
+          (_etype3, _size0) = iprot.readListBegin()
+          for _i4 in xrange(_size0):
+            _elem5 = iprot.readString()
+            self.callbackEmails.append(_elem5)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, 
self.thrift_spec)))
+      return
+    oprot.writeStructBegin('FileTransferRequestModel')
+    if self.transferId is not None:
+      oprot.writeFieldBegin('transferId', TType.STRING, 1)
+      oprot.writeString(self.transferId)
+      oprot.writeFieldEnd()
+    if self.gatewayId is not None:
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+      oprot.writeString(self.gatewayId)
+      oprot.writeFieldEnd()
+    if self.username is not None:
+      oprot.writeFieldBegin('username', TType.STRING, 3)
+      oprot.writeString(self.username)
+      oprot.writeFieldEnd()
+    if self.srcHostname is not None:
+      oprot.writeFieldBegin('srcHostname', TType.STRING, 4)
+      oprot.writeString(self.srcHostname)
+      oprot.writeFieldEnd()
+    if self.srcLoginName is not None:
+      oprot.writeFieldBegin('srcLoginName', TType.STRING, 5)
+      oprot.writeString(self.srcLoginName)
+      oprot.writeFieldEnd()
+    if self.srcPort is not None:
+      oprot.writeFieldBegin('srcPort', TType.I64, 6)
+      oprot.writeI64(self.srcPort)
+      oprot.writeFieldEnd()
+    if self.srcProtocol is not None:
+      oprot.writeFieldBegin('srcProtocol', TType.I32, 7)
+      oprot.writeI32(self.srcProtocol)
+      oprot.writeFieldEnd()
+    if self.srcFilePath is not None:
+      oprot.writeFieldBegin('srcFilePath', TType.STRING, 8)
+      oprot.writeString(self.srcFilePath)
+      oprot.writeFieldEnd()
+    if self.srcHostCredToken is not None:
+      oprot.writeFieldBegin('srcHostCredToken', TType.STRING, 9)
+      oprot.writeString(self.srcHostCredToken)
+      oprot.writeFieldEnd()
+    if self.destHostname is not None:
+      oprot.writeFieldBegin('destHostname', TType.STRING, 10)
+      oprot.writeString(self.destHostname)
+      oprot.writeFieldEnd()
+    if self.destLoginName is not None:
+      oprot.writeFieldBegin('destLoginName', TType.STRING, 11)
+      oprot.writeString(self.destLoginName)
+      oprot.writeFieldEnd()
+    if self.destPort is not None:
+      oprot.writeFieldBegin('destPort', TType.I64, 12)
+      oprot.writeI64(self.destPort)
+      oprot.writeFieldEnd()
+    if self.destProtocol is not None:
+      oprot.writeFieldBegin('destProtocol', TType.I32, 13)
+      oprot.writeI32(self.destProtocol)
+      oprot.writeFieldEnd()
+    if self.destFilePath is not None:
+      oprot.writeFieldBegin('destFilePath', TType.STRING, 14)
+      oprot.writeString(self.destFilePath)
+      oprot.writeFieldEnd()
+    if self.destHostCredToken is not None:
+      oprot.writeFieldBegin('destHostCredToken', TType.STRING, 15)
+      oprot.writeString(self.destHostCredToken)
+      oprot.writeFieldEnd()
+    if self.fileTransferMode is not None:
+      oprot.writeFieldBegin('fileTransferMode', TType.I32, 16)
+      oprot.writeI32(self.fileTransferMode)
+      oprot.writeFieldEnd()
+    if self.transferStatus is not None:
+      oprot.writeFieldBegin('transferStatus', TType.I32, 17)
+      oprot.writeI32(self.transferStatus)
+      oprot.writeFieldEnd()
+    if self.fileSize is not None:
+      oprot.writeFieldBegin('fileSize', TType.I64, 18)
+      oprot.writeI64(self.fileSize)
+      oprot.writeFieldEnd()
+    if self.transferTime is not None:
+      oprot.writeFieldBegin('transferTime', TType.I64, 19)
+      oprot.writeI64(self.transferTime)
+      oprot.writeFieldEnd()
+    if self.createdTime is not None:
+      oprot.writeFieldBegin('createdTime', TType.I64, 20)
+      oprot.writeI64(self.createdTime)
+      oprot.writeFieldEnd()
+    if self.lastModifiedType is not None:
+      oprot.writeFieldBegin('lastModifiedType', TType.I64, 21)
+      oprot.writeI64(self.lastModifiedType)
+      oprot.writeFieldEnd()
+    if self.callbackEmails is not None:
+      oprot.writeFieldBegin('callbackEmails', TType.LIST, 22)
+      oprot.writeListBegin(TType.STRING, len(self.callbackEmails))
+      for iter6 in self.callbackEmails:
+        oprot.writeString(iter6)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.transferId)
+    value = (value * 31) ^ hash(self.gatewayId)
+    value = (value * 31) ^ hash(self.username)
+    value = (value * 31) ^ hash(self.srcHostname)
+    value = (value * 31) ^ hash(self.srcLoginName)
+    value = (value * 31) ^ hash(self.srcPort)
+    value = (value * 31) ^ hash(self.srcProtocol)
+    value = (value * 31) ^ hash(self.srcFilePath)
+    value = (value * 31) ^ hash(self.srcHostCredToken)
+    value = (value * 31) ^ hash(self.destHostname)
+    value = (value * 31) ^ hash(self.destLoginName)
+    value = (value * 31) ^ hash(self.destPort)
+    value = (value * 31) ^ hash(self.destProtocol)
+    value = (value * 31) ^ hash(self.destFilePath)
+    value = (value * 31) ^ hash(self.destHostCredToken)
+    value = (value * 31) ^ hash(self.fileTransferMode)
+    value = (value * 31) ^ hash(self.transferStatus)
+    value = (value * 31) ^ hash(self.fileSize)
+    value = (value * 31) ^ hash(self.transferTime)
+    value = (value * 31) ^ hash(self.createdTime)
+    value = (value * 31) ^ hash(self.lastModifiedType)
+    value = (value * 31) ^ hash(self.callbackEmails)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == 
other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class LSEntryModel:
+  """
+  Attributes:
+   - type
+   - size
+   - nativeType
+   - name
+   - path
+   - storageHostName
+   - lastModifiedType
+   - createdTime
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'type', None, None, ), # 1
+    (2, TType.I64, 'size', None, None, ), # 2
+    (3, TType.STRING, 'nativeType', None, None, ), # 3
+    (4, TType.STRING, 'name', None, None, ), # 4
+    (5, TType.STRING, 'path', None, None, ), # 5
+    (6, TType.STRING, 'storageHostName', None, None, ), # 6
+    (7, TType.I64, 'lastModifiedType', None, None, ), # 7
+    (8, TType.I64, 'createdTime', None, None, ), # 8
+  )
+
+  def __init__(self, type=None, size=None, nativeType=None, name=None, 
path=None, storageHostName=None, lastModifiedType=None, createdTime=None,):
+    self.type = type
+    self.size = size
+    self.nativeType = nativeType
+    self.name = name
+    self.path = path
+    self.storageHostName = storageHostName
+    self.lastModifiedType = lastModifiedType
+    self.createdTime = createdTime
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is 
not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, 
self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.type = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I64:
+          self.size = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.nativeType = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.name = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.path = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.storageHostName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.I64:
+          self.lastModifiedType = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.I64:
+          self.createdTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and 
self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, 
self.thrift_spec)))
+      return
+    oprot.writeStructBegin('LSEntryModel')
+    if self.type is not None:
+      oprot.writeFieldBegin('type', TType.I32, 1)
+      oprot.writeI32(self.type)
+      oprot.writeFieldEnd()
+    if self.size is not None:
+      oprot.writeFieldBegin('size', TType.I64, 2)
+      oprot.writeI64(self.size)
+      oprot.writeFieldEnd()
+    if self.nativeType is not None:
+      oprot.writeFieldBegin('nativeType', TType.STRING, 3)
+      oprot.writeString(self.nativeType)
+      oprot.writeFieldEnd()
+    if self.name is not None:
+      oprot.writeFieldBegin('name', TType.STRING, 4)
+      oprot.writeString(self.name)
+      oprot.writeFieldEnd()
+    if self.path is not None:
+      oprot.writeFieldBegin('path', TType.STRING, 5)
+      oprot.writeString(self.path)
+      oprot.writeFieldEnd()
+    if self.storageHostName is not None:
+      oprot.writeFieldBegin('storageHostName', TType.STRING, 6)
+      oprot.writeString(self.storageHostName)
+      oprot.writeFieldEnd()
+    if self.lastModifiedType is not None:
+      oprot.writeFieldBegin('lastModifiedType', TType.I64, 7)
+      oprot.writeI64(self.lastModifiedType)
+      oprot.writeFieldEnd()
+    if self.createdTime is not None:
+      oprot.writeFieldBegin('createdTime', TType.I64, 8)
+      oprot.writeI64(self.createdTime)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.type)
+    value = (value * 31) ^ hash(self.size)
+    value = (value * 31) ^ hash(self.nativeType)
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.path)
+    value = (value * 31) ^ hash(self.storageHostName)
+    value = (value * 31) ^ hash(self.lastModifiedType)
+    value = (value * 31) ^ hash(self.createdTime)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == 
other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

Reply via email to