You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by he...@apache.org on 2012/11/07 17:52:54 UTC
svn commit: r1406717 -
/airavata/sandbox/client-api-demo/src/main/webapp/js/x_app_descriptor_edit_json.js
Author: heshan
Date: Wed Nov 7 16:52:54 2012
New Revision: 1406717
URL: http://svn.apache.org/viewvc?rev=1406717&view=rev
Log:
Adding js method for app edit.
Added:
airavata/sandbox/client-api-demo/src/main/webapp/js/x_app_descriptor_edit_json.js
Added: airavata/sandbox/client-api-demo/src/main/webapp/js/x_app_descriptor_edit_json.js
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/js/x_app_descriptor_edit_json.js?rev=1406717&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/js/x_app_descriptor_edit_json.js (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/js/x_app_descriptor_edit_json.js Wed Nov 7 16:52:54 2012
@@ -0,0 +1,228 @@
+/*
+ * 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.
+ */
+
+function xmlToString(xml) {
+ var xmlData = $(xml);
+ var xmlString;
+ if (window.ActiveXObject) {
+ xmlString = xmlData.xml;
+ } else {
+ var oSerializer = new XMLSerializer();
+ xmlString = oSerializer.serializeToString(xmlData[0]);
+ }
+ console.log(xmlString);
+ return xmlString;
+}
+
+function initButtons() {
+ var jsonRequest = {};
+ var inputCount = 1;
+ var outputCount = 1;
+
+ $("#addInputButton").live("click", function(){
+ inputCount++;
+ $(this).before("<br>");
+ $(this).before("<label class=\"span2\">Input Name *:" +
+ "</label><input type=\"text\" id=\"inputName" + inputCount + "\" name=\"inputName" + inputCount + "\" value=\"echo_input\">");
+
+ $(this).before("<label class=\"span2\">Input Type *:" +
+ "</label><input type=\"text\" id=\"inputType" + inputCount + "\" name=\"inputType" + inputCount + "\" value=\"String\">");
+ });
+
+ $("#addOutputButton").live("click", function(){
+ outputCount++;
+ $(this).before("<label class=\"span2\">Output Name *:" +
+ "</label><input type=\"text\" id=\"outputName" + outputCount + "\" name=\"outputName" + outputCount + "\" value=\"echo_output\">");
+
+ $(this).before("<label class=\"span2\">Output Type *:" +
+ "</label><input type=\"text\" id=\"outputType" + outputCount + "\" name=\"outputType" + outputCount + "\" value=\"String\">");
+ });
+
+ $("#updateAppButton").click(function(){
+ var appName = $("#appName1").val();
+ var hostName = $("#hostName1").val();
+ var serviceName = $("#serviceName1").val();
+ var exeuctableLocation = $("#exeuctableLocation1").val();
+ var projAccNumber = $("#projAccNumber1").val();
+
+ var scratchWorkingDirectory = $("#scratchWorkingDirectory1").val();
+ var maxMemory = $("#maxMemory1").val();
+ var queueName = $("#queueName1").val();
+ var cpuCount = $("#cpuCount1").val();
+ var nodeCount = $("#nodeCount1").val();
+
+ var inputName1 = $("#inputName1").val();
+ var inputType1 = $("#inputType1").val();
+ var outputName = $("#outputName1").val();
+ var outputType = $("#outputType1").val();
+
+ var applicationDescType = "Gram"; // TODO : input
+
+ jsonRequest["name"] = appName;
+ jsonRequest["projectNumber"] = projAccNumber;
+ jsonRequest["jobType"] = "single"; // TODO : input
+ jsonRequest["queueName"] = queueName;
+ jsonRequest["applicationDescType"] = applicationDescType;
+ jsonRequest["executablePath"] = exeuctableLocation;
+ jsonRequest["workingDir"] = scratchWorkingDirectory;
+ jsonRequest["cpuCount"] = cpuCount;
+ jsonRequest["hostdescName"] = hostName;
+ jsonRequest["maxMemory"] = maxMemory;
+ jsonRequest["maxWallTime"] = "10"; //TODO
+ jsonRequest["minMemory"] = "4"; //TODO
+ jsonRequest["nodeCount"] = nodeCount;
+ jsonRequest["processorsPerNode"] = "3"; //TODO
+
+ var inArray = [];
+ for(var j=1; j<inputCount+1; j++) {
+ var input = {};
+ input["dataType"] = "input";
+ input["description"] = "empty";
+ input["name"] = "name"; //$("#inputName" + j+1).val();
+ input["type"] = "type"; //$("#inputType" + j+1).val();
+ inArray[j-1] = input;
+
+ console.log("input : " + j);
+ console.log(JSON.stringify(input));
+ }
+
+ var outArray = new Array();
+ for(j=1; j<outputCount+1; j++) {
+ var output = {};
+ output["dataType"] = "output";
+ output["description"] = "empty";
+ output["name"] = "name"; //$("#outputName" + j+1).val();
+ output["type"] = "type"; //$("#outputType" + j+1).val();
+// output["name"] = $('#outputName'.concat(j+1)).val();
+// output["type"] = $('#outputType'.concat(j+1)).val();
+ outArray[j-1] = output;
+ }
+
+ var serviceDesc = {};
+ serviceDesc["serviceName"] = serviceName;
+ serviceDesc["inputParams"] = inArray;
+ serviceDesc["outputParams"] = outArray;
+ jsonRequest["serviceDescriptor"] = serviceDesc;
+ console.log(JSON.stringify(jsonRequest));
+
+ $.ajax({
+ beforeSend: function(x) {
+ if (x && x.overrideMimeType) {
+ x.overrideMimeType("application/j-son;charset=UTF-8");
+ }
+ },
+ type: "POST",
+ dataType: "json",
+ contentType: "application/json;charset=utf-8",
+ url: "http://localhost:7080/airavata-registry-rest-services/registry/api/applicationdescriptor/update",
+ data: JSON.stringify(jsonRequest)
+ }).done(function( msg ) {
+ alert( "Data Saved: " + msg );
+ });
+
+ });
+
+ $("#deleteAppButton").click(function(){
+ var appName = $("#appName1").val();
+ var hostName = $("#hostName1").val();
+ var serviceName = $("#serviceName1").val();
+ var exeuctableLocation = $("#exeuctableLocation1").val();
+ var projAccNumber = $("#projAccNumber1").val();
+
+ var scratchWorkingDirectory = $("#scratchWorkingDirectory1").val();
+ var maxMemory = $("#maxMemory1").val();
+ var queueName = $("#queueName1").val();
+ var cpuCount = $("#cpuCount1").val();
+ var nodeCount = $("#nodeCount1").val();
+
+ var inputName1 = $("#inputName1").val();
+ var inputType1 = $("#inputType1").val();
+ var outputName = $("#outputName1").val();
+ var outputType = $("#outputType1").val();
+
+ var applicationDescType = "Gram"; // TODO : input
+
+ jsonRequest["name"] = appName;
+ jsonRequest["projectNumber"] = projAccNumber;
+ jsonRequest["jobType"] = "single"; // TODO : input
+ jsonRequest["queueName"] = queueName;
+ jsonRequest["applicationDescType"] = applicationDescType;
+ jsonRequest["executablePath"] = exeuctableLocation;
+ jsonRequest["workingDir"] = scratchWorkingDirectory;
+ jsonRequest["cpuCount"] = cpuCount;
+ jsonRequest["hostdescName"] = hostName;
+ jsonRequest["maxMemory"] = maxMemory;
+ jsonRequest["maxWallTime"] = "10"; //TODO
+ jsonRequest["minMemory"] = "4"; //TODO
+ jsonRequest["nodeCount"] = nodeCount;
+ jsonRequest["processorsPerNode"] = "3"; //TODO
+
+ var inArray = [];
+ for(var j=1; j<inputCount+1; j++) {
+ var input = {};
+ input["dataType"] = "input";
+ input["description"] = "empty";
+ input["name"] = "name"; //$("#inputName" + j+1).val();
+ input["type"] = "type"; //$("#inputType" + j+1).val();
+ inArray[j-1] = input;
+
+ console.log("input : " + j);
+ console.log(JSON.stringify(input));
+ }
+
+ var outArray = new Array();
+ for(j=1; j<outputCount+1; j++) {
+ var output = {};
+ output["dataType"] = "output";
+ output["description"] = "empty";
+ output["name"] = "name"; //$("#outputName" + j+1).val();
+ output["type"] = "type"; //$("#outputType" + j+1).val();
+// output["name"] = $('#outputName'.concat(j+1)).val();
+// output["type"] = $('#outputType'.concat(j+1)).val();
+ outArray[j-1] = output;
+ }
+
+ var serviceDesc = {};
+ serviceDesc["serviceName"] = serviceName;
+ serviceDesc["inputParams"] = inArray;
+ serviceDesc["outputParams"] = outArray;
+ jsonRequest["serviceDescriptor"] = serviceDesc;
+ console.log(JSON.stringify(jsonRequest));
+
+ $.ajax({
+ beforeSend: function(x) {
+ if (x && x.overrideMimeType) {
+ x.overrideMimeType("application/j-son;charset=UTF-8");
+ }
+ },
+ type: "POST",
+ dataType: "json",
+ contentType: "application/json;charset=utf-8",
+ url: "http://localhost:7080/airavata-registry-rest-services/registry/api/applicationdescriptor/delete",
+ data: JSON.stringify(jsonRequest)
+ }).done(function( msg ) {
+ alert( "Data Saved: " + msg );
+ });
+
+ });
+}
+
+$(document).ready(function(){
+ initButtons();
+});
\ No newline at end of file