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 @@