Repository: airavata-php-gateway Updated Branches: refs/heads/data-manager [created] bca9259f4
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/bca9259f/app/libraries/Airavata/Model/Data/Resource/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/Model/Data/Resource/Types.php b/app/libraries/Airavata/Model/Data/Resource/Types.php deleted file mode 100644 index cd5542a..0000000 --- a/app/libraries/Airavata/Model/Data/Resource/Types.php +++ /dev/null @@ -1,854 +0,0 @@ -<?php -namespace Airavata\Model\Data\Resource; - -/** - * Autogenerated by Thrift Compiler (0.9.3) - * - * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING - * @generated - */ -use Thrift\Base\TBase; -use Thrift\Type\TType; -use Thrift\Type\TMessageType; -use Thrift\Exception\TException; -use Thrift\Exception\TProtocolException; -use Thrift\Protocol\TProtocol; -use Thrift\Protocol\TBinaryProtocolAccelerated; -use Thrift\Exception\TApplicationException; - - -final class ReplicaLocationCategory { - const GATEWAY_DATA_STORE = 0; - const COMPUTE_RESOURCE = 1; - const LONG_TERM_STORAGE_RESOURCE = 2; - const OTHER = 3; - static public $__names = array( - 0 => 'GATEWAY_DATA_STORE', - 1 => 'COMPUTE_RESOURCE', - 2 => 'LONG_TERM_STORAGE_RESOURCE', - 3 => 'OTHER', - ); -} - -final class ReplicaPersistentType { - const TRANSIENT = 0; - const PERSISTENT = 1; - static public $__names = array( - 0 => 'TRANSIENT', - 1 => 'PERSISTENT', - ); -} - -final class DataResourceType { - const COLLECTION = 0; - const FILE = 1; - static public $__names = array( - 0 => 'COLLECTION', - 1 => 'FILE', - ); -} - -class DataResourceModel { - static $_TSPEC; - - /** - * @var string - */ - public $resourceId = null; - /** - * @var string - */ - public $gatewayId = null; - /** - * @var string - */ - public $parentResourceId = null; - /** - * @var string - */ - public $resourceName = null; - /** - * @var string - */ - public $resourceDescription = null; - /** - * @var string - */ - public $ownerName = null; - /** - * @var int - */ - public $dataResourceType = null; - /** - * @var int - */ - public $resourceSize = null; - /** - * @var int - */ - public $creationTime = null; - /** - * @var int - */ - public $lastModifiedTime = null; - /** - * @var array - */ - public $resourceMetadata = null; - /** - * @var \Airavata\Model\Data\Resource\DataReplicaLocationModel[] - */ - public $replicaLocations = null; - /** - * @var \Airavata\Model\Data\Resource\DataResourceModel[] - */ - public $childResources = null; - - public function __construct($vals=null) { - if (!isset(self::$_TSPEC)) { - self::$_TSPEC = array( - 1 => array( - 'var' => 'resourceId', - 'type' => TType::STRING, - ), - 2 => array( - 'var' => 'gatewayId', - 'type' => TType::STRING, - ), - 3 => array( - 'var' => 'parentResourceId', - 'type' => TType::STRING, - ), - 4 => array( - 'var' => 'resourceName', - 'type' => TType::STRING, - ), - 5 => array( - 'var' => 'resourceDescription', - 'type' => TType::STRING, - ), - 6 => array( - 'var' => 'ownerName', - 'type' => TType::STRING, - ), - 7 => array( - 'var' => 'dataResourceType', - 'type' => TType::I32, - ), - 8 => array( - 'var' => 'resourceSize', - 'type' => TType::I32, - ), - 9 => array( - 'var' => 'creationTime', - 'type' => TType::I64, - ), - 10 => array( - 'var' => 'lastModifiedTime', - 'type' => TType::I64, - ), - 11 => array( - 'var' => 'resourceMetadata', - 'type' => TType::MAP, - 'ktype' => TType::STRING, - 'vtype' => TType::STRING, - 'key' => array( - 'type' => TType::STRING, - ), - 'val' => array( - 'type' => TType::STRING, - ), - ), - 12 => array( - 'var' => 'replicaLocations', - 'type' => TType::LST, - 'etype' => TType::STRUCT, - 'elem' => array( - 'type' => TType::STRUCT, - 'class' => '\Airavata\Model\Data\Resource\DataReplicaLocationModel', - ), - ), - 13 => array( - 'var' => 'childResources', - 'type' => TType::LST, - 'etype' => TType::STRUCT, - 'elem' => array( - 'type' => TType::STRUCT, - 'class' => '\Airavata\Model\Data\Resource\DataResourceModel', - ), - ), - ); - } - if (is_array($vals)) { - if (isset($vals['resourceId'])) { - $this->resourceId = $vals['resourceId']; - } - if (isset($vals['gatewayId'])) { - $this->gatewayId = $vals['gatewayId']; - } - if (isset($vals['parentResourceId'])) { - $this->parentResourceId = $vals['parentResourceId']; - } - if (isset($vals['resourceName'])) { - $this->resourceName = $vals['resourceName']; - } - if (isset($vals['resourceDescription'])) { - $this->resourceDescription = $vals['resourceDescription']; - } - if (isset($vals['ownerName'])) { - $this->ownerName = $vals['ownerName']; - } - if (isset($vals['dataResourceType'])) { - $this->dataResourceType = $vals['dataResourceType']; - } - if (isset($vals['resourceSize'])) { - $this->resourceSize = $vals['resourceSize']; - } - if (isset($vals['creationTime'])) { - $this->creationTime = $vals['creationTime']; - } - if (isset($vals['lastModifiedTime'])) { - $this->lastModifiedTime = $vals['lastModifiedTime']; - } - if (isset($vals['resourceMetadata'])) { - $this->resourceMetadata = $vals['resourceMetadata']; - } - if (isset($vals['replicaLocations'])) { - $this->replicaLocations = $vals['replicaLocations']; - } - if (isset($vals['childResources'])) { - $this->childResources = $vals['childResources']; - } - } - } - - public function getName() { - return 'DataResourceModel'; - } - - public function read($input) - { - $xfer = 0; - $fname = null; - $ftype = 0; - $fid = 0; - $xfer += $input->readStructBegin($fname); - while (true) - { - $xfer += $input->readFieldBegin($fname, $ftype, $fid); - if ($ftype == TType::STOP) { - break; - } - switch ($fid) - { - case 1: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->resourceId); - } else { - $xfer += $input->skip($ftype); - } - break; - case 2: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->gatewayId); - } else { - $xfer += $input->skip($ftype); - } - break; - case 3: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->parentResourceId); - } else { - $xfer += $input->skip($ftype); - } - break; - case 4: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->resourceName); - } else { - $xfer += $input->skip($ftype); - } - break; - case 5: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->resourceDescription); - } else { - $xfer += $input->skip($ftype); - } - break; - case 6: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->ownerName); - } else { - $xfer += $input->skip($ftype); - } - break; - case 7: - if ($ftype == TType::I32) { - $xfer += $input->readI32($this->dataResourceType); - } else { - $xfer += $input->skip($ftype); - } - break; - case 8: - if ($ftype == TType::I32) { - $xfer += $input->readI32($this->resourceSize); - } else { - $xfer += $input->skip($ftype); - } - break; - case 9: - if ($ftype == TType::I64) { - $xfer += $input->readI64($this->creationTime); - } else { - $xfer += $input->skip($ftype); - } - break; - case 10: - if ($ftype == TType::I64) { - $xfer += $input->readI64($this->lastModifiedTime); - } else { - $xfer += $input->skip($ftype); - } - break; - case 11: - if ($ftype == TType::MAP) { - $this->resourceMetadata = array(); - $_size0 = 0; - $_ktype1 = 0; - $_vtype2 = 0; - $xfer += $input->readMapBegin($_ktype1, $_vtype2, $_size0); - for ($_i4 = 0; $_i4 < $_size0; ++$_i4) - { - $key5 = ''; - $val6 = ''; - $xfer += $input->readString($key5); - $xfer += $input->readString($val6); - $this->resourceMetadata[$key5] = $val6; - } - $xfer += $input->readMapEnd(); - } else { - $xfer += $input->skip($ftype); - } - break; - case 12: - if ($ftype == TType::LST) { - $this->replicaLocations = array(); - $_size7 = 0; - $_etype10 = 0; - $xfer += $input->readListBegin($_etype10, $_size7); - for ($_i11 = 0; $_i11 < $_size7; ++$_i11) - { - $elem12 = null; - $elem12 = new \Airavata\Model\Data\Resource\DataReplicaLocationModel(); - $xfer += $elem12->read($input); - $this->replicaLocations []= $elem12; - } - $xfer += $input->readListEnd(); - } else { - $xfer += $input->skip($ftype); - } - break; - case 13: - if ($ftype == TType::LST) { - $this->childResources = array(); - $_size13 = 0; - $_etype16 = 0; - $xfer += $input->readListBegin($_etype16, $_size13); - for ($_i17 = 0; $_i17 < $_size13; ++$_i17) - { - $elem18 = null; - $elem18 = new \Airavata\Model\Data\Resource\DataResourceModel(); - $xfer += $elem18->read($input); - $this->childResources []= $elem18; - } - $xfer += $input->readListEnd(); - } else { - $xfer += $input->skip($ftype); - } - break; - default: - $xfer += $input->skip($ftype); - break; - } - $xfer += $input->readFieldEnd(); - } - $xfer += $input->readStructEnd(); - return $xfer; - } - - public function write($output) { - $xfer = 0; - $xfer += $output->writeStructBegin('DataResourceModel'); - if ($this->resourceId !== null) { - $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 1); - $xfer += $output->writeString($this->resourceId); - $xfer += $output->writeFieldEnd(); - } - if ($this->gatewayId !== null) { - $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2); - $xfer += $output->writeString($this->gatewayId); - $xfer += $output->writeFieldEnd(); - } - if ($this->parentResourceId !== null) { - $xfer += $output->writeFieldBegin('parentResourceId', TType::STRING, 3); - $xfer += $output->writeString($this->parentResourceId); - $xfer += $output->writeFieldEnd(); - } - if ($this->resourceName !== null) { - $xfer += $output->writeFieldBegin('resourceName', TType::STRING, 4); - $xfer += $output->writeString($this->resourceName); - $xfer += $output->writeFieldEnd(); - } - if ($this->resourceDescription !== null) { - $xfer += $output->writeFieldBegin('resourceDescription', TType::STRING, 5); - $xfer += $output->writeString($this->resourceDescription); - $xfer += $output->writeFieldEnd(); - } - if ($this->ownerName !== null) { - $xfer += $output->writeFieldBegin('ownerName', TType::STRING, 6); - $xfer += $output->writeString($this->ownerName); - $xfer += $output->writeFieldEnd(); - } - if ($this->dataResourceType !== null) { - $xfer += $output->writeFieldBegin('dataResourceType', TType::I32, 7); - $xfer += $output->writeI32($this->dataResourceType); - $xfer += $output->writeFieldEnd(); - } - if ($this->resourceSize !== null) { - $xfer += $output->writeFieldBegin('resourceSize', TType::I32, 8); - $xfer += $output->writeI32($this->resourceSize); - $xfer += $output->writeFieldEnd(); - } - if ($this->creationTime !== null) { - $xfer += $output->writeFieldBegin('creationTime', TType::I64, 9); - $xfer += $output->writeI64($this->creationTime); - $xfer += $output->writeFieldEnd(); - } - if ($this->lastModifiedTime !== null) { - $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 10); - $xfer += $output->writeI64($this->lastModifiedTime); - $xfer += $output->writeFieldEnd(); - } - if ($this->resourceMetadata !== null) { - if (!is_array($this->resourceMetadata)) { - throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); - } - $xfer += $output->writeFieldBegin('resourceMetadata', TType::MAP, 11); - { - $output->writeMapBegin(TType::STRING, TType::STRING, count($this->resourceMetadata)); - { - foreach ($this->resourceMetadata as $kiter19 => $viter20) - { - $xfer += $output->writeString($kiter19); - $xfer += $output->writeString($viter20); - } - } - $output->writeMapEnd(); - } - $xfer += $output->writeFieldEnd(); - } - if ($this->replicaLocations !== null) { - if (!is_array($this->replicaLocations)) { - throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); - } - $xfer += $output->writeFieldBegin('replicaLocations', TType::LST, 12); - { - $output->writeListBegin(TType::STRUCT, count($this->replicaLocations)); - { - foreach ($this->replicaLocations as $iter21) - { - $xfer += $iter21->write($output); - } - } - $output->writeListEnd(); - } - $xfer += $output->writeFieldEnd(); - } - if ($this->childResources !== null) { - if (!is_array($this->childResources)) { - throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); - } - $xfer += $output->writeFieldBegin('childResources', TType::LST, 13); - { - $output->writeListBegin(TType::STRUCT, count($this->childResources)); - { - foreach ($this->childResources as $iter22) - { - $xfer += $iter22->write($output); - } - } - $output->writeListEnd(); - } - $xfer += $output->writeFieldEnd(); - } - $xfer += $output->writeFieldStop(); - $xfer += $output->writeStructEnd(); - return $xfer; - } - -} - -class DataReplicaLocationModel { - static $_TSPEC; - - /** - * @var string - */ - public $replicaId = null; - /** - * @var string - */ - public $resourceId = null; - /** - * @var string - */ - public $replicaName = null; - /** - * @var string - */ - public $replicaDescription = null; - /** - * @var int - */ - public $creationTime = null; - /** - * @var int - */ - public $lastModifiedTime = null; - /** - * @var int - */ - public $validUntilTime = null; - /** - * @var int - */ - public $replicaLocationCategory = null; - /** - * @var int - */ - public $replicaPersistentType = null; - /** - * @var string - */ - public $storageResourceId = null; - /** - * @var string - */ - public $fileAbsolutePath = null; - /** - * @var array - */ - public $replicaMetadata = null; - - public function __construct($vals=null) { - if (!isset(self::$_TSPEC)) { - self::$_TSPEC = array( - 1 => array( - 'var' => 'replicaId', - 'type' => TType::STRING, - ), - 2 => array( - 'var' => 'resourceId', - 'type' => TType::STRING, - ), - 3 => array( - 'var' => 'replicaName', - 'type' => TType::STRING, - ), - 4 => array( - 'var' => 'replicaDescription', - 'type' => TType::STRING, - ), - 5 => array( - 'var' => 'creationTime', - 'type' => TType::I64, - ), - 6 => array( - 'var' => 'lastModifiedTime', - 'type' => TType::I64, - ), - 7 => array( - 'var' => 'validUntilTime', - 'type' => TType::I64, - ), - 8 => array( - 'var' => 'replicaLocationCategory', - 'type' => TType::I32, - ), - 9 => array( - 'var' => 'replicaPersistentType', - 'type' => TType::I32, - ), - 10 => array( - 'var' => 'storageResourceId', - 'type' => TType::STRING, - ), - 11 => array( - 'var' => 'fileAbsolutePath', - 'type' => TType::STRING, - ), - 12 => array( - 'var' => 'replicaMetadata', - 'type' => TType::MAP, - 'ktype' => TType::STRING, - 'vtype' => TType::STRING, - 'key' => array( - 'type' => TType::STRING, - ), - 'val' => array( - 'type' => TType::STRING, - ), - ), - ); - } - if (is_array($vals)) { - if (isset($vals['replicaId'])) { - $this->replicaId = $vals['replicaId']; - } - if (isset($vals['resourceId'])) { - $this->resourceId = $vals['resourceId']; - } - if (isset($vals['replicaName'])) { - $this->replicaName = $vals['replicaName']; - } - if (isset($vals['replicaDescription'])) { - $this->replicaDescription = $vals['replicaDescription']; - } - if (isset($vals['creationTime'])) { - $this->creationTime = $vals['creationTime']; - } - if (isset($vals['lastModifiedTime'])) { - $this->lastModifiedTime = $vals['lastModifiedTime']; - } - if (isset($vals['validUntilTime'])) { - $this->validUntilTime = $vals['validUntilTime']; - } - if (isset($vals['replicaLocationCategory'])) { - $this->replicaLocationCategory = $vals['replicaLocationCategory']; - } - if (isset($vals['replicaPersistentType'])) { - $this->replicaPersistentType = $vals['replicaPersistentType']; - } - if (isset($vals['storageResourceId'])) { - $this->storageResourceId = $vals['storageResourceId']; - } - if (isset($vals['fileAbsolutePath'])) { - $this->fileAbsolutePath = $vals['fileAbsolutePath']; - } - if (isset($vals['replicaMetadata'])) { - $this->replicaMetadata = $vals['replicaMetadata']; - } - } - } - - public function getName() { - return 'DataReplicaLocationModel'; - } - - public function read($input) - { - $xfer = 0; - $fname = null; - $ftype = 0; - $fid = 0; - $xfer += $input->readStructBegin($fname); - while (true) - { - $xfer += $input->readFieldBegin($fname, $ftype, $fid); - if ($ftype == TType::STOP) { - break; - } - switch ($fid) - { - case 1: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->replicaId); - } else { - $xfer += $input->skip($ftype); - } - break; - case 2: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->resourceId); - } else { - $xfer += $input->skip($ftype); - } - break; - case 3: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->replicaName); - } else { - $xfer += $input->skip($ftype); - } - break; - case 4: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->replicaDescription); - } else { - $xfer += $input->skip($ftype); - } - break; - case 5: - if ($ftype == TType::I64) { - $xfer += $input->readI64($this->creationTime); - } else { - $xfer += $input->skip($ftype); - } - break; - case 6: - if ($ftype == TType::I64) { - $xfer += $input->readI64($this->lastModifiedTime); - } else { - $xfer += $input->skip($ftype); - } - break; - case 7: - if ($ftype == TType::I64) { - $xfer += $input->readI64($this->validUntilTime); - } else { - $xfer += $input->skip($ftype); - } - break; - case 8: - if ($ftype == TType::I32) { - $xfer += $input->readI32($this->replicaLocationCategory); - } else { - $xfer += $input->skip($ftype); - } - break; - case 9: - if ($ftype == TType::I32) { - $xfer += $input->readI32($this->replicaPersistentType); - } else { - $xfer += $input->skip($ftype); - } - break; - case 10: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->storageResourceId); - } else { - $xfer += $input->skip($ftype); - } - break; - case 11: - if ($ftype == TType::STRING) { - $xfer += $input->readString($this->fileAbsolutePath); - } else { - $xfer += $input->skip($ftype); - } - break; - case 12: - if ($ftype == TType::MAP) { - $this->replicaMetadata = array(); - $_size23 = 0; - $_ktype24 = 0; - $_vtype25 = 0; - $xfer += $input->readMapBegin($_ktype24, $_vtype25, $_size23); - for ($_i27 = 0; $_i27 < $_size23; ++$_i27) - { - $key28 = ''; - $val29 = ''; - $xfer += $input->readString($key28); - $xfer += $input->readString($val29); - $this->replicaMetadata[$key28] = $val29; - } - $xfer += $input->readMapEnd(); - } else { - $xfer += $input->skip($ftype); - } - break; - default: - $xfer += $input->skip($ftype); - break; - } - $xfer += $input->readFieldEnd(); - } - $xfer += $input->readStructEnd(); - return $xfer; - } - - public function write($output) { - $xfer = 0; - $xfer += $output->writeStructBegin('DataReplicaLocationModel'); - if ($this->replicaId !== null) { - $xfer += $output->writeFieldBegin('replicaId', TType::STRING, 1); - $xfer += $output->writeString($this->replicaId); - $xfer += $output->writeFieldEnd(); - } - if ($this->resourceId !== null) { - $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 2); - $xfer += $output->writeString($this->resourceId); - $xfer += $output->writeFieldEnd(); - } - if ($this->replicaName !== null) { - $xfer += $output->writeFieldBegin('replicaName', TType::STRING, 3); - $xfer += $output->writeString($this->replicaName); - $xfer += $output->writeFieldEnd(); - } - if ($this->replicaDescription !== null) { - $xfer += $output->writeFieldBegin('replicaDescription', TType::STRING, 4); - $xfer += $output->writeString($this->replicaDescription); - $xfer += $output->writeFieldEnd(); - } - if ($this->creationTime !== null) { - $xfer += $output->writeFieldBegin('creationTime', TType::I64, 5); - $xfer += $output->writeI64($this->creationTime); - $xfer += $output->writeFieldEnd(); - } - if ($this->lastModifiedTime !== null) { - $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 6); - $xfer += $output->writeI64($this->lastModifiedTime); - $xfer += $output->writeFieldEnd(); - } - if ($this->validUntilTime !== null) { - $xfer += $output->writeFieldBegin('validUntilTime', TType::I64, 7); - $xfer += $output->writeI64($this->validUntilTime); - $xfer += $output->writeFieldEnd(); - } - if ($this->replicaLocationCategory !== null) { - $xfer += $output->writeFieldBegin('replicaLocationCategory', TType::I32, 8); - $xfer += $output->writeI32($this->replicaLocationCategory); - $xfer += $output->writeFieldEnd(); - } - if ($this->replicaPersistentType !== null) { - $xfer += $output->writeFieldBegin('replicaPersistentType', TType::I32, 9); - $xfer += $output->writeI32($this->replicaPersistentType); - $xfer += $output->writeFieldEnd(); - } - if ($this->storageResourceId !== null) { - $xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 10); - $xfer += $output->writeString($this->storageResourceId); - $xfer += $output->writeFieldEnd(); - } - if ($this->fileAbsolutePath !== null) { - $xfer += $output->writeFieldBegin('fileAbsolutePath', TType::STRING, 11); - $xfer += $output->writeString($this->fileAbsolutePath); - $xfer += $output->writeFieldEnd(); - } - if ($this->replicaMetadata !== null) { - if (!is_array($this->replicaMetadata)) { - throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); - } - $xfer += $output->writeFieldBegin('replicaMetadata', TType::MAP, 12); - { - $output->writeMapBegin(TType::STRING, TType::STRING, count($this->replicaMetadata)); - { - foreach ($this->replicaMetadata as $kiter30 => $viter31) - { - $xfer += $output->writeString($kiter30); - $xfer += $output->writeString($viter31); - } - } - $output->writeMapEnd(); - } - $xfer += $output->writeFieldEnd(); - } - $xfer += $output->writeFieldStop(); - $xfer += $output->writeStructEnd(); - return $xfer; - } - -} - - http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/bca9259f/app/libraries/Airavata/Model/Data/Transfer/Types.php ---------------------------------------------------------------------- diff --git a/app/libraries/Airavata/Model/Data/Transfer/Types.php b/app/libraries/Airavata/Model/Data/Transfer/Types.php new file mode 100644 index 0000000..e8a211c --- /dev/null +++ b/app/libraries/Airavata/Model/Data/Transfer/Types.php @@ -0,0 +1,890 @@ +<?php +namespace Airavata\Model\Data\Transfer; + +/** + * Autogenerated by Thrift Compiler (0.9.3) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +use Thrift\Base\TBase; +use Thrift\Type\TType; +use Thrift\Type\TMessageType; +use Thrift\Exception\TException; +use Thrift\Exception\TProtocolException; +use Thrift\Protocol\TProtocol; +use Thrift\Protocol\TBinaryProtocolAccelerated; +use Thrift\Exception\TApplicationException; + + +final class StorageResourceProtocol { + const SCP = 0; + const SFTP = 1; + const HTTP = 2; + const HTTPS = 3; + const GridFTP = 4; + const LOCAL = 5; + static public $__names = array( + 0 => 'SCP', + 1 => 'SFTP', + 2 => 'HTTP', + 3 => 'HTTPS', + 4 => 'GridFTP', + 5 => 'LOCAL', + ); +} + +final class LSEntryType { + const DIRECTORY = 0; + const FILE = 1; + static public $__names = array( + 0 => 'DIRECTORY', + 1 => 'FILE', + ); +} + +final class FileTransferMode { + const SYNC = 0; + const ASYNC = 1; + static public $__names = array( + 0 => 'SYNC', + 1 => 'ASYNC', + ); +} + +final class FileTransferStatus { + const CREATED = 0; + const QUEUED = 1; + const RUNNING = 2; + const COMPLETED = 3; + const FAILED = 4; + static public $__names = array( + 0 => 'CREATED', + 1 => 'QUEUED', + 2 => 'RUNNING', + 3 => 'COMPLETED', + 4 => 'FAILED', + ); +} + +class FileTransferRequestModel { + static $_TSPEC; + + /** + * @var string + */ + public $transferId = null; + /** + * @var string + */ + public $gatewayId = null; + /** + * @var string + */ + public $username = null; + /** + * @var string + */ + public $srcHostname = null; + /** + * @var string + */ + public $srcLoginName = null; + /** + * @var int + */ + public $srcPort = null; + /** + * @var int + */ + public $srcProtocol = null; + /** + * @var string + */ + public $srcFilePath = null; + /** + * @var string + */ + public $srcHostCredToken = null; + /** + * @var string + */ + public $destHostname = null; + /** + * @var string + */ + public $destLoginName = null; + /** + * @var int + */ + public $destPort = null; + /** + * @var int + */ + public $destProtocol = null; + /** + * @var string + */ + public $destFilePath = null; + /** + * @var string + */ + public $destHostCredToken = null; + /** + * @var int + */ + public $fileTransferMode = null; + /** + * @var int + */ + public $transferStatus = null; + /** + * @var int + */ + public $fileSize = null; + /** + * @var int + */ + public $transferTime = null; + /** + * @var int + */ + public $createdTime = null; + /** + * @var int + */ + public $lastModifiedType = null; + /** + * @var string[] + */ + public $callbackEmails = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'transferId', + 'type' => TType::STRING, + ), + 2 => array( + 'var' => 'gatewayId', + 'type' => TType::STRING, + ), + 3 => array( + 'var' => 'username', + 'type' => TType::STRING, + ), + 4 => array( + 'var' => 'srcHostname', + 'type' => TType::STRING, + ), + 5 => array( + 'var' => 'srcLoginName', + 'type' => TType::STRING, + ), + 6 => array( + 'var' => 'srcPort', + 'type' => TType::I64, + ), + 7 => array( + 'var' => 'srcProtocol', + 'type' => TType::I32, + ), + 8 => array( + 'var' => 'srcFilePath', + 'type' => TType::STRING, + ), + 9 => array( + 'var' => 'srcHostCredToken', + 'type' => TType::STRING, + ), + 10 => array( + 'var' => 'destHostname', + 'type' => TType::STRING, + ), + 11 => array( + 'var' => 'destLoginName', + 'type' => TType::STRING, + ), + 12 => array( + 'var' => 'destPort', + 'type' => TType::I64, + ), + 13 => array( + 'var' => 'destProtocol', + 'type' => TType::I32, + ), + 14 => array( + 'var' => 'destFilePath', + 'type' => TType::STRING, + ), + 15 => array( + 'var' => 'destHostCredToken', + 'type' => TType::STRING, + ), + 16 => array( + 'var' => 'fileTransferMode', + 'type' => TType::I32, + ), + 17 => array( + 'var' => 'transferStatus', + 'type' => TType::I32, + ), + 18 => array( + 'var' => 'fileSize', + 'type' => TType::I64, + ), + 19 => array( + 'var' => 'transferTime', + 'type' => TType::I64, + ), + 20 => array( + 'var' => 'createdTime', + 'type' => TType::I64, + ), + 21 => array( + 'var' => 'lastModifiedType', + 'type' => TType::I64, + ), + 22 => array( + 'var' => 'callbackEmails', + 'type' => TType::LST, + 'etype' => TType::STRING, + 'elem' => array( + 'type' => TType::STRING, + ), + ), + ); + } + if (is_array($vals)) { + if (isset($vals['transferId'])) { + $this->transferId = $vals['transferId']; + } + if (isset($vals['gatewayId'])) { + $this->gatewayId = $vals['gatewayId']; + } + if (isset($vals['username'])) { + $this->username = $vals['username']; + } + if (isset($vals['srcHostname'])) { + $this->srcHostname = $vals['srcHostname']; + } + if (isset($vals['srcLoginName'])) { + $this->srcLoginName = $vals['srcLoginName']; + } + if (isset($vals['srcPort'])) { + $this->srcPort = $vals['srcPort']; + } + if (isset($vals['srcProtocol'])) { + $this->srcProtocol = $vals['srcProtocol']; + } + if (isset($vals['srcFilePath'])) { + $this->srcFilePath = $vals['srcFilePath']; + } + if (isset($vals['srcHostCredToken'])) { + $this->srcHostCredToken = $vals['srcHostCredToken']; + } + if (isset($vals['destHostname'])) { + $this->destHostname = $vals['destHostname']; + } + if (isset($vals['destLoginName'])) { + $this->destLoginName = $vals['destLoginName']; + } + if (isset($vals['destPort'])) { + $this->destPort = $vals['destPort']; + } + if (isset($vals['destProtocol'])) { + $this->destProtocol = $vals['destProtocol']; + } + if (isset($vals['destFilePath'])) { + $this->destFilePath = $vals['destFilePath']; + } + if (isset($vals['destHostCredToken'])) { + $this->destHostCredToken = $vals['destHostCredToken']; + } + if (isset($vals['fileTransferMode'])) { + $this->fileTransferMode = $vals['fileTransferMode']; + } + if (isset($vals['transferStatus'])) { + $this->transferStatus = $vals['transferStatus']; + } + if (isset($vals['fileSize'])) { + $this->fileSize = $vals['fileSize']; + } + if (isset($vals['transferTime'])) { + $this->transferTime = $vals['transferTime']; + } + if (isset($vals['createdTime'])) { + $this->createdTime = $vals['createdTime']; + } + if (isset($vals['lastModifiedType'])) { + $this->lastModifiedType = $vals['lastModifiedType']; + } + if (isset($vals['callbackEmails'])) { + $this->callbackEmails = $vals['callbackEmails']; + } + } + } + + public function getName() { + return 'FileTransferRequestModel'; + } + + public function read($input) + { + $xfer = 0; + $fname = null; + $ftype = 0; + $fid = 0; + $xfer += $input->readStructBegin($fname); + while (true) + { + $xfer += $input->readFieldBegin($fname, $ftype, $fid); + if ($ftype == TType::STOP) { + break; + } + switch ($fid) + { + case 1: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->transferId); + } else { + $xfer += $input->skip($ftype); + } + break; + case 2: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->gatewayId); + } else { + $xfer += $input->skip($ftype); + } + break; + case 3: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->username); + } else { + $xfer += $input->skip($ftype); + } + break; + case 4: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->srcHostname); + } else { + $xfer += $input->skip($ftype); + } + break; + case 5: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->srcLoginName); + } else { + $xfer += $input->skip($ftype); + } + break; + case 6: + if ($ftype == TType::I64) { + $xfer += $input->readI64($this->srcPort); + } else { + $xfer += $input->skip($ftype); + } + break; + case 7: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->srcProtocol); + } else { + $xfer += $input->skip($ftype); + } + break; + case 8: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->srcFilePath); + } else { + $xfer += $input->skip($ftype); + } + break; + case 9: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->srcHostCredToken); + } else { + $xfer += $input->skip($ftype); + } + break; + case 10: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->destHostname); + } else { + $xfer += $input->skip($ftype); + } + break; + case 11: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->destLoginName); + } else { + $xfer += $input->skip($ftype); + } + break; + case 12: + if ($ftype == TType::I64) { + $xfer += $input->readI64($this->destPort); + } else { + $xfer += $input->skip($ftype); + } + break; + case 13: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->destProtocol); + } else { + $xfer += $input->skip($ftype); + } + break; + case 14: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->destFilePath); + } else { + $xfer += $input->skip($ftype); + } + break; + case 15: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->destHostCredToken); + } else { + $xfer += $input->skip($ftype); + } + break; + case 16: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->fileTransferMode); + } else { + $xfer += $input->skip($ftype); + } + break; + case 17: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->transferStatus); + } else { + $xfer += $input->skip($ftype); + } + break; + case 18: + if ($ftype == TType::I64) { + $xfer += $input->readI64($this->fileSize); + } else { + $xfer += $input->skip($ftype); + } + break; + case 19: + if ($ftype == TType::I64) { + $xfer += $input->readI64($this->transferTime); + } else { + $xfer += $input->skip($ftype); + } + break; + case 20: + if ($ftype == TType::I64) { + $xfer += $input->readI64($this->createdTime); + } else { + $xfer += $input->skip($ftype); + } + break; + case 21: + if ($ftype == TType::I64) { + $xfer += $input->readI64($this->lastModifiedType); + } else { + $xfer += $input->skip($ftype); + } + break; + case 22: + if ($ftype == TType::LST) { + $this->callbackEmails = array(); + $_size0 = 0; + $_etype3 = 0; + $xfer += $input->readListBegin($_etype3, $_size0); + for ($_i4 = 0; $_i4 < $_size0; ++$_i4) + { + $elem5 = null; + $xfer += $input->readString($elem5); + $this->callbackEmails []= $elem5; + } + $xfer += $input->readListEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + default: + $xfer += $input->skip($ftype); + break; + } + $xfer += $input->readFieldEnd(); + } + $xfer += $input->readStructEnd(); + return $xfer; + } + + public function write($output) { + $xfer = 0; + $xfer += $output->writeStructBegin('FileTransferRequestModel'); + if ($this->transferId !== null) { + $xfer += $output->writeFieldBegin('transferId', TType::STRING, 1); + $xfer += $output->writeString($this->transferId); + $xfer += $output->writeFieldEnd(); + } + if ($this->gatewayId !== null) { + $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2); + $xfer += $output->writeString($this->gatewayId); + $xfer += $output->writeFieldEnd(); + } + if ($this->username !== null) { + $xfer += $output->writeFieldBegin('username', TType::STRING, 3); + $xfer += $output->writeString($this->username); + $xfer += $output->writeFieldEnd(); + } + if ($this->srcHostname !== null) { + $xfer += $output->writeFieldBegin('srcHostname', TType::STRING, 4); + $xfer += $output->writeString($this->srcHostname); + $xfer += $output->writeFieldEnd(); + } + if ($this->srcLoginName !== null) { + $xfer += $output->writeFieldBegin('srcLoginName', TType::STRING, 5); + $xfer += $output->writeString($this->srcLoginName); + $xfer += $output->writeFieldEnd(); + } + if ($this->srcPort !== null) { + $xfer += $output->writeFieldBegin('srcPort', TType::I64, 6); + $xfer += $output->writeI64($this->srcPort); + $xfer += $output->writeFieldEnd(); + } + if ($this->srcProtocol !== null) { + $xfer += $output->writeFieldBegin('srcProtocol', TType::I32, 7); + $xfer += $output->writeI32($this->srcProtocol); + $xfer += $output->writeFieldEnd(); + } + if ($this->srcFilePath !== null) { + $xfer += $output->writeFieldBegin('srcFilePath', TType::STRING, 8); + $xfer += $output->writeString($this->srcFilePath); + $xfer += $output->writeFieldEnd(); + } + if ($this->srcHostCredToken !== null) { + $xfer += $output->writeFieldBegin('srcHostCredToken', TType::STRING, 9); + $xfer += $output->writeString($this->srcHostCredToken); + $xfer += $output->writeFieldEnd(); + } + if ($this->destHostname !== null) { + $xfer += $output->writeFieldBegin('destHostname', TType::STRING, 10); + $xfer += $output->writeString($this->destHostname); + $xfer += $output->writeFieldEnd(); + } + if ($this->destLoginName !== null) { + $xfer += $output->writeFieldBegin('destLoginName', TType::STRING, 11); + $xfer += $output->writeString($this->destLoginName); + $xfer += $output->writeFieldEnd(); + } + if ($this->destPort !== null) { + $xfer += $output->writeFieldBegin('destPort', TType::I64, 12); + $xfer += $output->writeI64($this->destPort); + $xfer += $output->writeFieldEnd(); + } + if ($this->destProtocol !== null) { + $xfer += $output->writeFieldBegin('destProtocol', TType::I32, 13); + $xfer += $output->writeI32($this->destProtocol); + $xfer += $output->writeFieldEnd(); + } + if ($this->destFilePath !== null) { + $xfer += $output->writeFieldBegin('destFilePath', TType::STRING, 14); + $xfer += $output->writeString($this->destFilePath); + $xfer += $output->writeFieldEnd(); + } + if ($this->destHostCredToken !== null) { + $xfer += $output->writeFieldBegin('destHostCredToken', TType::STRING, 15); + $xfer += $output->writeString($this->destHostCredToken); + $xfer += $output->writeFieldEnd(); + } + if ($this->fileTransferMode !== null) { + $xfer += $output->writeFieldBegin('fileTransferMode', TType::I32, 16); + $xfer += $output->writeI32($this->fileTransferMode); + $xfer += $output->writeFieldEnd(); + } + if ($this->transferStatus !== null) { + $xfer += $output->writeFieldBegin('transferStatus', TType::I32, 17); + $xfer += $output->writeI32($this->transferStatus); + $xfer += $output->writeFieldEnd(); + } + if ($this->fileSize !== null) { + $xfer += $output->writeFieldBegin('fileSize', TType::I64, 18); + $xfer += $output->writeI64($this->fileSize); + $xfer += $output->writeFieldEnd(); + } + if ($this->transferTime !== null) { + $xfer += $output->writeFieldBegin('transferTime', TType::I64, 19); + $xfer += $output->writeI64($this->transferTime); + $xfer += $output->writeFieldEnd(); + } + if ($this->createdTime !== null) { + $xfer += $output->writeFieldBegin('createdTime', TType::I64, 20); + $xfer += $output->writeI64($this->createdTime); + $xfer += $output->writeFieldEnd(); + } + if ($this->lastModifiedType !== null) { + $xfer += $output->writeFieldBegin('lastModifiedType', TType::I64, 21); + $xfer += $output->writeI64($this->lastModifiedType); + $xfer += $output->writeFieldEnd(); + } + if ($this->callbackEmails !== null) { + if (!is_array($this->callbackEmails)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('callbackEmails', TType::LST, 22); + { + $output->writeListBegin(TType::STRING, count($this->callbackEmails)); + { + foreach ($this->callbackEmails as $iter6) + { + $xfer += $output->writeString($iter6); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + +class LSEntryModel { + static $_TSPEC; + + /** + * @var int + */ + public $type = null; + /** + * @var int + */ + public $size = null; + /** + * @var string + */ + public $nativeType = null; + /** + * @var string + */ + public $name = null; + /** + * @var string + */ + public $path = null; + /** + * @var string + */ + public $storageHostName = null; + /** + * @var int + */ + public $lastModifiedType = null; + /** + * @var int + */ + public $createdTime = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'type', + 'type' => TType::I32, + ), + 2 => array( + 'var' => 'size', + 'type' => TType::I64, + ), + 3 => array( + 'var' => 'nativeType', + 'type' => TType::STRING, + ), + 4 => array( + 'var' => 'name', + 'type' => TType::STRING, + ), + 5 => array( + 'var' => 'path', + 'type' => TType::STRING, + ), + 6 => array( + 'var' => 'storageHostName', + 'type' => TType::STRING, + ), + 7 => array( + 'var' => 'lastModifiedType', + 'type' => TType::I64, + ), + 8 => array( + 'var' => 'createdTime', + 'type' => TType::I64, + ), + ); + } + if (is_array($vals)) { + if (isset($vals['type'])) { + $this->type = $vals['type']; + } + if (isset($vals['size'])) { + $this->size = $vals['size']; + } + if (isset($vals['nativeType'])) { + $this->nativeType = $vals['nativeType']; + } + if (isset($vals['name'])) { + $this->name = $vals['name']; + } + if (isset($vals['path'])) { + $this->path = $vals['path']; + } + if (isset($vals['storageHostName'])) { + $this->storageHostName = $vals['storageHostName']; + } + if (isset($vals['lastModifiedType'])) { + $this->lastModifiedType = $vals['lastModifiedType']; + } + if (isset($vals['createdTime'])) { + $this->createdTime = $vals['createdTime']; + } + } + } + + public function getName() { + return 'LSEntryModel'; + } + + public function read($input) + { + $xfer = 0; + $fname = null; + $ftype = 0; + $fid = 0; + $xfer += $input->readStructBegin($fname); + while (true) + { + $xfer += $input->readFieldBegin($fname, $ftype, $fid); + if ($ftype == TType::STOP) { + break; + } + switch ($fid) + { + case 1: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->type); + } else { + $xfer += $input->skip($ftype); + } + break; + case 2: + if ($ftype == TType::I64) { + $xfer += $input->readI64($this->size); + } else { + $xfer += $input->skip($ftype); + } + break; + case 3: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->nativeType); + } else { + $xfer += $input->skip($ftype); + } + break; + case 4: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->name); + } else { + $xfer += $input->skip($ftype); + } + break; + case 5: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->path); + } else { + $xfer += $input->skip($ftype); + } + break; + case 6: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->storageHostName); + } else { + $xfer += $input->skip($ftype); + } + break; + case 7: + if ($ftype == TType::I64) { + $xfer += $input->readI64($this->lastModifiedType); + } else { + $xfer += $input->skip($ftype); + } + break; + case 8: + if ($ftype == TType::I64) { + $xfer += $input->readI64($this->createdTime); + } else { + $xfer += $input->skip($ftype); + } + break; + default: + $xfer += $input->skip($ftype); + break; + } + $xfer += $input->readFieldEnd(); + } + $xfer += $input->readStructEnd(); + return $xfer; + } + + public function write($output) { + $xfer = 0; + $xfer += $output->writeStructBegin('LSEntryModel'); + if ($this->type !== null) { + $xfer += $output->writeFieldBegin('type', TType::I32, 1); + $xfer += $output->writeI32($this->type); + $xfer += $output->writeFieldEnd(); + } + if ($this->size !== null) { + $xfer += $output->writeFieldBegin('size', TType::I64, 2); + $xfer += $output->writeI64($this->size); + $xfer += $output->writeFieldEnd(); + } + if ($this->nativeType !== null) { + $xfer += $output->writeFieldBegin('nativeType', TType::STRING, 3); + $xfer += $output->writeString($this->nativeType); + $xfer += $output->writeFieldEnd(); + } + if ($this->name !== null) { + $xfer += $output->writeFieldBegin('name', TType::STRING, 4); + $xfer += $output->writeString($this->name); + $xfer += $output->writeFieldEnd(); + } + if ($this->path !== null) { + $xfer += $output->writeFieldBegin('path', TType::STRING, 5); + $xfer += $output->writeString($this->path); + $xfer += $output->writeFieldEnd(); + } + if ($this->storageHostName !== null) { + $xfer += $output->writeFieldBegin('storageHostName', TType::STRING, 6); + $xfer += $output->writeString($this->storageHostName); + $xfer += $output->writeFieldEnd(); + } + if ($this->lastModifiedType !== null) { + $xfer += $output->writeFieldBegin('lastModifiedType', TType::I64, 7); + $xfer += $output->writeI64($this->lastModifiedType); + $xfer += $output->writeFieldEnd(); + } + if ($this->createdTime !== null) { + $xfer += $output->writeFieldBegin('createdTime', TType::I64, 8); + $xfer += $output->writeI64($this->createdTime); + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + + http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/bca9259f/app/libraries/CommonUtilities.php ---------------------------------------------------------------------- diff --git a/app/libraries/CommonUtilities.php b/app/libraries/CommonUtilities.php index 4c55d7b..d79ee5d 100644 --- a/app/libraries/CommonUtilities.php +++ b/app/libraries/CommonUtilities.php @@ -112,6 +112,10 @@ class CommonUtilities ( array('label' => 'Create', 'url' => URL::to('/') . '/experiment/create', "nav-active" => "experiment"), array('label' => 'Browse', 'url' => URL::to('/') . '/experiment/browse', "nav-active" => "experiment") + ), + 'Data' => array + ( + array('label' => 'Browse', 'url' => URL::to('/') . '/data/browse', "nav-active" => "experiment") ) ); http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/bca9259f/app/routes.php ---------------------------------------------------------------------- diff --git a/app/routes.php b/app/routes.php index c32dd48..b394190 100755 --- a/app/routes.php +++ b/app/routes.php @@ -1,5 +1,11 @@ <?php + +/** + * Data Manager Related Routes + */ +Route::get("data/browse", "DataController@browseView"); + /* |-------------------------------------------------------------------------- | Application Routes http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/bca9259f/app/views/data/browse.blade.php ---------------------------------------------------------------------- diff --git a/app/views/data/browse.blade.php b/app/views/data/browse.blade.php new file mode 100644 index 0000000..0d92e7c --- /dev/null +++ b/app/views/data/browse.blade.php @@ -0,0 +1,35 @@ +@extends('layout.basic') + +@section('page-header') + @parent +@stop + +@section('content') + <br/> + <div class="container" style="max-width: 60%;"> + @foreach( $metadataModels as $index => $metadataModel ) + <div> + <div><a href="">{{$metadataModel->userFriendlyName}}</a></div> + <div> + + </div> + <div> + <span><a href="">{{$metadataModel->username}}</a></span> | + <span>2016-01-05 02:22</span> | + <span>ID: {{$metadataModel->metadataId}}</span> | + <span>{{$metadataModel->size/1024}} MB</span> + </div> + <div>Dynamo similar to C2-2, with a stress-free boundaries + and a 100km thick thermal layer + codBC.txt.in + 2 0 0 0.129 0.0 + </div> + </div> + <hr/> + @endforeach + </div> +@stop + +@section('scripts') + @parent +@stop \ No newline at end of file
