Author: smarru
Date: Thu Aug 8 13:07:55 2013
New Revision: 1511768
URL: http://svn.apache.org/r1511768
Log:
cmmitting Sanchit's patch for AIRAVATA-889
Added:
airavata/sandbox/gsoc2013/app/img/
airavata/sandbox/gsoc2013/app/img/grid.gif (with props)
airavata/sandbox/gsoc2013/app/scripts/controllers/ApplicationDescriptor.js
airavata/sandbox/gsoc2013/app/views/builder.registerApplication.html
airavata/sandbox/gsoc2013/package.json
Removed:
airavata/sandbox/gsoc2013/app/scripts/controllers/executionInterfaceCntl.js
Modified:
airavata/sandbox/gsoc2013/app/index.html
airavata/sandbox/gsoc2013/app/scripts/app.js
airavata/sandbox/gsoc2013/app/scripts/registryAPI.js
airavata/sandbox/gsoc2013/app/views/builder.addHost.html
airavata/sandbox/gsoc2013/app/views/exec.navbar.html
airavata/sandbox/gsoc2013/app/views/exec.sidenavbar.html
airavata/sandbox/gsoc2013/app/views/index.sidenavbar.html
Added: airavata/sandbox/gsoc2013/app/img/grid.gif
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/img/grid.gif?rev=1511768&view=auto
==============================================================================
Binary file - no diff available.
Propchange: airavata/sandbox/gsoc2013/app/img/grid.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: airavata/sandbox/gsoc2013/app/index.html
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/index.html?rev=1511768&r1=1511767&r2=1511768&view=diff
==============================================================================
--- airavata/sandbox/gsoc2013/app/index.html (original)
+++ airavata/sandbox/gsoc2013/app/index.html Thu Aug 8 13:07:55 2013
@@ -92,7 +92,8 @@ under the License.
<script src="scripts/controllers/WorkflowCreator.js"></script>
<script src="scripts/registryAPI.js"></script>
<script src="scripts/controllers/WorkflowLaunch.js"></script>
- <script src="scripts/controllers/RegistryDescriptors.js"></script>
+ <script src="scripts/controllers/HostDescriptor.js"></script>
+ <script src="scripts/controllers/ApplicationDescriptor.js"></script>
<script src="scripts/controllers/FileTransfer.js"></script>
<script src="scripts/controllers/WorkflowMonitoring.js"></script>
<script src="scripts/NodeSubscriber.js"></script>
Modified: airavata/sandbox/gsoc2013/app/scripts/app.js
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/scripts/app.js?rev=1511768&r1=1511767&r2=1511768&view=diff
==============================================================================
--- airavata/sandbox/gsoc2013/app/scripts/app.js (original)
+++ airavata/sandbox/gsoc2013/app/scripts/app.js Thu Aug 8 13:07:55 2013
@@ -78,7 +78,7 @@ app.config(function ($stateProvider, $ro
.state('exec.addhost', {
url:'/addHost',
views:{
- 'addHost':{
+ 'builder':{
templateUrl: 'views/builder.addHost.html'
}
}
@@ -91,14 +91,6 @@ app.config(function ($stateProvider, $ro
}
}
})
- .state('exec.newApplicationDeployment', {
- url:'/newApplicationDeployment',
- views:{
- 'builder':{
- templateUrl: 'views/builder.newApplicationDeployment.html'
- }
- }
- })
.state('exec.globusFileTransfer', {
url:'/globusFileTransfer',
views:{
@@ -122,14 +114,24 @@ app.config(function ($stateProvider, $ro
templateUrl: 'views/builder.workflowProperties.html'
}
}
+ })
+ .state('exec.registerApplication', {
+ url:'/registerApplication',
+ views:{
+ 'builder':{
+ templateUrl: 'views/builder.registerApplication.html'
+ }
+ }
});
+
+ /*
$stateProvider.state('contacts', {
templateUrl: function (stateParams){
return '/partials/contacts.' + stateParams.filterBy + '.html';
},
controller: 'ContactsCtrl'
});
-
+ */
// Views corresponding to the workflow monitoring interface
$stateProvider.state('monitor', {
url: '/monitor',
Added:
airavata/sandbox/gsoc2013/app/scripts/controllers/ApplicationDescriptor.js
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/scripts/controllers/ApplicationDescriptor.js?rev=1511768&view=auto
==============================================================================
--- airavata/sandbox/gsoc2013/app/scripts/controllers/ApplicationDescriptor.js
(added)
+++ airavata/sandbox/gsoc2013/app/scripts/controllers/ApplicationDescriptor.js
Thu Aug 8 13:07:55 2013
@@ -0,0 +1,113 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * 'License'); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+'use strict';
+
+/*
+ * Controller for Application Descriptors registry resource
+ *
+ */
+angular.module('WebUI').controller('ApplicationDescriptor', function ($scope,
$http, MessageQueue) {
+
+ //To enable the Cross Origin Resource Sharing in application
+ $http.defaults.useXDomain = true;
+
+ // Data to control the forms
+ $scope.parameterIO = ['input','output'];
+ $scope.parameterType = [
+ 'String','Double','Integer','Float','Boolean','File',
+ 'StringArray','DoubleArray','IntegerArray','FloatArray','BooleanArray',
+ 'StdOut','StdErr','FileArray','DataId','DataIdArray','URIArray','URI'
+ ];
+ $scope.regAppFormLegend = 'Register Application';
+ $scope.newAppDeployFromLegend = 'New Application Deployment';
+ $scope.hpcConfigFormLegend = 'HPC Configuration Options';
+ $scope.advancedFileStaging = false;
+
+ // hide/show the form for application registration,deployment and hpc
configuration
+ $scope.isNewDeployment = false;
+ $scope.isHPCConfiguration = false;
+ $scope.isApplicationRegister = true;
+ $scope.isEditApplication = false;
+
+ // Data required to register new application
+ $scope.serviceDescriptor = {
+ 'serviceName':'',
+ 'serviceDescription':'',
+ 'parameters':[{io:'',name:'',type:'',description:''}], //array of
object of parameter
+ 'applicationDescriptors':[] //array of applicationDescriptor object
+ };
+ $scope.applicationDescriptor = {
+ 'hostDescName':'',
+ 'executablePath':'',
+ 'workingDir':'',
+ 'jobType':'',
+ 'projectNumber':'',
+ 'projectDescription':'',
+ 'queueName':'',
+ 'maxWallTime':'',
+ 'cpuCount':'',
+ 'nodeCount':'',
+ 'processorsPerNode':'',
+ 'minMemory':'',
+ 'maxMemory':'',
+ 'inputDir':'',
+ 'outputDir':'',
+ 'staticWorkingDir':'',
+ 'stdIn':'',
+ 'stdOut':'',
+ 'stdError':'',
+ 'environmentVariables':[{name:'',value:''}] //array of object of
(name,value) pair
+ };
+ $scope.applicationHost=['LocalHost','lonestar','ranger','trestles'];
+
+ // Callback to New Application Deployment
+ $scope.addApplicationDeployment = function() {
+ var appDesc = angular.copy($scope.applicationDescriptor); //Json
object are referenced object
+ $scope.serviceDescriptor.applicationDescriptors.push(appDesc);
+
$scope.index=$scope.applicationHost.indexOf($scope.applicationDescriptor.hostDescName);
+ $scope.applicationHost.splice( $scope.index,1);
+ $scope.applicationDescriptor={};
+ $scope.isApplicationRegister=true;
+ $scope.isNewDeployment=false;
+ };
+
+ // Callback to Add Application Descriptor to Registry
+ $scope.saveApplicationDescriptor = function () {
+ // Test connection to save Application Descriptor
+ // TODO: Call some API method to make HTTP request
+
+ // Alert user to the successful creation and on success notify all other
controllers
+ if ($scope.registerApplicationForm.$valid){
+ MessageQueue.publish('alerts', [{
+ 'head': $scope.serviceDescriptor.serviceName + ' service was
registered!',
+ 'msg': 'Total Parameters: ' +
$scope.serviceDescriptor.parameters.length + ' Total Deployments: ' +
$scope.serviceDescriptor.applicationDescriptors.length + ' added successfully.',
+ 'type': 'success'
+ }]);
+ }
+ else{
+ MessageQueue.publish('alerts', [{
+ 'head': 'Validation Error',
+ 'msg': 'There is error in form validation.',
+ 'type': 'error'
+ }]);
+ };
+ }
+});
Modified: airavata/sandbox/gsoc2013/app/scripts/registryAPI.js
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/scripts/registryAPI.js?rev=1511768&r1=1511767&r2=1511768&view=diff
==============================================================================
--- airavata/sandbox/gsoc2013/app/scripts/registryAPI.js (original)
+++ airavata/sandbox/gsoc2013/app/scripts/registryAPI.js Thu Aug 8 13:07:55
2013
@@ -69,7 +69,7 @@ function ApplicationDescriptor() {
this.stdIn;
this.stdOut;
this.stdError;
- this.staticWorkigDir;
+ this.staticWorkingDir;
// int set
this.maxWallTime;
this.cpuCount;
Modified: airavata/sandbox/gsoc2013/app/views/builder.addHost.html
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/views/builder.addHost.html?rev=1511768&r1=1511767&r2=1511768&view=diff
==============================================================================
--- airavata/sandbox/gsoc2013/app/views/builder.addHost.html (original)
+++ airavata/sandbox/gsoc2013/app/views/builder.addHost.html Thu Aug 8
13:07:55 2013
@@ -16,46 +16,69 @@ KIND, either express or implied. See th
specific language governing permissions and limitations
under the License.
-->
-<div ng-controller="RegistryDescriptors">
- <form name="addhostForm" style="padding:10px;" novalidate
ng-submit="saveHostDescriptor();">
+<div ng-controller="HostDescriptor">
+ <form name="addhostForm" style="padding:10px;" novalidate
ng-submit="saveHostDescriptor();" class="form-horizontal">
<fieldset>
<legend>Register Host</legend>
-
- <label for="inputHostId">Host Id</label>
- <input type="text" id="inputHostId" name="hostId" placeholder="Host Id"
ng-model="addHost.hostId" ng-pattern="/^[a-zA-Z0-9]{4,10}$/" required>
- <div class="text-error" ng-show="addhostForm.hostId.$dirty &&
addhostForm.hostId.$invalid">
- <small class="text-error"
ng-show="addhostForm.hostId.$error.required"> *Required.</small>
- <small class="text-error" ng-show="addhostForm.hostId.$error.pattern">
Alpha-Numeric values between 4-10 characters.</small>
+ <div class="control-group">
+ <label for="inputHostId" class="control-label">Host Id</label>
+ <div class="controls">
+ <input type="text" id="inputHostId" name="hostId" placeholder="Host
Id" ng-model="addHost.hostId" ng-pattern="/^[a-zA-Z0-9]{4,10}$/" required>
+ <div class="text-error" ng-show="addhostForm.hostId.$dirty &&
addhostForm.hostId.$invalid">
+ <small class="text-error"
ng-show="addhostForm.hostId.$error.required"> *Required.</small>
+ <small class="text-error"
ng-show="addhostForm.hostId.$error.pattern"> Alpha-Numeric values between 4-10
characters.</small>
+ </div>
+ </div>
</div>
- <label for="inputHostAddress">Host Address</label>
- <input type="url" id="inputHostAddress" name="hostAddress"
placeholder="Host Address" ng-model="addHost.hostAddress" required>
- <div class="text-error" ng-show="addhostForm.hostAddress.$dirty &&
addhostForm.hostAddress.$invalid">
- <small class="text-error"
ng-show="addhostForm.hostAddress.$error.required"> *Required.</small>
- <small class="text-error"
ng-show="addhostForm.hostAddress.$error.url"> URL Expected. </small>
+ <div class="control-group">
+ <label class="control-label" for="inputHostAddress">Host
Address</label>
+ <div class="controls">
+ <input type="url" id="inputHostAddress" name="hostAddress"
placeholder="Host Address" ng-model="addHost.hostAddress" required>
+ <div class="text-error" ng-show="addhostForm.hostAddress.$dirty &&
addhostForm.hostAddress.$invalid">
+ <small class="text-error"
ng-show="addhostForm.hostAddress.$error.required"> *Required.</small>
+ <small class="text-error"
ng-show="addhostForm.hostAddress.$error.url"> URL Expected. </small>
+ </div>
+ </div>
</div>
- <label for="resourceProtocol">Resource Protocol</label>
- <select id="resourceProtocol" name="rp"
ng-model="addHost.resourceProtocol" ng-options="protocol.name for protocol in
protocols" required>
- <option value="">-- Select Protocol --</option>
- </select>
+ <div class="control-group">
+ <label class="control-label" for="resourceProtocol">Resource
Protocol</label>
+ <div class="controls">
+ <select id="resourceProtocol" name="rp"
ng-model="addHost.resourceProtocol" ng-options="protocol.name for protocol in
protocols" required>
+ <option value="">-- Select Protocol --</option>
+ </select>
+ </div>
+ </div>
- <label ng-show="addHost.resourceProtocol.configuration"
for="gramEndpoint">Gram Endpoint</label>
- <input type="url" id="gramEndpoint" name="gramep" placeholder="Gram
Endpoint" ng-model="addHost.gramEndpoint"
ng-show="addHost.resourceProtocol.configuration"
ng-required="addHost.resourceProtocol.configuration">
- <div class="text-error" ng-show="addhostForm.gramep.$dirty &&
addhostForm.gramep.$invalid">
- <small class="text-error"
ng-show="addhostForm.gramep.$error.required"> *Required.</small>
- <small class="text-error" ng-show="addhostForm.gramep.$error.url"> URL
Expected. </small>
+ <div class="control-group">
+ <label class="control-label"
ng-show="addHost.resourceProtocol.configuration" for="gramEndpoint">Gram
Endpoint</label>
+ <div class="controls">
+ <input type="url" id="gramEndpoint" name="gramep" placeholder="Gram
Endpoint" ng-model="addHost.gramEndpoint"
ng-show="addHost.resourceProtocol.configuration"
ng-required="addHost.resourceProtocol.configuration">
+ <div class="text-error" ng-show="addhostForm.gramep.$dirty &&
addhostForm.gramep.$invalid">
+ <small class="text-error"
ng-show="addhostForm.gramep.$error.required"> *Required.</small>
+ <small class="text-error" ng-show="addhostForm.gramep.$error.url">
URL Expected. </small>
+ </div>
+ </div>
</div>
- <label ng-show="addHost.resourceProtocol.configuration"
for="gridFTPEndpoint">Grid FTP Endpoint</label>
- <input type="url" id="gridFTPEndpoint" name="gridep" placeholder="Grid
FTP Endpoint" ng-model="addHost.gridFTPEndpoint"
ng-show="addHost.resourceProtocol.configuration"
ng-required="addHost.resourceProtocol.configuration">
- <div class="text-error" ng-show="addhostForm.gridep.$dirty &&
addhostForm.gridep.$invalid">
- <small class="text-error"
ng-show="addhostForm.gridep.$error.required"> *Required.</small>
- <small class="text-error" ng-show="addhostForm.gridep.$error.url"> URL
Expected. </small>
+ <div class="control-group">
+ <label class="control-label"
ng-show="addHost.resourceProtocol.configuration" for="gridFTPEndpoint">Grid FTP
Endpoint</label>
+ <div class="controls">
+ <input type="url" id="gridFTPEndpoint" name="gridep"
placeholder="Grid FTP Endpoint" ng-model="addHost.gridFTPEndpoint"
ng-show="addHost.resourceProtocol.configuration"
ng-required="addHost.resourceProtocol.configuration">
+ <div class="text-error" ng-show="addhostForm.gridep.$dirty &&
addhostForm.gridep.$invalid">
+ <small class="text-error"
ng-show="addhostForm.gridep.$error.required"> *Required.</small>
+ <small class="text-error" ng-show="addhostForm.gridep.$error.url">
URL Expected. </small>
+ </div>
+ </div>
</div>
- <button type="submit" ng-disabled="addhostForm.$invalid"
class="btn">Save</button>
- <a class="btn" href="#/exec">Cancel</a>
+ <div class="control-group">
+ <div class="controls">
+ <button type="submit" ng-disabled="addhostForm.$invalid"
class="btn">Save</button>
+ <a class="btn" href="#/exec">Cancel</a>
+ </div>
+ </div>
</fieldset>
</form>
</div>
Added: airavata/sandbox/gsoc2013/app/views/builder.registerApplication.html
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/views/builder.registerApplication.html?rev=1511768&view=auto
==============================================================================
--- airavata/sandbox/gsoc2013/app/views/builder.registerApplication.html (added)
+++ airavata/sandbox/gsoc2013/app/views/builder.registerApplication.html Thu
Aug 8 13:07:55 2013
@@ -0,0 +1,219 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<div ng-controller="ApplicationDescriptor">
+ <form name="registerApplicationForm"
ng-submit="saveApplicationDescriptor();" ng-hide="isNewDeployment">
+ <fieldset>
+ <legend>{{regAppFormLegend}}</legend>
+ <div class="control-group">
+ <label class="control-label" for="inputServiceName">Application
Name</label>
+ <div class="controls">
+ <input type="text" id="inputServiceName" name="ServiceName"
placeholder="Service Name" ng-model="serviceDescriptor.serviceName" required>
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="tblParameters">Application
Parameters</label>
+ <div class="controls">
+ <div><a href ng-click="serviceDescriptor.parameters.push({})"><i
class="icon-plus-sign"> Add Parameter</i></a></div>
+ <table style="width: 55%" id="tblParameters" class="table
table-striped table-bordered table-hovered table-condensed">
+ <thead>
+ <tr>
+ <th>I/O</th>
+ <th>Parameter Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ <th>Delete</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr ng-repeat="parameter in serviceDescriptor.parameters">
+ <td class="span2">
+ <select style="width: 80px;" id="parameterIO"
name="ParameterIO" ng-model="parameter.io" ng-options="io for io in
parameterIO" required>
+ <option value="">-Select-</option>
+ </select>
+ </td>
+ <td class="span3">
+ <input type="text" id="inputParameterName"
name="ParameterName" placeholder="Parameter Name" ng-model="parameter.name"
required>
+ </td>
+ <td class="span3">
+ <select id="parameterType" name="ParameterType"
ng-model="parameter.type" ng-options="type for type in parameterType" required>
+ <option value="">-Select-</option>
+ </select>
+ </td>
+ <td class="span3">
+ <input type="text" id="parameterDescription"
name="ParameterDescription" placeholder="Parameter Description"
ng-model="parameter.description">
+ </td>
+ <td class="span1">
+ <a href ng-click="serviceDescriptor.parameters.splice($index,
1)"><i class="icon-remove-sign"></i></a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <label class="checkbox">
+ <input type="checkbox" ng-model="advancedFileStaging"> Advanced:
Force input file staging to working directory
+ </label>
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="tblDeployedApp">Deployments</label>
+ <div class="controls">
+ <table style="width: 55%" id="tblDeployedApp" class="table
table-striped table-bordered table-hovered table-condensed">
+ <thead>
+ <tr>
+ <th>Deployment Name</th>
+ <th>Edit</th>
+ <th>Delete</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr ng-repeat="appDesc in
serviceDescriptor.applicationDescriptors">
+ <td class="span4">{{appDesc.hostDescName}}</td>
+ <td class="span4"><a href ng-click=""><i
class="icon-edit-sign"></i></a></td>
+ <td class="span4"><a href
ng-click="serviceDescriptor.applicationDescriptors.splice($index, 1)"><i
class="icon-remove-sign"></i></a></td>
+ </tr>
+ </tbody>
+ </table>
+ <label class="checkbox">
+ <input type="checkbox" ng-model="isNewDeployment"> New Deployment
+ </label>
+ <!--a href ng-click="newDeployment();">New Deployment</a-->
+ </div>
+ </div>
+ <div class="control-group">
+ <div class="controls">
+ <button type="submit" class="btn btn-primary">Register</button>
+ <!--button type="submit" ng-disabled="launchWorkflowForm.$invalid"
class="btn btn-primary">Run</button-->
+ <a class="btn" href="#/exec">Cancel</a>
+ </div>
+ </div>
+ </fieldset>
+ </form>
+ <form name="newAppDeployFrom" ng-show="isNewDeployment"
class="form-horizontal">
+ <fieldset>
+ <div class="row">
+ <div class="span4">
+ <legend>{{newAppDeployFromLegend}}</legend>
+ <div class="control-group">
+ <label class="control-label" for="applicationHost"> Application
Host</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">
+ <label class="control-label" for="executablePath">Executable
Path</label>
+ <div class="controls">
+ <input type="text" id="executablePath" placeholder="Executable
Path" ng-model="applicationDescriptor.executablePath" required>
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="scratchWorkingDirectory">Scratch
Working Directory</label>
+ <div class="controls">
+ <input type="text" id="scratchWorkingDirectory"
placeholder="Scratch Working Directory"
ng-model="applicationDescriptor.workingDir" required>
+ </div>
+ </div>
+ <h6>Locations</h6>
+ <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">
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="outputDirectory">Output
Directory</label>
+ <div class="controls">
+ <input type="text" id="outputDirectory" placeholder="Output
Directory" ng-model="applicationDescriptor.outputDir">
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="staticWorkingDir">Static Working
Directory</label>
+ <div class="controls">
+ <input type="text" id="staticWorkingDir" placeholder="Static
Working Directory" ng-model="applicationDescriptor.staticWorkingDir">
+ </div>
+ </div>
+ <h6>Program Data</h6>
+ <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">
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="inputSTDOUT">STDOUT</label>
+ <div class="controls">
+ <input type="text" id="inputSTDOUT" placeholder="Standard
Output" ng-model="applicationDescriptor.stdOut">
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="inputSTDERR">STDERR</label>
+ <div class="controls">
+ <input type="text" id="inputSTDERR" placeholder="Standard Error"
ng-model="applicationDescriptor.stdError">
+ </div>
+ </div>
+ </div>
+ <div class="span4">
+ <!--<legend>Locations</legend>
+ <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">
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="outputDirectory">Output
Directory</label>
+ <div class="controls">
+ <input type="text" id="outputDirectory" placeholder="Output
Directory" ng-model="applicationDescriptor.outputDir">
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="staticWorkingDir">Static Working
Directory</label>
+ <div class="controls">
+ <input type="text" id="staticWorkingDir" placeholder="Static
Working Directory" ng-model="applicationDescriptor.staticWorkingDir">
+ </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">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':'',
+'
+};-->
\ No newline at end of file
Modified: airavata/sandbox/gsoc2013/app/views/exec.navbar.html
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/views/exec.navbar.html?rev=1511768&r1=1511767&r2=1511768&view=diff
==============================================================================
--- airavata/sandbox/gsoc2013/app/views/exec.navbar.html (original)
+++ airavata/sandbox/gsoc2013/app/views/exec.navbar.html Thu Aug 8 13:07:55
2013
@@ -24,7 +24,7 @@ under the License.
<li><a ng-href="#/exec/workflowProperties" role="button"
data-toggle="modal"><i class="icon-gears"></i> Workflow Properties</a></li>
<li><a ng-href="#" role="button" data-toggle="modal"><i
class="icon-star"></i> Parameter Properties</a></li>
<li><a ng-href="#" role="button" data-toggle="modal"><i
class="icon-desktop"></i> Host</a></li>
- <li><a ng-href="#/exec/newApplicationDeployment" role="button"
data-toggle="modal"><i class="icon-gear"></i> Applications</a></li>
+ <li><a ng-href="#/exec/registerApplication" role="button"
data-toggle="modal"><i class="icon-gear"></i> Applications</a></li>
</ul>
</li>
<li class="dropdown"><a href="#" class="dropdown-toggle"
data-toggle="dropdown"><i class="icon-bullseye"></i> View</a>
Modified: airavata/sandbox/gsoc2013/app/views/exec.sidenavbar.html
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/views/exec.sidenavbar.html?rev=1511768&r1=1511767&r2=1511768&view=diff
==============================================================================
--- airavata/sandbox/gsoc2013/app/views/exec.sidenavbar.html (original)
+++ airavata/sandbox/gsoc2013/app/views/exec.sidenavbar.html Thu Aug 8
13:07:55 2013
@@ -22,7 +22,7 @@ under the License.
<div ui-view="addHost"></div>
</li>
<li>
- <a ng-href="#/exec/newApplicationDeployment"><i
class="icon-plus-sign"></i> New Application Deployment</a>
+ <a ng-href="#/exec/registerApplication"><i class="icon-book"></i> Register
Application</a>
<div ui-view="registerApplication"></div>
</li>
<li>
Modified: airavata/sandbox/gsoc2013/app/views/index.sidenavbar.html
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/app/views/index.sidenavbar.html?rev=1511768&r1=1511767&r2=1511768&view=diff
==============================================================================
--- airavata/sandbox/gsoc2013/app/views/index.sidenavbar.html (original)
+++ airavata/sandbox/gsoc2013/app/views/index.sidenavbar.html Thu Aug 8
13:07:55 2013
@@ -36,35 +36,3 @@
</fieldset>
</form>
</div>
-<div class="modal hide fade" id="createNweUserModal"
aria-labelledby="createNweUserModal" tabindex="-1" role="dialog"
aria-hidden="true" ng-controller="RegistryConnection">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal"
aria-hidden="true">Ã</button>
- <h3>Register New User</h3>
- </div>
- <div class="modal-body">
- <form class="form-horizontal">
- <div class="control-group">
- <label class="control-label" for="field-newUserName"><i class="
icon-pencil"></i></label>
- <div class="controls">
- <input type="text" id="field-newUserName" placeholder="User Name"
ng-model="newUser.username" required>
- </div>
- </div>
- <div class="control-group">
- <label class="control-label" for="field-password2"><i class="
icon-key"></i></label>
- <div class="controls">
- <input type="password" id="field-password2" placeholder="Password"
ng-model="newUser.password" required>
- </div>
- </div>
- <div class="control-group">
- <label class="control-label" for="field-confirmPassword"><i class="
icon-key"></i></label>
- <div class="controls">
- <input type="password" id="field-confirmPassword"
placeholder="Confirm Password" ng-model="newUser.confirmPassword" required>
- </div>
- </div>
- </form>
- </div>
- <div class="modal-footer">
- <button type="submit" class="btn btn-primary"
ng-click="newUserRegistry()">Add</button>
- <a href="#" class="btn " data-dismiss="modal" aria-hidden="true">Cancel</a>
- </div>
-</div>
Added: airavata/sandbox/gsoc2013/package.json
URL:
http://svn.apache.org/viewvc/airavata/sandbox/gsoc2013/package.json?rev=1511768&view=auto
==============================================================================
--- airavata/sandbox/gsoc2013/package.json (added)
+++ airavata/sandbox/gsoc2013/package.json Thu Aug 8 13:07:55 2013
@@ -0,0 +1,41 @@
+{
+ "name": "ApacheAiravataWebUI",
+ "version": "0.0.0",
+ "private": true,
+ "keywords": [ "Apache Software Foundation", "Airavata", "Workflow" ],
+ "contributors": [
+ { "name": "Danushka Menikkumbura", "email":
"[email protected]" },
+ { "name": "Sanchit Aggarwal", "email": "[email protected]" },
+ { "name": "Shameera Rathnayaka", "email": "[email protected]" },
+ { "name": "Subho Banerjee", "email": "[email protected]" },
+ { "name": "Vijayendra R Grampurohit", "email": "[email protected]"}
+ ],
+ "devDependencies": {
+ "grunt": "~0.4.1",
+ "grunt-contrib-copy": "~0.4.1",
+ "grunt-contrib-concat": "~0.3.0",
+ "grunt-contrib-coffee": "~0.7.0",
+ "grunt-contrib-uglify": "~0.2.0",
+ "grunt-contrib-compass": "~0.3.0",
+ "grunt-contrib-jshint": "~0.6.0",
+ "grunt-contrib-cssmin": "~0.6.0",
+ "grunt-contrib-connect": "~0.3.0",
+ "grunt-contrib-clean": "~0.4.1",
+ "grunt-contrib-htmlmin": "~0.1.3",
+ "grunt-contrib-imagemin": "~0.1.4",
+ "grunt-contrib-watch": "~0.4.0",
+ "grunt-usemin": "~0.1.11",
+ "grunt-rev": "~0.1.0",
+ "grunt-karma": "~0.4.3",
+ "grunt-open": "~0.2.0",
+ "grunt-concurrent": "~0.3.0",
+ "matchdep": "~0.1.2",
+ "connect-livereload": "~0.2.0",
+ "grunt-google-cdn": "~0.2.0",
+ "grunt-ngmin": "~0.0.2",
+ "yo": "*"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+}