You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2013/09/19 12:48:00 UTC

svn commit: r1524685 - in /airavata/sandbox/gsoc2013/app: scripts/controllers/ApplicationDescriptor.js scripts/controllers/RegistryConnection.js scripts/controllers/executionInterfaceCntl.js views/builder.registerApplication.html

Author: smarru
Date: Thu Sep 19 10:48:00 2013
New Revision: 1524685

URL: http://svn.apache.org/r1524685
Log:
applying sanchit's patch for AIRAVATA-889

Removed:
    airavata/sandbox/gsoc2013/app/scripts/controllers/executionInterfaceCntl.js
Modified:
    airavata/sandbox/gsoc2013/app/scripts/controllers/ApplicationDescriptor.js
    airavata/sandbox/gsoc2013/app/scripts/controllers/RegistryConnection.js
    airavata/sandbox/gsoc2013/app/views/builder.registerApplication.html

Modified: airavata/sandbox/gsoc2013/app/scripts/controllers/ApplicationDescriptor.js
URL: http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/scripts/controllers/ApplicationDescriptor.js?rev=1524685&r1=1524684&r2=1524685&view=diff
==============================================================================
--- airavata/sandbox/gsoc2013/app/scripts/controllers/ApplicationDescriptor.js (original)
+++ airavata/sandbox/gsoc2013/app/scripts/controllers/ApplicationDescriptor.js Thu Sep 19 10:48:00 2013
@@ -46,6 +46,7 @@ angular.module('WebUI').controller('Appl
   $scope.isHPCConfiguration = false;
   $scope.isApplicationRegister = true;
   $scope.isEditApplication = false;
+  $scope.isCancel = false;
 
   // Data required to register new application
   $scope.serviceDescriptor = {
@@ -76,18 +77,51 @@ angular.module('WebUI').controller('Appl
     'stdError':'',
     'environmentVariables':[{name:'',value:''}]         //array of object of (name,value) pair
   };
-  $scope.applicationHost=['LocalHost','lonestar','ranger','trestles'];
+  $scope.prevApplicationDescriptor;
+  $scope.applicationHost=['LocalHost','lonestar','stampede','trestles'];
+  $scope.jobTypes=['openMP','mpi','serial'];
 
-  // Callback to New Application Deployment
+  // Callback to Add New Application Deployment
   $scope.addApplicationDeployment = function() {
-    var appDesc = angular.copy($scope.applicationDescriptor);      //Json object are referenced object
+    if ($scope.isCancel) {
+      var appDesc = angular.copy($scope.prevApplicationDescriptor);      //Json object are referenced object
+      $scope.isCancel = false;
+    }
+    else {
+      var appDesc = angular.copy($scope.applicationDescriptor);
+    }
     $scope.serviceDescriptor.applicationDescriptors.push(appDesc);
     $scope.index=$scope.applicationHost.indexOf($scope.applicationDescriptor.hostDescName);
     $scope.applicationHost.splice( $scope.index,1);
-    $scope.applicationDescriptor={};
+    //$scope.applicationDescriptor={};
     $scope.isApplicationRegister=true;
     $scope.isNewDeployment=false;
   };
+  // Callback to Delete Application Deployment
+  $scope.deleteApplicationDeployment = function(index) {
+    var hostDescName = $scope.serviceDescriptor.applicationDescriptors[index].hostDescName;
+    $scope.applicationHost.push(hostDescName);
+    $scope.serviceDescriptor.applicationDescriptors.splice(index, 1);
+  };
+
+  // Callback to Edit Application Deployment
+  $scope.editApplicationDeployment = function(index) {
+    $scope.isEditApplication=true;
+    $scope.applicationDescriptor = $scope.serviceDescriptor.applicationDescriptors[index];
+    $scope.prevApplicationDescriptor=angular.copy($scope.applicationDescriptor);
+    $scope.deleteApplicationDeployment(index);
+    $scope.isNewDeployment=true;
+  };
+  // Callback to Cancel Application Deployment
+  $scope. cancelApplicationDeployment = function(index) {
+    if ($scope.isEditApplication) {
+      $scope.isCancel=true;
+      $scope.addApplicationDeployment();
+      $scope.isEditApplication=false;
+    }
+    $scope.isNewDeployment=false;
+  };
+
 
   // Callback to Add Application Descriptor to Registry
   $scope.saveApplicationDescriptor = function () {

Modified: airavata/sandbox/gsoc2013/app/scripts/controllers/RegistryConnection.js
URL: http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/scripts/controllers/RegistryConnection.js?rev=1524685&r1=1524684&r2=1524685&view=diff
==============================================================================
--- airavata/sandbox/gsoc2013/app/scripts/controllers/RegistryConnection.js (original)
+++ airavata/sandbox/gsoc2013/app/scripts/controllers/RegistryConnection.js Thu Sep 19 10:48:00 2013
@@ -27,7 +27,7 @@ angular.module('WebUI').controller('Regi
   $http.defaults.useXDomain = true;
   // Data required to connect to the registry
   $scope.registry =  {
-    'url': 'http://localhost:8080/airavata-registry/api',
+    'url': 'http://localhost:8080/airavata/services/registry',
     'gateway': 'default',
     'username': 'admin',
     'password': 'admin'

Modified: airavata/sandbox/gsoc2013/app/views/builder.registerApplication.html
URL: http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/views/builder.registerApplication.html?rev=1524685&r1=1524684&r2=1524685&view=diff
==============================================================================
--- airavata/sandbox/gsoc2013/app/views/builder.registerApplication.html (original)
+++ airavata/sandbox/gsoc2013/app/views/builder.registerApplication.html Thu Sep 19 10:48:00 2013
@@ -83,8 +83,8 @@ under the License.
             <tbody>
             <tr ng-repeat="appDesc in serviceDescriptor.applicationDescriptors">
               <td class="col-md-4">{{appDesc.hostDescName}}</td>
-              <td class="col-md-4"><a href ng-click=""><i class="icon-edit-sign"></i></a></td>
-              <td class="col-md-4"><a href ng-click="serviceDescriptor.applicationDescriptors.splice($index, 1)"><i class="icon-remove-sign"></i></a></td>
+              <td class="col-md-4"><a href ng-click="editApplicationDeployment($index);"><i class="icon-edit-sign"></i></a></td>
+              <td class="col-md-4"><a href ng-click="deleteApplicationDeployment($index);"><i class="icon-remove-sign"></i></a></td>
             </tr>
             </tbody>
           </table>
@@ -106,15 +106,16 @@ under the License.
   <form name="newAppDeployFrom" ng-show="isNewDeployment" class="form-horizontal">
     <fieldset>
       <div class="row">
+        <legend>{{newAppDeployFromLegend}}</legend>
         <div class="col-md-4">
-          <legend>{{newAppDeployFromLegend}}</legend>
           <div class="control-group">
-            <label class="control-label" for="applicationHost"> Application Host</label>
+            <label class="control-label" for="applicationHost"> Application Host
+              <a href="#/exec/addHost" data-toggle="tooltip" data-placement="right" title="Create New Host"><i class="icon-plus-sign"></i></a>
+            </label>
             <div class="controls">
               <select id="applicationHost"  ng-model="applicationDescriptor.hostDescName" ng-options="host for host in applicationHost" required>
                 <option value="">-Select-</option>
               </select>
-              <a href="#/exec/addHost" data-toggle="tooltip" data-placement="right" title="Create New Host"><i class="icon-plus-sign"></i></a>
             </div>
           </div>
           <div class="control-group">
@@ -133,7 +134,7 @@ under the License.
           <div class="control-group">
             <label class="control-label" for="inputDirectory">Input Directory</label>
             <div class="controls">
-              <input type="url" id="inputDirectory" placeholder="Input Directory" ng-model="applicationDescriptor.inputDir">
+              <input type="text" id="inputDirectory" placeholder="Input Directory" ng-model="applicationDescriptor.inputDir">
             </div>
           </div>
           <div class="control-group">
@@ -152,7 +153,7 @@ under the License.
           <div class="control-group">
             <label class="control-label" for="inputSTDIN">STDIN</label>
             <div class="controls">
-              <input type="url" id="inputSTDIN" placeholder="Standard Input" ng-model="applicationDescriptor.stdIn">
+              <input type="text" id="inputSTDIN" placeholder="Standard Input" ng-model="applicationDescriptor.stdIn">
             </div>
           </div>
           <div class="control-group">
@@ -167,53 +168,105 @@ under the License.
               <input type="text" id="inputSTDERR" placeholder="Standard Error" ng-model="applicationDescriptor.stdError">
             </div>
           </div>
+          <h6>Environmental Variables</h6>
+          <div><a href ng-click="applicationDescriptor.environmentVariables.push({})"><i class="icon-plus-sign"> Add Environment Variable</i></a></div>
+          <div class="controls-group">
+            <table style="width: 55%" id="tblEnvironmentalVar" class="table table-striped table-bordered table-hovered table-condensed">
+              <thead>
+              <tr>
+                <th>Name</th>
+                <th>Value</th>
+                <th>Delete</th>
+              </tr>
+              </thead>
+              <tbody>
+              <tr ng-repeat="variables in applicationDescriptor.environmentVariables">
+                <td class="col-md-2">
+                  <input type="text" id="VarName" name="VarName" placeholder="Variable Name" ng-model="variables.name" required>
+                </td>
+                <td class="col-md-1">
+                  <input type="number" id="VarValue" name="VarValue" placeholder="Variable Value" ng-model="variables.value" required>
+                </td>
+                <td class="col-md-1">
+                  <a href ng-click="applicationDescriptor.environmentVariables.splice($index, 1)"><i class="icon-remove-sign"></i></a>
+                </td>
+              </tr>
+              </tbody>
+            </table>
+          </div>
         </div>
-        <div class="col-md-4">
-          <!--<legend>Locations</legend>
+        <div class="col-md-4" ng-hide="applicationDescriptor.hostDescName=='LocalHost' || applicationDescriptor.hostDescName=='' ">
+          <h6>HPC Configurations</h6>
           <div class="control-group">
-            <label class="control-label" for="inputDirectory">Input Directory</label>
+            <label class="control-label" for="jobType">Job Type</label>
             <div class="controls">
-              <input type="url" id="inputDirectory" placeholder="Input Directory" ng-model="applicationDescriptor.inputDir">
+              <select id="jobType"  ng-model="applicationDescriptor.jobType" ng-options="job for job in jobTypes" required>
+                <option value="">-Select-</option>
+              </select>
             </div>
           </div>
           <div class="control-group">
-            <label class="control-label" for="outputDirectory">Output Directory</label>
+            <label class="control-label" for="ProjectNumber">Project Account Number</label>
             <div class="controls">
-              <input type="text" id="outputDirectory" placeholder="Output Directory" ng-model="applicationDescriptor.outputDir">
+              <input type="text" id="ProjectNumber" placeholder="Project Account Number" ng-model="applicationDescriptor.projectNumber" required>
             </div>
           </div>
           <div class="control-group">
-            <label class="control-label" for="staticWorkingDir">Static Working Directory</label>
+            <label class="control-label" for="ProjectDescription">Project Account Description</label>
             <div class="controls">
-              <input type="text" id="staticWorkingDir" placeholder="Static Working Directory" ng-model="applicationDescriptor.staticWorkingDir">
+              <input type="text" id="ProjectDescription" placeholder="Project Account Description" ng-model="applicationDescriptor.projectDescription">
+            </div>
+          </div>
+          <div class="control-group">
+            <label class="control-label" for="QueueType">Queue Type</label>
+            <div class="controls">
+              <input type="text" id="QueueType" placeholder="Queue Type" ng-model="applicationDescriptor.queueName" required>
+            </div>
+          </div>
+          <div class="control-group">
+            <label class="control-label" for="MaxWallTime">Max Wall Time</label>
+            <div class="controls">
+              <input type="number" id="MaxWallTime" placeholder="Max Wall Time" ng-model="applicationDescriptor.maxWallTime">
+            </div>
+          </div>
+          <div class="control-group">
+            <label class="control-label" for="CPUCount">CPU Count</label>
+            <div class="controls">
+              <input type="number" id="CPUCount" placeholder="CPU Count" ng-model="applicationDescriptor.cpuCount">
+            </div>
+          </div>
+          <div class="control-group">
+            <label class="control-label" for="NodeCount">Node Count</label>
+            <div class="controls">
+              <input type="number" id="NodeCount" placeholder="Node Count" ng-model="applicationDescriptor.nodeCount">
+            </div>
+          </div>
+          <div class="control-group">
+            <label class="control-label" for="ProcessorsPerNode">Processors Per Node</label>
+            <div class="controls">
+              <input type="number" id="ProcessorsPerNode" placeholder="Processors Per Node" ng-model="applicationDescriptor.processorsPerNode">
+            </div>
+          </div>
+          <div class="control-group">
+            <label class="control-label" for="MinMemory">Min Memory</label>
+            <div class="controls">
+              <input type="number" id="minMemory" placeholder="Min Memory" ng-model="applicationDescriptor.minMemory">
             </div>
           </div>
-        --></div>
+          <div class="control-group">
+            <label class="control-label" for="MaxMemory">Max Memory</label>
+            <div class="controls">
+              <input type="number" id="MaxMemory" placeholder="Max Memory" ng-model="applicationDescriptor.maxMemory">
+            </div>
+          </div>
+        </div>
       </div>
       <div class="row control-group">
         <div class="controls">
-          <a href ng-click="addApplicationDeployment();" class="btn btn-primary">Update</a>
-          <a href ng-click="isNewDeployment=false" class="btn btn-default">Cancel</a>
+          <a href ng-click="applicationDescriptor.hostDescName == ''|| addApplicationDeployment();" class="btn btn-primary">Update</a>
+          <a href ng-click="cancelApplicationDeployment();" class="btn">Cancel</a>
         </div>
       </div>
     </fieldset>
   </form>
 </div>
-
-<!--'environmentVariables':[{name:'',value:''}]
-$scope.applicationDescriptor = {
-'hostDescName':'Localhost',
-'executablePath':'',
-'workingDir':'',
-'jobType':'',
-'projectNumber':'',
-'projectDescription':'',
-'queueName':'',
-'maxWallTime':'',
-'cpuCount':'',
-'nodeCount':'',
-'processorsPerNode':'',
-'minMemory':'',
-'maxMemory':'',
-'
-};-->