diff options
Diffstat (limited to '')
-rw-r--r-- | branches/sca-android/modules/domain-manager/src/main/resources/cloud-gadget.html | 408 |
1 files changed, 0 insertions, 408 deletions
diff --git a/branches/sca-android/modules/domain-manager/src/main/resources/cloud-gadget.html b/branches/sca-android/modules/domain-manager/src/main/resources/cloud-gadget.html deleted file mode 100644 index 619df54ede..0000000000 --- a/branches/sca-android/modules/domain-manager/src/main/resources/cloud-gadget.html +++ /dev/null @@ -1,408 +0,0 @@ -<!-- - * 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. ---> -<html> -<head> -<title>SCA Domain - Cloud</title> - -<script type="text/javascript" src="../cloud-gadget/cloud-gadget.js"></script> -<script type="text/javascript" src="utils.js"></script> - -<link rel="stylesheet" type="text/css" href="manager.css"> -</head> - -<body> - <div id="cloudComposite"> - - <form id="cloudCompositeForm"> - <div id="composites" ></div> - <br> - ><a href="" id="addNodeLink">Add</a> - <a href="" id="deleteNodeLink">Delete</a> - - <a href="" id="startNodeLink">Start</a> - <a href="" id="stopNodeLink">Stop</a> - </form> - - <div id="newNode" style="visibility: hidden;"> - <form id="newNodeForm"> - <table width="100%"> - <tr><th>Add a Node</th></tr> - <tr><td>Add a node to the cloud. The node will run the SCA components declared in the specified composite.</td></tr> - </table> - <br> - <table> - <tr><td>Node name:</td><td><input type="text" name="nodeName" size="50"/></td><td>e.g. YourNode</td></tr> - <tr><td>Node URI:</td><td><input type="text" name="nodeURI" size="50"/></td></td><td>e.g. http://yourhost:8080</td></tr> - <tr><td>Composite namespace:</td><td><input type="text" name="compositeNamespace" size="50"/></td></td><td>e.g. http://your/namespace</td></tr> - <tr><td>Composite name:</td><td><input type="text" name="compositeName" size="50"/></td></td><td>e.g. yourcomposite</td></tr> - <tr><td>Contribution URI:</td><td><input type="text" name="contributionURI" size="50"/></td></td><td>e.g. yourcontrib, http://yourcontrib</td></tr> - </table> - <input id="addNodeButton" type="button" value="Add" /> - </form> - </div> - - </div> -</body> - -<script type="text/javascript"> - - //@Reference - var cloudComposite = new Reference("cloudComposite"); - - //@Reference - var domainComposite = new Reference("domainComposite"); - - //@Reference - var processCollection = new Reference("processCollection"); - - var gadget = gadget(window, document); - if (gadget.showStatus == null) { - gadget.showStatus = true; - } - if (gadget.showConfigurations == null) { - gadget.showConfigurations = true; - } - - var cloudCompositeForm = elementByID(gadget, 'cloudCompositeForm'); - var compositesElement = elementByID(gadget, 'composites'); - var newNodeElement = elementByID(gadget, 'newNode'); - var newNodeForm = elementByID(gadget, 'newNodeForm'); - - var nodeNames; - var deployedComposites = new Array(); - - function getNodes() { - cloudComposite.get("", getNodesResponse); - } - - function contributionURI(id) { - var i = id.indexOf(';'); - return id.substring(10, i); - } - - function compositeName(id) { - var i = id.indexOf(';'); - return id.substring(i + 1); - } - - function compositeLocalName(id) { - name = compositeName(id); - var i = name.indexOf(';'); - return name.substring(i + 1); - } - - function getNodesResponse(feed) { - nodeNames = new Array(); - if (feed != null) { - var entries = feed.getElementsByTagName("entry"); - var composites = ""; - composites += '<table width="100%">'; - composites += '<tr><th>Node</th>'; - if (gadget.showStatus) { - composites += '<th>Status</th>'; - } - if (gadget.showComposites) { - composites += '<th>Composite</th>'; - } - if (gadget.showContributions) { - composites += '<th>Contribution</th>'; - } - if (gadget.showConfigurations) { - composites += '<th>Node Config</th>'; - } - composites += '</tr>'; - - for (var i=0; i<entries.length; i++) { - var nodeId = entries[i].getElementsByTagName("id")[0].firstChild.nodeValue; - var links = entries[i].getElementsByTagName("link"); - var nodeLink = undefined; - var compositeLink = undefined; - var compositeId = "composite:undefined;undefined;undefined"; - var uri = '<span style="color: red">unknown</span>'; - var qname = undefined; - for (var l = 0; l < links.length; l++) { - var a = links[l].getAttribute('rel'); - if (a == undefined) { - nodeLink = links[l].getAttribute('href'); - } else if (a == 'related') { - compositeLink = links[l].getAttribute('href'); - var c = compositeLink.indexOf('composite:'); - compositeId = compositeLink.substring(c); - uri = contributionURI(compositeId); - qname = compositeName(compositeId); - } - } - - var nodeName = compositeLocalName(nodeId); - nodeNames[i] = nodeName; - - var content = ""; - if (entries[i].getElementsByTagName("content")[0].firstChild != null) { - content = entries[i].getElementsByTagName("content")[0].firstChild.nodeValue; - } - - composites += '<tr>' - if (content.indexOf('<span id="problem"') != -1) { - composites += '<td><input name="composites" type="checkbox" value="' + nodeId + '">' + - '<a href=\"' + nodeLink + '\">' + nodeName + '</a></td>'; - if (gadget.showStatus) { - composites += '<td><span id="status_' + nodeName + '">unknown</span></td>'; - } - if (gadget.showComposites) { - composites += '<td>' + content + '</td>'; - } - if (gadget.showContributions) { - composites += '<td>' + uri + '</td>'; - } - } else { - composites += '<td><input name="composites" type="checkbox" value="' + nodeId + '">' + - '<a href=\"' + nodeLink + '\">' + nodeName + '</a></td>'; - if (gadget.showStatus) { - composites += '<td><span id="status_' + nodeName + '">unknown</span></td>'; - } - if (gadget.showComposites) { - composites += '<td><a href=\"' + compositeLink + '\">' + qname + '</a></td>'; - } - if (gadget.showContributions) { - composites += '<td><a href="/contribution/' + uri + '">' + uri + '</a></td>'; - } - } - if (gadget.showConfigurations) { - composites += '<td><a href="/node-config/' + nodeName + '"><img src="icons/feed-icon.png" border="0"></a></td>'; - } - composites += '</tr>'; - } - composites += '</table>'; - compositesElement.innerHTML = composites; - - processCollection.get("", getProcessesResponse); - } - } - - function getProcessesResponse(feed) { - if (feed != null) { - var nodeStatus = new Array(); - - var entries = feed.getElementsByTagName("entry"); - for (var i=0; i<entries.length; i++) { - var nodeName = entries[i].getElementsByTagName("id")[0].firstChild.nodeValue; - nodeStatus[nodeName] = 'started'; - } - - if (gadget.showStatus) { - for (var i = 0; i < nodeNames.length; i++) { - var element = elementByID(gadget, 'status_' + nodeNames[i]); - var nodeName = nodeNames[i]; - if (nodeStatus[nodeName] == null) { - element.innerHTML = '<span>stopped</span>'; - } else { - element.innerHTML = '<span><a style="color: green" href="/processes/?node=' + nodeName + '">started</a></span>'; - } - } - } - } - } - - function deleteNode() { - var composites = array(cloudCompositeForm.composites); - for (var i = 0; i < composites.length; i++) { - if (composites[i].checked) { - var id = composites[i].value; - cloudComposite.del(id, deleteNodeResponse); - } - } - return false; - } - - function deleteNodeResponse() { - getNodes(); - } - - function addNode() { - var nodeName = newNodeForm.nodeName.value; - var nodeURI = newNodeForm.nodeURI.value; - var compositeNamespace = newNodeForm.compositeNamespace.value; - var compositeName = newNodeForm.compositeName.value; - var contributionURI = newNodeForm.contributionURI.value; - var id = 'composite:' + - 'http://tuscany.apache.org/cloud' + ';' + - 'http://tuscany.apache.org/cloud' + ';' + - nodeName; - - var entry = '<entry xmlns="http://www.w3.org/2005/Atom">\n' + - '<id>' + id + '</id>\n' + - '<content type="text/xml">\n' + - '<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"\n' + - ' xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"\n' + - ' targetNamespace="http://tuscany.apache.org/cloud"\n' + - ' xmlns:c="' + compositeNamespace + '"\n' + - ' name="' + nodeName + '">\n' + - '\n' + - ' <component name="' + nodeName + '">\n' + - ' <t:implementation.node uri="' + contributionURI + '" composite="c:' + compositeName + '"/>\n' + - ' <service name="Node">\n' + - ' <binding.ws uri="' + nodeURI + '"/>\n' + - ' <t:binding.http uri="' + nodeURI + '"/>\n' + - ' <t:binding.jsonrpc uri="' + nodeURI + '"/>\n' + - ' <t:binding.atom uri="' + nodeURI + '"/>\n' + - ' </service>\n' + - ' </component>\n' + - '</composite>' + - '</content>' + - '</entry>'; - cloudComposite.post(entry, addNodeResponse); - } - - function addNodeResponse() { - newNodeForm.nodeName.value = ""; - newNodeForm.nodeURI.value = ""; - newNodeForm.compositeNamespace.value = ""; - newNodeForm.compositeName.value = ""; - newNodeForm.contributionURI.value = ""; - getNodes(); - } - - function startNode() { - var composites = array(cloudCompositeForm.composites); - for (var i = 0; i < composites.length; i++) { - if (composites[i].checked) { - var id = nodeNames[i]; - - var entry = '<entry xmlns="http://www.w3.org/2005/Atom">' + - '<id>' + id + '</id>' + - '</entry>'; - processCollection.post(entry, startNodeResponse); - } - } - return false; - } - - function startNodeResponse() { - processCollection.get("", getProcessesResponse); - - var composites = array(cloudCompositeForm.composites); - for (var i = 0; i < composites.length; i++) { - if (composites[i].checked) { - composites[i].checked = false; - } - } - } - - function stopNode() { - var composites = array(cloudCompositeForm.composites); - for (var i = 0; i < composites.length; i++) { - if (composites[i].checked) { - var id = nodeNames[i]; - processCollection.del(id, stopNodeResponse); - } - } - return false; - } - - function stopNodeResponse() { - processCollection.get("", getProcessesResponse); - - var composites = array(cloudCompositeForm.composites); - for (var i = 0; i < composites.length; i++) { - if (composites[i].checked) { - composites[i].checked = false; - } - } - } - - function getComposites() { - domainComposite.get("", getCompositesResponse); - } - - function getCompositesResponse(feed) { - if (feed != null) { - var entries = feed.getElementsByTagName("entry"); - for (var i=0; i<entries.length; i++) { - var id = entries[i].getElementsByTagName("id")[0].firstChild.nodeValue; - deployedComposites[id] = id; - } - } - } - - function suggestCompositeNamespaces() { - var namespaces = new Array(); - for (var uri in deployedComposites) { - var qname = compositeName(uri); - var ns = qname.substring(0, qname.indexOf(';')); - namespaces[ns] = ns; - } - return array(namespaces); - } - - function suggestCompositeNames() { - var inputns = newNodeForm.compositeNamespace.value; - var names = new Array(); - for (var uri in deployedComposites) { - var qname = compositeName(uri); - var sc = qname.indexOf(';'); - var ns = qname.substring(0, sc); - var name = qname.substring(sc + 1); - if (ns == inputns || inputns == "") { - names[name] = name; - } - } - return array(names); - } - - function suggestContributionURIs() { - var inputns = newNodeForm.compositeNamespace.value; - var inputname = newNodeForm.compositeName.value; - var uris = new Array(); - for (var uri in deployedComposites) { - var qname = compositeName(uri); - var sc = qname.indexOf(';'); - var ns = qname.substring(0, sc); - var name = qname.substring(sc + 1); - if ((ns == inputns || inputns == "") && (name == inputname || inputname == "")) { - var curi = contributionURI(uri); - uris[curi] = curi; - } - } - return array(uris); - } - - function toggleNewNode() { - var visibility = newNodeElement.style.visibility; - if (visibility == 'hidden') { - newNodeElement.style.visibility = 'visible'; - } else { - newNodeElement.style.visibility = 'hidden'; - } - return false; - } - - elementByID(gadget, 'deleteNodeLink').onclick = deleteNode; - elementByID(gadget, 'addNodeLink').onclick = toggleNewNode; - elementByID(gadget, 'startNodeLink').onclick = startNode; - elementByID(gadget, 'stopNodeLink').onclick = stopNode; - elementByID(gadget, 'addNodeButton').onclick = addNode; - - getNodes(); - getComposites(); - suggest(newNodeForm.compositeNamespace, suggestCompositeNamespaces); - suggest(newNodeForm.compositeName, suggestCompositeNames); - suggest(newNodeForm.contributionURI, suggestContributionURIs); - -</script> -</html> |