From a5dab9eeadb1a8fa8bcdce1a523037a71cdc38a6 Mon Sep 17 00:00:00 2001 From: Karan Kotabagi Date: Tue, 7 Aug 2018 11:51:35 -0400 Subject: [PATCH 1/2] Added WebDAV Data Movement interface --- app/libraries/CRUtilities.php | 15 +++++++++++ app/libraries/SRUtilities.php | 14 ++++++++++ app/views/resource/edit.blade.php | 31 +++++++++++++++++++++++ app/views/resource/view.blade.php | 1 + app/views/storage-resource/edit.blade.php | 31 +++++++++++++++++++++++ app/views/storage-resource/view.blade.php | 23 +++++++++++++++++ public/js/script.js | 7 +++++ 7 files changed, 122 insertions(+) diff --git a/app/libraries/CRUtilities.php b/app/libraries/CRUtilities.php index 8a815a131..860bab3d2 100755 --- a/app/libraries/CRUtilities.php +++ b/app/libraries/CRUtilities.php @@ -20,6 +20,7 @@ use Airavata\Model\Data\Movement\SecurityProtocol; use Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission; use Airavata\Model\Data\Movement\UnicoreDataMovement; +use Airavata\Model\Data\Movement\WebDAVDataMovement; use Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission; use Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission; use Airavata\Model\AppCatalog\ComputeResource\ProviderName; @@ -353,6 +354,18 @@ public static function create_or_update_DMIObject($inputs, $update = false) $unicoredmp = Airavata::updateUnicoreDataMovementDetails(Session::get('authz-token'), $inputs["dmiId"], $unicoreDataMovement); else $unicoredmp = Airavata::addUnicoreDataMovementDetails(Session::get('authz-token'), $computeResource->computeResourceId, DMType::COMPUTE_RESOURCE, 0, $unicoreDataMovement); + } else if ($inputs["dataMovementProtocol"] == DataMovementProtocol::WebDAV) /* WebDAV */ { + //var_dump( $inputs); exit; + $davDataMovement = new WebDAVDataMovement(array( + "securityProtocol" => intval($inputs["securityProtocol"]), + "webDavHostName" => $inputs["webDavHostName"], + "port" => intval($inputs["port"]) + ) + ); + if ($update) + $davdmp = Airavata::updateWebDAVDataMovementDetails(Session::get('authz-token'), $inputs["dmiId"], $davDataMovement); + else + $davdmp = Airavata::addWebDAVDataMovementDetails(Session::get('authz-token'), $computeResource->computeResourceId, DMType::COMPUTE_RESOURCE, 0, $davDataMovement); } else /* other data movement protocols */ { print_r("Whoops! We haven't coded for this Data Movement Protocol yet. Still working on it. Please click here to go back to edit page for compute resource."); } @@ -408,6 +421,8 @@ public static function getDataMovementDetails($dataMovementInterfaceId, $dmi) return Airavata::getGridFTPDataMovement(Session::get('authz-token'), $dataMovementInterfaceId); else if ($dmi == DataMovementProtocol::UNICORE_STORAGE_SERVICE) return Airavata::getUnicoreDataMovement(Session::get('authz-token'), $dataMovementInterfaceId); + else if ($dmi == DataMovementProtocol::WebDAV) + return Airavata::getWebDAVDataMovement(Session::get('authz-token'), $dataMovementInterfaceId); /* else if( $dmi == JobSubmissionProtocol::CLOUD) return $airavataclient->getCloudJobSubmission( $dataMovementInterfaceId); diff --git a/app/libraries/SRUtilities.php b/app/libraries/SRUtilities.php index 377a526db..8cc642bfc 100644 --- a/app/libraries/SRUtilities.php +++ b/app/libraries/SRUtilities.php @@ -18,6 +18,7 @@ use Airavata\Model\Data\Movement\SCPDataMovement; use Airavata\Model\Data\Movement\SecurityProtocol; use Airavata\Model\Data\Movement\UnicoreDataMovement; +use Airavata\Model\Data\Movement\WebDAVDataMovement; //Gateway Classes @@ -119,6 +120,17 @@ public static function create_or_update_DMIObject($inputs, $update = false) $unicoredmp = Airavata::updateUnicoreDataMovementDetails(Session::get('authz-token'), $inputs["dmiId"], $unicoreDataMovement); else $unicoredmp = Airavata::addUnicoreDataMovementDetails(Session::get('authz-token'), $storageResource->storageResourceId, DMType::STORAGE_RESOURCE, 0, $unicoreDataMovement); + } else if ($inputs["dataMovementProtocol"] == DataMovementProtocol::WebDAV) /* WebDAV */ { + $davDataMovement = new WebDAVDataMovement(array( + "securityProtocol" => intval($inputs["securityProtocol"]), + "webDavHostName" => $inputs["webDavHostName"], + "port" => intval($inputs["port"]) + ) + ); + if ($update) + $davdmp = Airavata::updateWebDAVDataMovementDetails(Session::get('authz-token'), $inputs["dmiId"], $davDataMovement); + else + $davdmp = Airavata::addWebDAVDataMovementDetails(Session::get('authz-token'), $storageResource->storageResourceId, DMType::STORAGE_RESOURCE, 0, $davDataMovement); } else /* other data movement protocols */ { print_r("Whoops! We haven't coded for this Data Movement Protocol yet. Still working on it. Please click here to go back to edit page for compute resource."); } @@ -173,6 +185,8 @@ public static function getDataMovementDetails($dataMovementInterfaceId, $dmi) return Airavata::getGridFTPDataMovement(Session::get('authz-token'), $dataMovementInterfaceId); else if ($dmi == DataMovementProtocol::UNICORE_STORAGE_SERVICE) return Airavata::getUnicoreDataMovement(Session::get('authz-token'), $dataMovementInterfaceId); + else if ($dmi == DataMovementProtocol::WebDAV) + return Airavata::getWebDAVDataMovement(Session::get('authz-token'), $dataMovementInterfaceId); /* else if( $dmi == JobSubmissionProtocol::CLOUD) return $airavataclient->getCloudJobSubmission( $dataMovementInterfaceId); diff --git a/app/views/resource/edit.blade.php b/app/views/resource/edit.blade.php index 8f47741a8..2235fecaf 100644 --- a/app/views/resource/edit.blade.php +++ b/app/views/resource/edit.blade.php @@ -478,6 +478,29 @@
+ @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::WebDAV) +
+ + +
+ +
+ + +
+
+ + +
+
+ +
@endif @@ -588,6 +611,14 @@ +
+ + +
+
+ + +
diff --git a/app/views/resource/view.blade.php b/app/views/resource/view.blade.php index 12200d2be..ccf1f9d44 100644 --- a/app/views/resource/view.blade.php +++ b/app/views/resource/view.blade.php @@ -384,6 +384,7 @@ class="form-control selected-resource-manager"
+ @endif diff --git a/app/views/storage-resource/edit.blade.php b/app/views/storage-resource/edit.blade.php index 103993943..fff0149e0 100644 --- a/app/views/storage-resource/edit.blade.php +++ b/app/views/storage-resource/edit.blade.php @@ -169,6 +169,29 @@
+ @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::WebDAV) +
+ + +
+ +
+ + +
+
+ + +
+
+ +
@endif @@ -272,6 +295,14 @@ +
+ + +
+
+ + +
diff --git a/app/views/storage-resource/view.blade.php b/app/views/storage-resource/view.blade.php index 4f91ac97b..8a29c3b59 100644 --- a/app/views/storage-resource/view.blade.php +++ b/app/views/storage-resource/view.blade.php @@ -364,6 +364,29 @@ class="form-control selected-resource-manager"
+ @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::WebDAV) +
+ + +
+ +
+ + +
+
+ + +
+
+ +
@endif diff --git a/public/js/script.js b/public/js/script.js index c2727c7e0..58e0021fa 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -198,6 +198,13 @@ $(document).ready( function(){ + "" + "" ); } + else if( selectedVal == "webdav" ) + { + $(this).after( parentDataDiv + + $(".ssh-block").html() + + "" ); + $(this).parent().find(".addedWebDavValue").removeClass("hide"); + } else{ alert("Something went wrong. Please try again"); $(".dmpSubmit").addClass("hide"); From bbc7e32d1a75d5ffcac23b9758eda38e7f1a9ba5 Mon Sep 17 00:00:00 2001 From: Karan Kotabagi Date: Tue, 7 Aug 2018 11:56:33 -0400 Subject: [PATCH 2/2] Fixed Blank Line --- app/views/resource/view.blade.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/views/resource/view.blade.php b/app/views/resource/view.blade.php index ccf1f9d44..12200d2be 100644 --- a/app/views/resource/view.blade.php +++ b/app/views/resource/view.blade.php @@ -384,7 +384,6 @@ class="form-control selected-resource-manager" - @endif