You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by nd...@apache.org on 2015/05/01 23:33:41 UTC

[54/57] airavata-php-gateway git commit: AIRAVATA-1695 Queues are now selected dynamically

AIRAVATA-1695 Queues are now selected dynamically


Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/a88b5d69
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/a88b5d69
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/a88b5d69

Branch: refs/heads/master
Commit: a88b5d69ee31460be4607fd38ee285d44a482acc
Parents: 01413d6
Author: nipunhere <ni...@gmail.com>
Authored: Fri May 1 17:14:48 2015 -0400
Committer: nipunhere <ni...@gmail.com>
Committed: Fri May 1 17:14:48 2015 -0400

----------------------------------------------------------------------
 app/controllers/ComputeResource.php             |  238 --
 app/controllers/ExperimentController.php        |   43 +-
 app/controllers/ResourceController.php          |  238 ++
 app/libraries/Utilities.php                     | 2098 +++++++++++++++++
 app/libraries/utilities.php                     | 2111 ------------------
 app/routes.php                                  |   22 +-
 app/views/experiment/create-complete.blade.php  |   17 +-
 app/views/layout/basic.blade.php                |   14 +
 app/views/partials/experiment-inputs.blade.php  |   52 +-
 .../partials/experiment-queue-block.blade.php   |  107 +
 10 files changed, 2538 insertions(+), 2402 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/a88b5d69/app/controllers/ComputeResource.php
