You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2016/01/14 16:43:04 UTC
[08/50] [abbrv] airavata-php-gateway git commit: implementing add
storage resource preference
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/281591eb/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
index f0cf287..84e6c9c 100644
--- a/app/libraries/Airavata/Model/Data/Resource/Types.php
+++ b/app/libraries/Airavata/Model/Data/Resource/Types.php
@@ -17,6 +17,28 @@ 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',
+ );
+}
+
class DataResourceModel {
static $_TSPEC;
@@ -27,6 +49,10 @@ class DataResourceModel {
/**
* @var string
*/
+ public $gatewayId = null;
+ /**
+ * @var string
+ */
public $resourceName = null;
/**
* @var string
@@ -48,6 +74,14 @@ class DataResourceModel {
* @var int
*/
public $lastModifiedTime = null;
+ /**
+ * @var array
+ */
+ public $resourceMetadata = null;
+ /**
+ * @var \Airavata\Model\Data\Resource\DataReplicaLocationModel[]
+ */
+ public $dataReplicaLocations = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -57,35 +91,63 @@ class DataResourceModel {
'type' => TType::STRING,
),
2 => array(
- 'var' => 'resourceName',
+ 'var' => 'gatewayId',
'type' => TType::STRING,
),
3 => array(
- 'var' => 'resourceDescription',
+ 'var' => 'resourceName',
'type' => TType::STRING,
),
4 => array(
- 'var' => 'ownerName',
+ 'var' => 'resourceDescription',
'type' => TType::STRING,
),
5 => array(
+ 'var' => 'ownerName',
+ 'type' => TType::STRING,
+ ),
+ 6 => array(
'var' => 'resourceSize',
'type' => TType::I32,
),
- 6 => array(
+ 7 => array(
'var' => 'creationTime',
'type' => TType::I64,
),
- 7 => array(
+ 8 => array(
'var' => 'lastModifiedTime',
'type' => TType::I64,
),
+ 9 => array(
+ 'var' => 'resourceMetadata',
+ 'type' => TType::MAP,
+ 'ktype' => TType::STRING,
+ 'vtype' => TType::STRING,
+ 'key' => array(
+ 'type' => TType::STRING,
+ ),
+ 'val' => array(
+ 'type' => TType::STRING,
+ ),
+ ),
+ 10 => array(
+ 'var' => 'dataReplicaLocations',
+ 'type' => TType::LST,
+ 'etype' => TType::STRUCT,
+ 'elem' => array(
+ 'type' => TType::STRUCT,
+ 'class' => '\Airavata\Model\Data\Resource\DataReplicaLocationModel',
+ ),
+ ),
);
}
if (is_array($vals)) {
if (isset($vals['resourceId'])) {
$this->resourceId = $vals['resourceId'];
}
+ if (isset($vals['gatewayId'])) {
+ $this->gatewayId = $vals['gatewayId'];
+ }
if (isset($vals['resourceName'])) {
$this->resourceName = $vals['resourceName'];
}
@@ -104,6 +166,12 @@ class DataResourceModel {
if (isset($vals['lastModifiedTime'])) {
$this->lastModifiedTime = $vals['lastModifiedTime'];
}
+ if (isset($vals['resourceMetadata'])) {
+ $this->resourceMetadata = $vals['resourceMetadata'];
+ }
+ if (isset($vals['dataReplicaLocations'])) {
+ $this->dataReplicaLocations = $vals['dataReplicaLocations'];
+ }
}
}
@@ -135,46 +203,91 @@ class DataResourceModel {
break;
case 2:
if ($ftype == TType::STRING) {
- $xfer += $input->readString($this->resourceName);
+ $xfer += $input->readString($this->gatewayId);
} else {
$xfer += $input->skip($ftype);
}
break;
case 3:
if ($ftype == TType::STRING) {
- $xfer += $input->readString($this->resourceDescription);
+ $xfer += $input->readString($this->resourceName);
} else {
$xfer += $input->skip($ftype);
}
break;
case 4:
if ($ftype == TType::STRING) {
- $xfer += $input->readString($this->ownerName);
+ $xfer += $input->readString($this->resourceDescription);
} else {
$xfer += $input->skip($ftype);
}
break;
case 5:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->ownerName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 6:
if ($ftype == TType::I32) {
$xfer += $input->readI32($this->resourceSize);
} else {
$xfer += $input->skip($ftype);
}
break;
- case 6:
+ case 7:
if ($ftype == TType::I64) {
$xfer += $input->readI64($this->creationTime);
} else {
$xfer += $input->skip($ftype);
}
break;
- case 7:
+ case 8:
if ($ftype == TType::I64) {
$xfer += $input->readI64($this->lastModifiedTime);
} else {
$xfer += $input->skip($ftype);
}
break;
+ case 9:
+ 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 10:
+ if ($ftype == TType::LST) {
+ $this->dataReplicaLocations = 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->dataReplicaLocations []= $elem12;
+ }
+ $xfer += $input->readListEnd();
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -193,36 +306,76 @@ class DataResourceModel {
$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->resourceName !== null) {
- $xfer += $output->writeFieldBegin('resourceName', TType::STRING, 2);
+ $xfer += $output->writeFieldBegin('resourceName', TType::STRING, 3);
$xfer += $output->writeString($this->resourceName);
$xfer += $output->writeFieldEnd();
}
if ($this->resourceDescription !== null) {
- $xfer += $output->writeFieldBegin('resourceDescription', TType::STRING, 3);
+ $xfer += $output->writeFieldBegin('resourceDescription', TType::STRING, 4);
$xfer += $output->writeString($this->resourceDescription);
$xfer += $output->writeFieldEnd();
}
if ($this->ownerName !== null) {
- $xfer += $output->writeFieldBegin('ownerName', TType::STRING, 4);
+ $xfer += $output->writeFieldBegin('ownerName', TType::STRING, 5);
$xfer += $output->writeString($this->ownerName);
$xfer += $output->writeFieldEnd();
}
if ($this->resourceSize !== null) {
- $xfer += $output->writeFieldBegin('resourceSize', TType::I32, 5);
+ $xfer += $output->writeFieldBegin('resourceSize', TType::I32, 6);
$xfer += $output->writeI32($this->resourceSize);
$xfer += $output->writeFieldEnd();
}
if ($this->creationTime !== null) {
- $xfer += $output->writeFieldBegin('creationTime', TType::I64, 6);
+ $xfer += $output->writeFieldBegin('creationTime', TType::I64, 7);
$xfer += $output->writeI64($this->creationTime);
$xfer += $output->writeFieldEnd();
}
if ($this->lastModifiedTime !== null) {
- $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 7);
+ $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 8);
$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, 9);
+ {
+ $output->writeMapBegin(TType::STRING, TType::STRING, count($this->resourceMetadata));
+ {
+ foreach ($this->resourceMetadata as $kiter13 => $viter14)
+ {
+ $xfer += $output->writeString($kiter13);
+ $xfer += $output->writeString($viter14);
+ }
+ }
+ $output->writeMapEnd();
+ }
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->dataReplicaLocations !== null) {
+ if (!is_array($this->dataReplicaLocations)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('dataReplicaLocations', TType::LST, 10);
+ {
+ $output->writeListBegin(TType::STRUCT, count($this->dataReplicaLocations));
+ {
+ foreach ($this->dataReplicaLocations as $iter15)
+ {
+ $xfer += $iter15->write($output);
+ }
+ }
+ $output->writeListEnd();
+ }
+ $xfer += $output->writeFieldEnd();
+ }
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
@@ -258,9 +411,21 @@ class DataReplicaLocationModel {
*/
public $lastModifiedTime = null;
/**
+ * @var int
+ */
+ public $replicaLocationCategory = null;
+ /**
+ * @var int
+ */
+ public $replicaPersistentType = null;
+ /**
* @var string[]
*/
public $dataLocations = null;
+ /**
+ * @var array
+ */
+ public $replicaMetadata = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -290,6 +455,14 @@ class DataReplicaLocationModel {
'type' => TType::I64,
),
7 => array(
+ 'var' => 'replicaLocationCategory',
+ 'type' => TType::I32,
+ ),
+ 8 => array(
+ 'var' => 'replicaPersistentType',
+ 'type' => TType::I32,
+ ),
+ 9 => array(
'var' => 'dataLocations',
'type' => TType::LST,
'etype' => TType::STRING,
@@ -297,6 +470,18 @@ class DataReplicaLocationModel {
'type' => TType::STRING,
),
),
+ 10 => 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)) {
@@ -318,9 +503,18 @@ class DataReplicaLocationModel {
if (isset($vals['lastModifiedTime'])) {
$this->lastModifiedTime = $vals['lastModifiedTime'];
}
+ if (isset($vals['replicaLocationCategory'])) {
+ $this->replicaLocationCategory = $vals['replicaLocationCategory'];
+ }
+ if (isset($vals['replicaPersistentType'])) {
+ $this->replicaPersistentType = $vals['replicaPersistentType'];
+ }
if (isset($vals['dataLocations'])) {
$this->dataLocations = $vals['dataLocations'];
}
+ if (isset($vals['replicaMetadata'])) {
+ $this->replicaMetadata = $vals['replicaMetadata'];
+ }
}
}
@@ -386,22 +580,56 @@ class DataReplicaLocationModel {
}
break;
case 7:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->replicaLocationCategory);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 8:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->replicaPersistentType);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 9:
if ($ftype == TType::LST) {
$this->dataLocations = array();
- $_size0 = 0;
- $_etype3 = 0;
- $xfer += $input->readListBegin($_etype3, $_size0);
- for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+ $_size16 = 0;
+ $_etype19 = 0;
+ $xfer += $input->readListBegin($_etype19, $_size16);
+ for ($_i20 = 0; $_i20 < $_size16; ++$_i20)
{
- $elem5 = null;
- $xfer += $input->readString($elem5);
- $this->dataLocations []= $elem5;
+ $elem21 = null;
+ $xfer += $input->readString($elem21);
+ $this->dataLocations []= $elem21;
}
$xfer += $input->readListEnd();
} else {
$xfer += $input->skip($ftype);
}
break;
+ case 10:
+ if ($ftype == TType::MAP) {
+ $this->replicaMetadata = array();
+ $_size22 = 0;
+ $_ktype23 = 0;
+ $_vtype24 = 0;
+ $xfer += $input->readMapBegin($_ktype23, $_vtype24, $_size22);
+ for ($_i26 = 0; $_i26 < $_size22; ++$_i26)
+ {
+ $key27 = '';
+ $val28 = '';
+ $xfer += $input->readString($key27);
+ $xfer += $input->readString($val28);
+ $this->replicaMetadata[$key27] = $val28;
+ }
+ $xfer += $input->readMapEnd();
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -445,23 +673,51 @@ class DataReplicaLocationModel {
$xfer += $output->writeI64($this->lastModifiedTime);
$xfer += $output->writeFieldEnd();
}
+ if ($this->replicaLocationCategory !== null) {
+ $xfer += $output->writeFieldBegin('replicaLocationCategory', TType::I32, 7);
+ $xfer += $output->writeI32($this->replicaLocationCategory);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->replicaPersistentType !== null) {
+ $xfer += $output->writeFieldBegin('replicaPersistentType', TType::I32, 8);
+ $xfer += $output->writeI32($this->replicaPersistentType);
+ $xfer += $output->writeFieldEnd();
+ }
if ($this->dataLocations !== null) {
if (!is_array($this->dataLocations)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
- $xfer += $output->writeFieldBegin('dataLocations', TType::LST, 7);
+ $xfer += $output->writeFieldBegin('dataLocations', TType::LST, 9);
{
$output->writeListBegin(TType::STRING, count($this->dataLocations));
{
- foreach ($this->dataLocations as $iter6)
+ foreach ($this->dataLocations as $iter29)
{
- $xfer += $output->writeString($iter6);
+ $xfer += $output->writeString($iter29);
}
}
$output->writeListEnd();
}
$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, 10);
+ {
+ $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/281591eb/app/libraries/SRUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/SRUtilities.php b/app/libraries/SRUtilities.php
index 6b8b1ad..a380026 100644
--- a/app/libraries/SRUtilities.php
+++ b/app/libraries/SRUtilities.php
@@ -5,7 +5,7 @@
//Compute Resource classes
use Airavata\Model\Data\Movement\DataMovementProtocol;
use Airavata\Model\AppCatalog\StorageResource\StorageResourceDescription;
-use Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference;
+use Airavata\Model\AppCatalog\GatewayProfile\StoragePreference;
use Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile;
use Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement;
@@ -274,18 +274,19 @@ class SRUtilities
return Airavata::updateGatewayResourceProfile( Session::get('authz-token'), $data["gateway_id"], $gatewayResourceProfile);
}
- public static function add_or_update_CRP($inputs)
+ public static function add_or_update_DSP($inputs)
{
- $computeResourcePreferences = new computeResourcePreference($inputs);
+ $storagePreference = new StoragePreference($inputs);
if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
- if (Cache::has('CR-' . $inputs["computeResourceId"])) {
- Cache::forget('CR-' . $inputs["computeResourceId"]);
+ if (Cache::has('SR-' . $inputs["storageResourceId"])) {
+ Cache::forget('SR-' . $inputs["storageResourceId"]);
}
}
//var_dump( $inputs); exit;
- return Airavata::addGatewayComputeResourcePreference(Session::get('authz-token'), $inputs["gatewayId"], $inputs["computeResourceId"], $computeResourcePreferences);
+ return Airavata::addGatewayStoragePreference(Session::get('authz-token'), $inputs["gatewayId"], $inputs["storageResourceId"],
+ $storagePreference);
}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/281591eb/app/routes.php
----------------------------------------------------------------------
diff --git a/app/routes.php b/app/routes.php
index 474babb..988cd1c 100755
--- a/app/routes.php
+++ b/app/routes.php
@@ -188,6 +188,10 @@ Route::post("gp/add-crp", "GatewayprofileController@modifyCRP");
Route::post("gp/update-crp", "GatewayprofileController@modifyCRP");
+Route::post("gp/add-dsp", "GatewayprofileController@modifyDSP");
+
+Route::post("gp/update-dsp", "GatewayprofileController@modifyDSP");
+
Route::post("gp/credential-store-token-change", "GatewayprofileController@cstChange");
//Management Dashboard
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/281591eb/app/views/admin/manage-gateway.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/manage-gateway.blade.php b/app/views/admin/manage-gateway.blade.php
index 3ccc9b5..be36325 100644
--- a/app/views/admin/manage-gateway.blade.php
+++ b/app/views/admin/manage-gateway.blade.php
@@ -356,6 +356,24 @@
</div>
</div>
+<div class="add-data-storage-preference-block hide">
+ <div class="well">
+ <form action="{{URL::to('/')}}/gp/add-dsp" method="POST">
+ <input type="hidden" name="gatewayId" id="gatewayId" value="">
+
+ <div class="input-group">
+ <select name="storageResourceId" class="sr-select form-control">
+ <option value="">Select a Data Storage Resource and set its preferences</option>
+ @foreach( (array)$storageResources as $index => $sr)
+ <option value="{{ $sr->storageResourceId}}">{{ $sr->hostName }}</option>
+ @endforeach
+ </select>
+ <span class="input-group-addon remove-cr" style="cursor:pointer;">x</span>
+ </div>
+ <div class="pref-space form-horizontal"></div>
+ </form>
+ </div>
+</div>
<!-- Remove a Compute Resource from a Gateway -->
<div class="modal fade" id="remove-resource-block" tabindex="-1" role="dialog" aria-labelledby="add-modal"
@@ -407,6 +425,10 @@
@include('partials/compute-resource-preferences', array('computeResource' => $cr, 'crData' => $crData))
@endforeach
+<!-- contains all storage resource choices that might get selected on adding a new one to a gateway -->
+@foreach( (array)$storageResources as $index => $sr)
+ @include('partials/storage-resource-preferences', array('storageResource' => $sr, 'srData' => $srData))
+@endforeach
@stop
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/281591eb/app/views/partials/storage-resource-preferences.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/storage-resource-preferences.blade.php b/app/views/partials/storage-resource-preferences.blade.php
index 42b056b..9a18533 100644
--- a/app/views/partials/storage-resource-preferences.blade.php
+++ b/app/views/partials/storage-resource-preferences.blade.php
@@ -16,11 +16,11 @@ dmi preference might be needed in the future
<div class="col-md-9">
<select name="preferredDataMovementProtocol" class="form-control">
- @foreach( (array)$computeResource->dataMovementInterfaces as $index => $dmi)
- <option value="{{ $dmi->dataMovementProtocol}}"
- @if( isset( $preferences) ) @if( $preferences->preferredDataMovementProtocol == $dmi->dataMovementProtocol)
- selected @endif @endif>{{ $crData["dataMovementProtocols"][$dmi->dataMovementProtocol] }}</option>
- @endforeach
+{{-- @foreach( (array)$computeResource->dataMovementInterfaces as $index => $dmi)--}}
+ {{--<option value="{{ $dmi->dataMovementProtocol}}"--}}
+{{-- @if( isset( $preferences) ) @if( $preferences->preferredDataMovementProtocol == $dmi->dataMovementProtocol)--}}
+{{-- selected @endif @endif>{{ $crData["dataMovementProtocols"][$dmi->dataMovementProtocol] }}</option>--}}
+ {{--@endforeach--}}
</select>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/281591eb/public/js/gateway.js
----------------------------------------------------------------------
diff --git a/public/js/gateway.js b/public/js/gateway.js
index 919efeb..b8876c6 100644
--- a/public/js/gateway.js
+++ b/public/js/gateway.js
@@ -39,6 +39,12 @@ $(document).ready(function () {
$(this).after( $(".add-compute-resource-block").html() );
});
+ $(".add-dsp").click( function(){
+
+ $(".add-data-storage-preference-block").find("#gatewayId").val( $(this).data("gpid"));
+ $(this).after( $(".add-data-storage-preference-block").html() );
+ });
+
$("body").on("change", ".cr-select", function(){
crId = $(this).val();
//This is done as Jquery creates problems when using period(.) in id or class.
@@ -46,6 +52,13 @@ $(document).ready(function () {
$(".pref-space").html($("#cr-" + crId).html());
});
+ $("body").on("change", ".sr-select", function(){
+ srId = $(this).val();
+ //This is done as Jquery creates problems when using period(.) in id or class.
+ srId = srId.replace(/\./g,"_");
+ $(".pref-space").html($("#sr-" + srId).html());
+ });
+
$(".edit-gateway").click( function(){
$(".edit-gp-name").val( $(this).data("gp-name") );
$(".edit-gp-desc").val( $(this).data("gp-desc") );