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:18 UTC
[09/31] AIRAVATA-1143
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