----------------------------------------------------------------------
diff --git a/app/controllers/ComputeResource.php b/app/controllers/ComputeResource.php
deleted file mode 100755
index 6644c73..0000000
--- a/app/controllers/ComputeResource.php
+++ /dev/null
@@ -1,238 +0,0 @@
-<?php
-
-class ComputeResource extends BaseController{
-	
-	/**
-	*    Instantiate a new Compute Resource Controller Instance
-	**/
-
-	public function __construct()
-	{
-		$this->beforeFilter('verifyadmin');
-		Session::put("nav-active", "compute-resource");
-
-	}
-
-	public function createView(){
-			return View::make("resource/create");
-	}
-
-	public function createSubmit(){
-
-		$hostAliases = Input::get("hostaliases");
-		$ips = Input::get("ips");
-		$computeDescription = array( 
-									"hostName"=> trim( Input::get("hostname") ),
-									"hostAliases"=> array_unique( array_filter( $hostAliases) ),
-									"ipAddresses"=> array_unique( array_filter( $ips) ),
-									"resourceDescription"=>Input::get("description") 
-									);
-		$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription);
-		
-		return Redirect::to( "cr/edit?crId=" . $computeResource->computeResourceId);
-	}
-
-	public function editView(){
-		
-		$data = CRUtilities::getEditCRData();
-		$computeResourceId = "";
-		if( Input::has("crId"))
-			$computeResourceId = Input::get("crId");
-		else if( Session::has("computeResource"))
-		{
-			$computeResource = Session::get("computeResource");
-			$computeResourceId = $computeResource->computeResourceId;
-		}
-
-		if( $computeResourceId != "")
-		{
-			$computeResource = Utilities::get_compute_resource(  $computeResourceId);
-			$jobSubmissionInterfaces = array();
-			$dataMovementInterfaces = array();
-			$addedJSP = array();
-			$addedDMI = array();
-			//var_dump( $computeResource->jobSubmissionInterfaces); exit;
-			if( count( $computeResource->jobSubmissionInterfaces) )
-			{
-				foreach( $computeResource->jobSubmissionInterfaces as $JSI )
-				{
-					$jobSubmissionInterfaces[] = CRUtilities::getJobSubmissionDetails( $JSI->jobSubmissionInterfaceId, $JSI->jobSubmissionProtocol);
-					$addedJSP[] = $JSI->jobSubmissionProtocol;
-				}
-			}
-			//var_dump( CRUtilities::getJobSubmissionDetails( $data["computeResource"]->jobSubmissionInterfaces[0]->jobSubmissionInterfaceId, 1) ); exit;
-			if( count( $computeResource->dataMovementInterfaces) )
-			{
-				foreach( $computeResource->dataMovementInterfaces as $DMI )
-				{
-					$dataMovementInterfaces[] = CRUtilities::getDataMovementDetails( $DMI->dataMovementInterfaceId, $DMI->dataMovementProtocol);
-					$addedDMI[] = $DMI->dataMovementProtocol;
-				}
-			}
-
-			$data["computeResource"] = $computeResource;
-			$data["jobSubmissionInterfaces"] = $jobSubmissionInterfaces;
-			$data["dataMovementInterfaces"] = $dataMovementInterfaces;
-			$data["addedJSP"] = $addedJSP;
-			$data["addedDMI"] = $addedDMI;
-			//var_dump($data["jobSubmissionInterfaces"]); exit;
-			return View::make("resource/edit", $data);
-		}
-		else
-			return View::make("resource/browse")->with("login-alert", "Unable to retrieve this Compute Resource. Please report this error to devs.");
-
-	}
-		
-	public function editSubmit(){
-
-		$tabName = "";
-		if( Input::get("cr-edit") == "resDesc") /* Modify compute Resource description */
-		{
-			$computeDescription = Utilities::get_compute_resource(  Input::get("crId"));
-			$computeDescription->hostName = trim( Input::get("hostname") );
-			$computeDescription->hostAliases = array_unique( array_filter( Input::get("hostaliases") ) );
-			$computeDescription->ipAddresses = array_unique( array_filter( Input::get("ips") ) );
-			$computeDescription->resourceDescription = Input::get("description");
-			$computeDescription->maxMemoryPerNode = Input::get("maxMemoryPerNode");
-			//var_dump( $computeDescription); exit;
-
-			$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription, true);
-
-			$tabName =  "#tab-desc";
-		}
-		if( Input::get("cr-edit") == "queue") /* Add / Modify a Queue */
-		{
-			$queue = array( "queueName"			=>Input::get("qname"),
-							"queueDescription"	=>Input::get("qdesc"),
-							"maxRunTime"		=>Input::get( "qmaxruntime"),
-							"maxNodes"			=>Input::get("qmaxnodes"),
-							"maxProcessors"		=>Input::get("qmaxprocessors"),
-							"maxJobsInQueue"	=>Input::get("qmaxjobsinqueue"),
-							"maxMemory"			=>Input::get("qmaxmemoryinqueue")
-						);
-
-			$computeDescription = Utilities::get_compute_resource(  Input::get("crId"));
-			$computeDescription->batchQueues[] = CRUtilities::createQueueObject( $queue);
-			$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription, true);
-			//var_dump( $computeResource); exit;
-			$tabName = "#tab-queues";
-		}
-		else if( Input::get("cr-edit") == "delete-queue" )
-		{
-			CRUtilities::deleteQueue( Input::get("crId"), Input::get("queueName") );
-			$tabName = "#tab-queues";
-		} 
-		else if( Input::get("cr-edit") == "fileSystems")
-		{
-			$computeDescription = Utilities::get_compute_resource(  Input::get("crId"));
-			$computeDescription->fileSystems = array_filter( Input::get("fileSystems"), "trim");
-			$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription, true);
-
-			$tabName = "#tab-filesystem";
-		}
-		else if( Input::get("cr-edit") == "jsp" ||  Input::get("cr-edit") == "edit-jsp" ) /* Add / Modify a Job Submission Interface */
-		{		
-			$update = false;	
-			if( Input::get("cr-edit") == "edit-jsp")
-				$update = true;
-
-			$jobSubmissionInterface = CRUtilities::create_or_update_JSIObject( Input::all(), $update );
-
-			$tabName = "#tab-jobSubmission";
-		}
-		else if( Input::get("cr-edit") == "jsi-priority") 
-		{
-			$inputs = Input::all();
-			$computeDescription = Utilities::get_compute_resource(  Input::get("crId"));
-			foreach( $computeDescription->jobSubmissionInterfaces as $index => $jsi)
-			{
-				foreach( $inputs["jsi-id"] as $idIndex => $jsiId)
-				{
-					if( $jsiId == $jsi->jobSubmissionInterfaceId )
-					{
-						$computeDescription->jobSubmissionInterfaces[$index]->priorityOrder = $inputs["jsi-priority"][$idIndex];
-						break;
-					}
-				}
-			}
-			$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription, true);
-
-			return 1; //currently done by ajax.
-		}
-		else if( Input::get("cr-edit") == "dmp" ||  Input::get("cr-edit") == "edit-dmi" ) /* Add / Modify a Data Movement Interface */
-		{
-			$update = false;	
-			if( Input::get("cr-edit") == "edit-dmi")
-				$update = true;
-			$dataMovementInterface = CRUtilities::create_or_update_DMIObject( Input::all(), $update );
-
-			$tabName = "#tab-dataMovement";
-		}
-		else if( Input::get("cr-edit") == "dmi-priority") 
-		{
-			$inputs = Input::all();
-			$computeDescription = Utilities::get_compute_resource(  Input::get("crId"));
-			foreach( $computeDescription->dataMovementInterfaces as $index => $dmi)
-			{
-				foreach( $inputs["dmi-id"] as $idIndex => $dmiId)
-				{
-					if( $dmiId == $dmi->dataMovementInterfaceId )
-					{
-						$computeDescription->dataMovementInterfaces[$index]->priorityOrder = $inputs["dmi-priority"][$idIndex];
-						break;
-					}
-				}
-			}
-			$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription, true);
-
-			return 1; //currently done by ajax.
-		}
-
-		return Redirect::to("cr/edit?crId=" . Input::get("crId") . $tabName );
-	}
-
-	public function deleteActions(){
-
-		$result = CRUtilities::deleteActions( Input::all() );
-		if( Input::has("jsiId"))
-		{
-			return Redirect::to("cr/edit?crId=" . Input::get("crId"). "#tab-jobSubmission")
-							->with("message", "Job Submission Interface was deleted successfully");
-		}
-		if( Input::has("dmiId"))
-		{
-			return Redirect::to("cr/edit?crId=" . Input::get("crId"). "#tab-dataMovement")
-							->with( "message", "Data Movement Protocol was deleted successfully");
-		}
-		elseif( Input::has("del-crId") )
-		{
-			return Redirect::to("cr/browse")->with("message", "The Compute Resource has been successfully deleted.");
-		}
-		else
-			return $result;
-	}
-
-	public function browseView(){
-		$data = CRUtilities::getBrowseCRData();
-		$allCRs = $data["crObjects"];
-		$appDeployments = $data["appDeployments"];
-
-		$connectedDeployments = array();
-		foreach( (array)$allCRs as $crId => $crName)
-		{
-			$connectedDeployments[ $crId] = 0;
-			foreach( (array)$appDeployments as $deploymentObject)
-			{
-				if( $crId == $deploymentObject->computeHostId)
-					$connectedDeployments[$crId]++;
-			}
-		}
-		return View::make("resource/browse", array(
-												"allCRs" => $allCRs,
-												"connectedDeployments" => $connectedDeployments
-												));
-
-	}
-}
-
-?>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/a88b5d69/app/controllers/ExperimentController.php
----------------------------------------------------------------------
diff --git a/app/controllers/ExperimentController.php b/app/controllers/ExperimentController.php
index 69abd00..0968d81 100755
--- a/app/controllers/ExperimentController.php
+++ b/app/controllers/ExperimentController.php
@@ -26,7 +26,16 @@ class ExperimentController extends BaseController {
 		{
 			Session::put( 'exp_create_continue', true);
 			
+			$computeResources = Utilities::create_compute_resources_select($_POST['application'], null);
+
 			$app_config = Utilities::read_config();
+
+			$queueDefaults = array( "queueName" => $app_config["queue-name"],
+						        	"nodeCount" => $app_config["node-count"],
+						        	"cpuCount" => $app_config["total-cpu-count"],
+						        	"wallTimeLimit" => $app_config["wall-time-limit"]
+							);
+
 			$experimentInputs = array( 
 								"disabled" => ' disabled',
 						        "experimentName" => $_POST['experiment-name'],
@@ -36,11 +45,10 @@ class ExperimentController extends BaseController {
 						        "allowedFileSize" => $app_config["server-allowed-file-size"],
 						        "echo" => ($_POST['application'] == 'Echo')? ' selected' : '',
 						        "wrf" => ($_POST['application'] == 'WRF')? ' selected' : '',
-						        "queueName" => $app_config["queue-name"],
-						        "nodeCount" => $app_config["node-count"],
-						        "cpuCount" => $app_config["total-cpu-count"],
-						        "wallTimeLimit" => $app_config["wall-time-limit"],
-						        "advancedOptions" => $app_config["advanced-experiment-options"]
+						        "queueDefaults" => $queueDefaults,
+						        "advancedOptions" => $app_config["advanced-experiment-options"],
+						        "computeResources" => $computeResources,
+						        "resourceHostId" => null
 					        );
 			return View::make( "experiment/create-complete", array( "expInputs" => $experimentInputs) );
 		}
@@ -166,11 +174,17 @@ class ExperimentController extends BaseController {
 	public function editView()
 	{
 		$app_config = Utilities::read_config();
+		$queueDefaults = array( "queueName" => $app_config["queue-name"],
+						        "nodeCount" => $app_config["node-count"],
+						        "cpuCount" => $app_config["total-cpu-count"],
+						        "wallTimeLimit" => $app_config["wall-time-limit"]
+							);
+
 		$experiment = Utilities::get_experiment($_GET['expId']);
 		$project = Utilities::get_project($experiment->projectID);
 
 		$expVal = Utilities::get_experiment_values( $experiment, $project);
-
+		$computeResources = Utilities::create_compute_resources_select($experiment->applicationId, $expVal['scheduling']->resourceHostId);
 		$experimentInputs = array(	
 								"disabled" => ' ',
 						        "experimentName" => $experiment->name,
@@ -178,10 +192,13 @@ class ExperimentController extends BaseController {
 						        "application" => $experiment->applicationId,
 						      	"allowedFileSize" => $app_config["server-allowed-file-size"],
 								'experiment' => $experiment,
+								"queueDefaults" => $queueDefaults,
 								'project' => $project,
 								'expVal' => $expVal,
 								'cloning' => true,
-						        'advancedOptions' => $app_config["advanced-experiment-options"]
+						        'advancedOptions' => $app_config["advanced-experiment-options"],
+						        'computeResources' => $computeResources,
+						        "resourceHostId" => $expVal['scheduling']->resourceHostId
 								);
 		return View::make("experiment/edit", array("expInputs" => $experimentInputs) );
 	}
@@ -227,6 +244,18 @@ class ExperimentController extends BaseController {
 												));
 	}
 
+	public function getQueueView()
+	{
+		$queues = Utilities::getQueueDatafromResourceId( Input::get("crId"));
+		$app_config = Utilities::read_config();
+		$queueDefaults = array( "queueName" => $app_config["queue-name"],
+						        "nodeCount" => $app_config["node-count"],
+						        "cpuCount" => $app_config["total-cpu-count"],
+						        "wallTimeLimit" => $app_config["wall-time-limit"]
+							);
+		return View::make("partials/experiment-queue-block", array( "queues" => $queues, "queueDefaults" => $queueDefaults) );
+	}
+
 }
 
 ?>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/a88b5d69/app/controllers/ResourceController.php
----------------------------------------------------------------------
diff --git a/app/controllers/ResourceController.php b/app/controllers/ResourceController.php
new file mode 100755
index 0000000..d11d918
--- /dev/null
+++ b/app/controllers/ResourceController.php
@@ -0,0 +1,238 @@
+<?php
+
+class ResourceController extends BaseController{
+	
+	/**
+	*    Instantiate a new Compute Resource Controller Instance
+	**/
+
+	public function __construct()
+	{
+		$this->beforeFilter('verifyadmin');
+		Session::put("nav-active", "compute-resource");
+
+	}
+
+	public function createView(){
+			return View::make("resource/create");
+	}
+
+	public function createSubmit(){
+
+		$hostAliases = Input::get("hostaliases");
+		$ips = Input::get("ips");
+		$computeDescription = array( 
+									"hostName"=> trim( Input::get("hostname") ),
+									"hostAliases"=> array_unique( array_filter( $hostAliases) ),
+									"ipAddresses"=> array_unique( array_filter( $ips) ),
+									"resourceDescription"=>Input::get("description") 
+									);
+		$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription);
+		
+		return Redirect::to( "cr/edit?crId=" . $computeResource->computeResourceId);
+	}
+
+	public function editView(){
+		
+		$data = CRUtilities::getEditCRData();
+		$computeResourceId = "";
+		if( Input::has("crId"))
+			$computeResourceId = Input::get("crId");
+		else if( Session::has("computeResource"))
+		{
+			$computeResource = Session::get("computeResource");
+			$computeResourceId = $computeResource->computeResourceId;
+		}
+
+		if( $computeResourceId != "")
+		{
+			$computeResource = Utilities::get_compute_resource(  $computeResourceId);
+			$jobSubmissionInterfaces = array();
+			$dataMovementInterfaces = array();
+			$addedJSP = array();
+			$addedDMI = array();
+			//var_dump( $computeResource->jobSubmissionInterfaces); exit;
+			if( count( $computeResource->jobSubmissionInterfaces) )
+			{
+				foreach( $computeResource->jobSubmissionInterfaces as $JSI )
+				{
+					$jobSubmissionInterfaces[] = CRUtilities::getJobSubmissionDetails( $JSI->jobSubmissionInterfaceId, $JSI->jobSubmissionProtocol);
+					$addedJSP[] = $JSI->jobSubmissionProtocol;
+				}
+			}
+			//var_dump( CRUtilities::getJobSubmissionDetails( $data["computeResource"]->jobSubmissionInterfaces[0]->jobSubmissionInterfaceId, 1) ); exit;
+			if( count( $computeResource->dataMovementInterfaces) )
+			{
+				foreach( $computeResource->dataMovementInterfaces as $DMI )
+				{
+					$dataMovementInterfaces[] = CRUtilities::getDataMovementDetails( $DMI->dataMovementInterfaceId, $DMI->dataMovementProtocol);
+					$addedDMI[] = $DMI->dataMovementProtocol;
+				}
+			}
+
+			$data["computeResource"] = $computeResource;
+			$data["jobSubmissionInterfaces"] = $jobSubmissionInterfaces;
+			$data["dataMovementInterfaces"] = $dataMovementInterfaces;
+			$data["addedJSP"] = $addedJSP;
+			$data["addedDMI"] = $addedDMI;
+			//var_dump($data["jobSubmissionInterfaces"]); exit;
+			return View::make("resource/edit", $data);
+		}
+		else
+			return View::make("resource/browse")->with("login-alert", "Unable to retrieve this Compute Resource. Please report this error to devs.");
+
+	}
+		
+	public function editSubmit(){
+
+		$tabName = "";
+		if( Input::get("cr-edit") == "resDesc") /* Modify compute Resource description */
+		{
+			$computeDescription = Utilities::get_compute_resource(  Input::get("crId"));
+			$computeDescription->hostName = trim( Input::get("hostname") );
+			$computeDescription->hostAliases = array_unique( array_filter( Input::get("hostaliases") ) );
+			$computeDescription->ipAddresses = array_unique( array_filter( Input::get("ips") ) );
+			$computeDescription->resourceDescription = Input::get("description");
+			$computeDescription->maxMemoryPerNode = Input::get("maxMemoryPerNode");
+			//var_dump( $computeDescription); exit;
+
+			$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription, true);
+
+			$tabName =  "#tab-desc";
+		}
+		if( Input::get("cr-edit") == "queue") /* Add / Modify a Queue */
+		{
+			$queue = array( "queueName"			=>Input::get("qname"),
+							"queueDescription"	=>Input::get("qdesc"),
+							"maxRunTime"		=>Input::get( "qmaxruntime"),
+							"maxNodes"			=>Input::get("qmaxnodes"),
+							"maxProcessors"		=>Input::get("qmaxprocessors"),
+							"maxJobsInQueue"	=>Input::get("qmaxjobsinqueue"),
+							"maxMemory"			=>Input::get("qmaxmemoryinqueue")
+						);
+
+			$computeDescription = Utilities::get_compute_resource(  Input::get("crId"));
+			$computeDescription->batchQueues[] = CRUtilities::createQueueObject( $queue);
+			$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription, true);
+			//var_dump( $computeResource); exit;
+			$tabName = "#tab-queues";
+		}
+		else if( Input::get("cr-edit") == "delete-queue" )
+		{
+			CRUtilities::deleteQueue( Input::get("crId"), Input::get("queueName") );
+			$tabName = "#tab-queues";
+		} 
+		else if( Input::get("cr-edit") == "fileSystems")
+		{
+			$computeDescription = Utilities::get_compute_resource(  Input::get("crId"));
+			$computeDescription->fileSystems = array_filter( Input::get("fileSystems"), "trim");
+			$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription, true);
+
+			$tabName = "#tab-filesystem";
+		}
+		else if( Input::get("cr-edit") == "jsp" ||  Input::get("cr-edit") == "edit-jsp" ) /* Add / Modify a Job Submission Interface */
+		{		
+			$update = false;	
+			if( Input::get("cr-edit") == "edit-jsp")
+				$update = true;
+
+			$jobSubmissionInterface = CRUtilities::create_or_update_JSIObject( Input::all(), $update );
+
+			$tabName = "#tab-jobSubmission";
+		}
+		else if( Input::get("cr-edit") == "jsi-priority") 
+		{
+			$inputs = Input::all();
+			$computeDescription = Utilities::get_compute_resource(  Input::get("crId"));
+			foreach( $computeDescription->jobSubmissionInterfaces as $index => $jsi)
+			{
+				foreach( $inputs["jsi-id"] as $idIndex => $jsiId)
+				{
+					if( $jsiId == $jsi->jobSubmissionInterfaceId )
+					{
+						$computeDescription->jobSubmissionInterfaces[$index]->priorityOrder = $inputs["jsi-priority"][$idIndex];
+						break;
+					}
+				}
+			}
+			$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription, true);
+
+			return 1; //currently done by ajax.
+		}
+		else if( Input::get("cr-edit") == "dmp" ||  Input::get("cr-edit") == "edit-dmi" ) /* Add / Modify a Data Movement Interface */
+		{
+			$update = false;	
+			if( Input::get("cr-edit") == "edit-dmi")
+				$update = true;
+			$dataMovementInterface = CRUtilities::create_or_update_DMIObject( Input::all(), $update );
+
+			$tabName = "#tab-dataMovement";
+		}
+		else if( Input::get("cr-edit") == "dmi-priority") 
+		{
+			$inputs = Input::all();
+			$computeDescription = Utilities::get_compute_resource(  Input::get("crId"));
+			foreach( $computeDescription->dataMovementInterfaces as $index => $dmi)
+			{
+				foreach( $inputs["dmi-id"] as $idIndex => $dmiId)
+				{
+					if( $dmiId == $dmi->dataMovementInterfaceId )
+					{
+						$computeDescription->dataMovementInterfaces[$index]->priorityOrder = $inputs["dmi-priority"][$idIndex];
+						break;
+					}
+				}
+			}
+			$computeResource = CRUtilities::register_or_update_compute_resource( $computeDescription, true);
+
+			return 1; //currently done by ajax.
+		}
+
+		return Redirect::to("cr/edit?crId=" . Input::get("crId") . $tabName );
+	}
+
+	public function deleteActions(){
+
+		$result = CRUtilities::deleteActions( Input::all() );
+		if( Input::has("jsiId"))
+		{
+			return Redirect::to("cr/edit?crId=" . Input::get("crId"). "#tab-jobSubmission")
+							->with("message", "Job Submission Interface was deleted successfully");
+		}
+		if( Input::has("dmiId"))
+		{
+			return Redirect::to("cr/edit?crId=" . Input::get("crId"). "#tab-dataMovement")
+							->with( "message", "Data Movement Protocol was deleted successfully");
+		}
+		elseif( Input::has("del-crId") )
+		{
+			return Redirect::to("cr/browse")->with("message", "The Compute Resource has been successfully deleted.");
+		}
+		else
+			return $result;
+	}
+
+	public function browseView(){
+		$data = CRUtilities::getBrowseCRData();
+		$allCRs = $data["crObjects"];
+		$appDeployments = $data["appDeployments"];
+
+		$connectedDeployments = array();
+		foreach( (array)$allCRs as $crId => $crName)
+		{
+			$connectedDeployments[ $crId] = 0;
+			foreach( (array)$appDeployments as $deploymentObject)
+			{
+				if( $crId == $deploymentObject->computeHostId)
+					$connectedDeployments[$crId]++;
+			}
+		}
+		return View::make("resource/browse", array(
+												"allCRs" => $allCRs,
+												"connectedDeployments" => $connectedDeployments
+												));
+
+	}
+}
+
+?>
\ No newline at end of file