[esb-java-dev] svn commit r731 - in esb/java/trunk/modules:
core/src/main/java/org/wso2/esb/services
distribution/src/main/www/extensions/core
distribution/src/main/www/extensions/core/css
distribution/src/main/www/extensions/core/js
distribution/src/main/www/extensions/core/xslt
distribution/src/main/www/extensions/core/xslt/mediators
distribution/src/main/www/extensions/core/xslt/proxyservices
svn at wso2.com
svn at wso2.com
Mon Feb 5 04:50:00 PST 2007
Author: ruwan
Date: Mon Feb 5 04:49:06 2007
New Revision: 731
Modified:
esb/java/trunk/modules/core/src/main/java/org/wso2/esb/services/ProxyServiceAdmin.java
esb/java/trunk/modules/core/src/main/java/org/wso2/esb/services/SequenceAdmin.java
esb/java/trunk/modules/distribution/src/main/www/extensions/core/css/wso2-esb.css
esb/java/trunk/modules/distribution/src/main/www/extensions/core/divs.html
esb/java/trunk/modules/distribution/src/main/www/extensions/core/js/_proxyservices.js
esb/java/trunk/modules/distribution/src/main/www/extensions/core/js/sequences.js
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/mediators/commons.xsl
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/mediators/mediator_edit.xsl
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxy_services.xsl
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_edit.xsl
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_view.xsl
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_edit.xsl
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_view.xsl
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_target_edit.xsl
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_target_view.xsl
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_transport_edit.xsl
esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_transport_view.xsl
Log:
UI enhanced
Modified: esb/java/trunk/modules/core/src/main/java/org/wso2/esb/services/ProxyServiceAdmin.java
==============================================================================
--- esb/java/trunk/modules/core/src/main/java/org/wso2/esb/services/ProxyServiceAdmin.java (original)
+++ esb/java/trunk/modules/core/src/main/java/org/wso2/esb/services/ProxyServiceAdmin.java Mon Feb 5 04:49:06 2007
@@ -26,6 +26,7 @@
import org.apache.synapse.config.xml.Constants;
import org.apache.synapse.config.xml.ProxyServiceFactory;
import org.apache.synapse.config.xml.ProxyServiceSerializer;
+import org.apache.synapse.config.xml.XMLConfigurationBuilder;
import org.apache.synapse.core.axis2.ProxyService;
import org.wso2.esb.services.utils.ProxyData;
@@ -95,6 +96,25 @@
}
}
+ public void saveProxyServiceNew(OMElement proxyServiceElement) throws AxisFault {
+ try {
+ if (proxyServiceElement.getFirstElement().getQName().getLocalPart()
+ .equals(org.apache.synapse.config.xml.Constants.PROXY_ELT.getLocalPart())) {
+// String proxyName = proxyServiceElement.getFirstElement().getAttributeValue(new QName("name"));
+// if (getSynapseConfiguration().getProxyService(proxyName) == null) {
+// throw new AxisFault("Proxy service name " + proxyName + " doesn't exists");
+// } else {
+ ProxyService proxy = ProxyServiceFactory.createProxy(proxyServiceElement);
+ getSynapseConfiguration().addProxyService(proxy.getName(), proxy);
+// }
+ } else {
+ throw new AxisFault("Invalid proxy service element");
+ }
+ } catch (SynapseException syne) {
+ throw new AxisFault("Unable to save the proxy service ", syne);
+ }
+ }
+
/**
* Add a proxy service described by the given OMElement
*
Modified: esb/java/trunk/modules/core/src/main/java/org/wso2/esb/services/SequenceAdmin.java
==============================================================================
--- esb/java/trunk/modules/core/src/main/java/org/wso2/esb/services/SequenceAdmin.java (original)
+++ esb/java/trunk/modules/core/src/main/java/org/wso2/esb/services/SequenceAdmin.java Mon Feb 5 04:49:06 2007
@@ -20,6 +20,7 @@
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
import org.apache.synapse.SynapseException;
+import org.apache.synapse.core.axis2.ProxyService;
import org.apache.synapse.config.Property;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.config.xml.Constants;
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/css/wso2-esb.css
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/css/wso2-esb.css (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/css/wso2-esb.css Mon Feb 5 04:49:06 2007
@@ -900,9 +900,12 @@
}
.add-proxy {
- width: 800px;
- border-style: outset;
+ width:800px;
+ border-style:outset;
border-color: lightblue;
+ position:relative;
+ margin-left:230px;
+ padding-left:10px;
}
.field-view {
@@ -917,4 +920,13 @@
_width: 400px;
_height: 180px;
-}
\ No newline at end of file
+}
+
+.hard-indent {
+ margin-left: 4em;
+}
+
+.proxy-select {
+ left:180px;
+ position:absolute;
+}
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/divs.html
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/divs.html (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/divs.html Mon Feb 5 04:49:06 2007
@@ -25,6 +25,7 @@
<div id="divSynapseServiceStatisticsSummary"></div>
<div id="divSynapseProxyServicesStatisticsSummary"></div>
<div id="divSynapseServiceOperationStatisticsSummary"></div>
+<div id="divOverMenu"></div>
<!--
~ Copyright (c) 2006, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/js/_proxyservices.js
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/js/_proxyservices.js (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/js/_proxyservices.js Mon Feb 5 04:49:06 2007
@@ -70,6 +70,13 @@
function viewproxyinconsole() {
+ if(doingadd) {
+ var stepdiv = document.getElementById("addproxystep");
+ var index = stepdiv.getAttribute("name");
+
+ proxydatacollect["step" + index](stepdiv);
+ }
+
var proxydiv = document.getElementById("divProxyService");
proxydiv.innerHTML = "";
@@ -247,8 +254,10 @@
if(internalmodel.proxyname == "") {
showgetproxynamediv(1);
} else {
- alert("save to the service")
- // todo: constrcut the soap message and call the service
+
+ var body_xml = new XMLSerializer().serializeToString(internalmodel.proxy);
+ var callURL = serverURL + "/" + PROXY_ADMIN + "/" + "saveProxyServiceNew";
+ send("saveProxyServiceNew", body_xml, "", callURL, "", false, showProxyServices);
}
}
@@ -347,24 +356,120 @@
}
proxydatacollect["step1"] = function collecttargetdata(objdiv) {
- alert("step1 data collect")
- // todo: collect target data
-}
+
+ var targetstring = "";
+ var check;
+ if(document.getElementById("target_endpoint").checked) {
+ if(document.getElementById("target_ep").value != "") {
+ targetstring = "<syn:target endpoint='" + document.getElementById("target_ep").value + "' ";
+ check = true;
+ }
+ } else {
+ if(document.getElementById("target_insequence").value != "") {
+ targetstring = "<syn:target inSequence='" + document.getElementById("target_insequence").value + "' ";
+ check = true;
+ }
+ if(document.getElementById("target_outsequence").value != "") {
+ if(check) {
+ targetstring += "outSequence='" + document.getElementById("target_outsequence").value + "' ";
+ } else {
+ targetstring = "<syn:target outSequence='" + document.getElementById("target_outsequence").value + "' ";
+ check = true;
+ }
+ }
+ }
+
+ if(check) {
+ targetstring += "xmlns:syn='http://ws.apache.org/ns/synapse'/>";
+ if(getproxyelements("target").length > 0) {
+ internalmodel.proxy.removeChild(getproxyelements("target")[0]);
+ }
+ internalmodel.proxy.appendChild(createesbelement(targetstring));
+ }
+};
proxydatacollect["step2"] = function collecttransportdata(objdiv) {
- alert("step2 data collect")
- // todo: collect transport data
-}
+
+ var transportstring = "";
+ var transports = document.getElementsByName("proxy_transport");
+
+ for(var i=0; i<transports.length; i++) {
+ if(transports[i].checked) {
+ transportstring += transports[i].value + " ";
+ }
+ }
+
+ if(transportstring != "") {
+ internalmodel.proxy.setAttribute("transports", transportstring);
+ } else {
+ internalmodel.proxy.setAttribute("transports", internalmodel.proxy.getAttribute("a_tp"));
+ }
+
+ var properties = internalmodel.proxy.getElementsByTagName("property");
+ if(properties.length == 0) {
+ properties = internalmodel.proxy.getElementsByTagName("syn:property");
+ }
+
+ for(var i=0; i<properties.length; i++) {
+ deleteproperty(properties[i].getAttribute("name"));
+ }
+
+ var paramnames = document.getElementsByName("param_name");
+ var paramvalues = document.getElementsByName("param_value");
+
+
+ for(var i=0; i<paramnames.length; i++) {
+ if(paramnames[i].value != "") {
+ internalmodel.proxy.appendChild(createesbelement("<syn:property name='" + paramnames[i].value
+ + "' value='" + paramvalues[i].value + "' xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+ }
+ }
+};
proxydatacollect["step3"] = function collectqosdata(objdiv) {
- alert("step3 data collect")
- // todo: collect qos data
-}
+
+ if(internalmodel.proxy.getElementsByTagName("enableSec").length == 0) {
+ if(internalmodel.proxy.getElementsByTagName("syn:enableSec").length != 0) {
+ internalmodel.proxy.removeChild(internalmodel.proxy.getElementsByTagName("syn:enableSec")[0]);
+ }
+ } else {
+ internalmodel.proxy.removeChild(internalmodel.proxy.getElementsByTagName("enableSec")[0]);
+ }
+
+ if(document.getElementById("enableSec").checked) {
+ internalmodel.proxy.appendChild(
+ createesbelement("<syn:enableSec xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+ }
+
+ if(internalmodel.proxy.getElementsByTagName("enableRM").length == 0) {
+ if(internalmodel.proxy.getElementsByTagName("syn:enableRM").length != 0) {
+ internalmodel.proxy.removeChild(internalmodel.proxy.getElementsByTagName("syn:enableRM")[0]);
+ }
+ } else {
+ internalmodel.proxy.removeChild(internalmodel.proxy.getElementsByTagName("enableRM")[0]);
+ }
+
+ if(document.getElementById("enableRM").checked) {
+ internalmodel.proxy.appendChild(
+ createesbelement("<syn:enableRM xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+ }
+
+ var policy = document.getElementById("policykey");
+
+ if(policy != null && policy.value != "") {
+ internalmodel.proxy.appendChild(createesbelement("<syn:policy key='"
+ + policy.value + "' xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+ }
+};
proxydatacollect["step4"] = function collectmiscdata(objdiv) {
- alert("step4 data collect")
- // todo: collect other data
-}
+
+ if(document.getElementById("startOnLoad").checked) {
+ internalmodel.proxy.setAttribute("startOnLoad", "true");
+ } else {
+ internalmodel.proxy.setAttribute("startOnLoad", "false");
+ }
+};
function geteditingposition() {
@@ -378,6 +483,24 @@
}
}
+function getproxyelements(localname) {
+ var proxychildren;
+ if(typeof(internalmodel.proxy.childNodes) != undefined) {
+ proxychildren = internalmodel.proxy.childNodes;
+ } else {
+ proxychildren = internalmodel.proxy.children;
+ }
+
+ var nodeset = new Array();
+ for(var i=0; i<proxychildren.length; i++) {
+ if(proxychildren[i].localName == localname) {
+ nodeset[nodeset.length] = proxychildren[i];
+ }
+ }
+
+ return nodeset;
+}
+
///////////////////////////////////////////////////////////////////////////////////
function getavailabeltransports() {
@@ -475,4 +598,126 @@
} else {
viewproxyinconsole();
}
+}
+
+/* ////////////////////////////// UI Helpers used in the xslts ////////////////////// */
+function targetsequence() {
+ document.getElementById("target_endpoint").checked = false;
+ document.getElementById("target_sequence").checked = true;
+
+ document.getElementById("target_ep").options[0].selected = true;
+}
+
+function targetendpoint() {
+ document.getElementById("target_sequence").checked = false;
+ document.getElementById("target_endpoint").checked = true;
+
+ document.getElementById("target_insequence").options[0].selected = true;
+ document.getElementById("target_outsequence").options[0].selected = true;
+}
+
+function addserviceparameter() {
+ proxydatacollect["step2"]();
+ internalmodel.proxy.appendChild(
+ createesbelement("<syn:property name='' value='' xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+ editproxysteps(document.getElementById("proxystepdiv" + 2), 2);
+}
+
+function deleteproxyparameter(name) {
+
+ proxydatacollect["step2"]();
+
+ deleteproperty(name);
+
+ editproxysteps(document.getElementById("proxystepdiv" + 2), 2);
+}
+
+function deleteproperty(name) {
+ var properties = internalmodel.proxy.getElementsByTagName("property");
+ // this is a hack to the wrong behaviour of the IE in getElementsByTagName method
+ if (properties.length == 0) {
+ properties = internalmodel.proxy.getElementsByTagName("syn:property");
+ }
+
+ for(var i=0; i<properties.length; i++) {
+ if(properties[i].getAttribute("name") == name) {
+ internalmodel.proxy.removeChild(properties[i]);
+ }
+ }
+}
+
+function addpolicyview() {
+ var objdiv = document.getElementById("proxypolicydiv");
+
+ // todo: replace with the propper control
+ objdiv.innerHTML = "<label>Policy Key </label><input type='text' id='policykey'/><br/><br/>"
+ + "<input type='button' onclick='addpolicy()' value='Add Policy'/>";
+}
+
+function addpolicy() {
+
+ proxydatacollect["step3"]();
+
+ editproxysteps(document.getElementById("proxystepdiv" + 3), 3);
+}
+
+function removepolicy(key) {
+
+ var policies = internalmodel.proxy.getElementsByTagName("policy");
+ if(policies.length == 0) {
+ policies = internalmodel.proxy.getElementsByTagName("syn:policy");
+ }
+
+ for(var i=0; i<policies.length; i++) {
+ internalmodel.proxy.removeChild(policies[i]);
+ }
+
+ editproxysteps(document.getElementById("proxystepdiv" + 3), 3);
+}
+
+function removewsdl() {
+
+ proxydatacollect["step4"]();
+
+ var wsdl = internalmodel.proxy.getElementsByTagName("wsdl");
+ if(wsdl.length == 0) {
+ wsdl = internalmodel.proxy.getElementsByTagName("syn:wsdl");
+ }
+
+ if(wsdl.length != 0) {
+ internalmodel.proxy.removeChild(wsdl[0]);
+ }
+
+ editproxysteps(document.getElementById("proxystepdiv" + 4), 4);
+}
+
+function newwsdl() {
+
+ var objdiv = document.getElementById("proxyWsdl");
+
+ // todo: replace with the propper control
+ objdiv.innerHTML = "<label>WSDL Key </label><input type='text' id='wsdlkey'/><br/><br/>"
+ + "<input type='button' onclick='setwsdl()' value='Set WSDL'/>";
+}
+
+function setwsdl() {
+
+ proxydatacollect["step4"]();
+
+ var wsdl = internalmodel.proxy.getElementsByTagName("wsdl");
+ if(wsdl.length == 0) {
+ wsdl = internalmodel.proxy.getElementsByTagName("syn:wsdl");
+ }
+
+ if(wsdl.length != 0) {
+ internalmodel.proxy.removeChild(wsdl[0]);
+ }
+
+ wsdl = document.getElementById("wsdlkey");
+ if(wsdl != null && wsdl.value != "") {
+ internalmodel.proxy.appendChild(createesbelement("<syn:wsdl key='"
+ + wsdl.value + "' xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+ }
+
+ editproxysteps(document.getElementById("proxystepdiv" + 4), 4);
}
\ No newline at end of file
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/js/sequences.js
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/js/sequences.js (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/js/sequences.js Mon Feb 5 04:49:06 2007
@@ -199,7 +199,7 @@
objdiv.innerHTML += "<div class='mediator-add' id='mediator-add0'><label class='styled-link' "
+ "onmousedown='javascript:addmediator(); return false;' "
- + "onmouseup='javascript:showaddmediator(0);return false;' onmouseover='styledlinkover(0)' "
+ + "onmouseup='javascript:showaddmediator(event, 0);return false;' onmouseover='styledlinkover(0)' "
+ "onmouseout='styledlink(0)'> Add Mediator </label></div>";
objdiv.appendChild(document.createElement("br"));
@@ -218,7 +218,7 @@
objdiv.innerHTML += "<div class='mediator-add' id='mediator-add" + (i + 1) + "'><label "
+ "class='styled-link' onmousedown='javascript:addmediator(); return false;' "
- + "onmouseup='javascript:showaddmediator(" + (i + 1) + ");return false;' onmouseover='styledlinkover("
+ + "onmouseup='javascript:showaddmediator(event ," + (i + 1) + ");return false;' onmouseover='styledlinkover("
+ (i+1) + ")' onmouseout='styledlink(" + (i+1) + ")'> Add Mediator </label></div>";
objdiv.appendChild(document.createElement("br"));
}
@@ -313,7 +313,7 @@
setnodepositions(mediatorchilds[i], position + "." + i);
}
}
-
+
}
/**
@@ -368,7 +368,7 @@
}
// alert(new XMLSerializer().serializeToString(actionpaneldiv))
-
+
var newlink = actionpaneldiv.getElementsByTagName("a")[0];//.cloneNode(2);
newlink.onclick = vieweditedmediator;
newlink.innerHTML = "Update";
@@ -427,7 +427,7 @@
// if there are any editing mediators in the view
if(position != -1) {
- var mediatorname
+ var mediatorname;
if(("" + position).indexOf(".") == -1) {
mediatorname = internalmodel.mediators[position].nodeName;
} else {
@@ -511,7 +511,7 @@
/*
* Displays an interface to provide necessary parameters to add a new mediator
*/
-function showaddmediator(position) {
+function showaddmediator(event, position) {
var mediatormenu = document.createElement("table");
var menubody = document.createElement("tbody");
@@ -529,15 +529,20 @@
menubody.appendChild(menuitemtr);
}
mediatormenu.appendChild(menubody);
- var mainmenu = document.createElement("div");
- mainmenu.setAttribute("id", "mediatormenu");
+// var mainmenu = document.createElement("div");
+ var mainmenu = document.getElementById("divOverMenu");
+// mainmenu.setAttribute("id", "mediatormenu");
mainmenu.className = "mediator-menu";
mainmenu.appendChild(mediatormenu);
- document.getElementById("mediator-add" + position).appendChild(mainmenu);
+ mainmenu.style.zIndex = 3;
+
+ mainmenu.style.left = event.clientX;
+ mainmenu.style.top = event.clientY;
var divs = document.getElementsByTagName("div");
for(var i=0; i<divs.length; i++) {
divs[i].onmousedown = addmediator;
}
+ mainmenu.style.display = "inline";
}
/*
@@ -549,7 +554,6 @@
hidemainmenu();
} else {
- //todo : in the nested editing case
if(geteditingmediatorposition() != -1) {
if(window.confirm("There might have none updated data in the editing mediator."
+ "\nDo you want to keep the changes if tehre are any?")) {
@@ -610,7 +614,7 @@
}
function getnestedelement(mediatornode, position, mediatorstring) {
-
+
var newnode;
var newpos;
if(position.indexOf(".")!= -1) {
@@ -699,7 +703,7 @@
viewsequencechanges();
} else if (("" + position).substring(0, ("" + position).indexOf(".")) >= 0
&& ("" + position).substring(0, ("" + position).indexOf(".")) < internalmodel.mediators.length) {
-
+
nestedmoveup(("" + position).substring(("" + position).indexOf(".") + 1, ("" + position).length),
internalmodel.mediators[("" + position).substring(0, ("" + position).indexOf("."))]);
@@ -729,7 +733,8 @@
mediatornode.replaceChild(movedchild, mediatornode.childNodes[position]);
mediatornode.replaceChild(movingchild, mediatornode.childNodes[position-1]);
} else {
- nestedmoveup(position.substring(position.indexOf(".") + 1, position.length), mediatornode.childNodes[position.substring(0, position.indexOf("."))])
+ nestedmoveup(position.substring(position.indexOf(".") + 1, position.length),
+ mediatornode.childNodes[position.substring(0, position.indexOf("."))]);
}
} else {
if(position.indexOf(".") == -1) {
@@ -737,7 +742,8 @@
mediatornode.replaceChild(mediatornode.children[position - 1], mediatornode.children[position]);
mediatornode.replaceChild(movingchild, mediatornode.children[position-1]);
} else {
- nestedmoveup(position.substring(position.indexOf(".") + 1, position.length), mediatornode.children[position.substring(0, position.indexOf("."))])
+ nestedmoveup(position.substring(position.indexOf(".") + 1, position.length),
+ mediatornode.children[position.substring(0, position.indexOf("."))]);
}
}
}
@@ -807,7 +813,8 @@
mediatornode.replaceChild(movedchild, mediatornode.childNodes[position]);
mediatornode.replaceChild(movingchild, mediatornode.childNodes[position+1]);
} else {
- nestedmovedown(position.substring(position.indexOf(".") + 1, position.length), mediatornode.childNodes[position.substring(0, position.indexOf("."))])
+ nestedmovedown(position.substring(position.indexOf(".") + 1, position.length),
+ mediatornode.childNodes[position.substring(0, position.indexOf("."))]);
}
} else {
if(position.indexOf(".") == -1) {
@@ -815,7 +822,8 @@
mediatornode.replaceChild(mediatornode.children[position + 1], mediatornode.children[position]);
mediatornode.replaceChild(movingchild, mediatornode.children[position + 1]);
} else {
- nestedmoveup(position.substring(position.indexOf(".") + 1, position.length), mediatornode.children[position.substring(0, position.indexOf("."))])
+ nestedmoveup(position.substring(position.indexOf(".") + 1, position.length),
+ mediatornode.children[position.substring(0, position.indexOf("."))]);
}
}
}
@@ -839,8 +847,8 @@
'<ns1:rulesElement>' + mainstring + '</ns1:rulesElement>' +
'</ns1:saveMainSequence>';
- var callURL = serverURL + "/" + SEQUENCE_MANAGEMENT + "/" + "saveMainSequence";
- send("saveMainSequence", body_xml, "", callURL, "", false, saveEditedSequenceCallback);
+ var callURL = serverURL + "/" + SEQUENCE_ADMIN + "/" + "saveMainSequence";
+ send("saveMainSequence", body_xml, "", callURL, "", false, sequencesavecallback);
} else {
@@ -927,7 +935,8 @@
// todo: save to registry functionality
function hidemainmenu(i) {
- document.getElementById("mediatormenu").innerHTML = "";
+ document.getElementById("divOverMenu").innerHTML = "";
+// document.getElementById("mediatormenu").innerHTML = "";
}
function changecolor() {
@@ -982,8 +991,9 @@
var mediatorstring = '<' + mediator.nodeName;
if(mediator.attributes) {
for(var i=0; i<mediator.attributes.length; i++) {
- if(mediator.attributes[i].name != "xmlns:syn")
- mediatorstring += ' ' + mediator.attributes[i].name + '="' + mediator.attributes[i].value + '"';
+ if(mediator.attributes[i].name != "xmlns:syn") {
+ mediatorstring += ' ' + mediator.attributes[i].name + '="' + mediator.attributes[i].value + '"';
+ }
}
}
if(mediator.children) {
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/mediators/commons.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/mediators/commons.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/mediators/commons.xsl Mon Feb 5 04:49:06 2007
@@ -19,7 +19,7 @@
<xsl:template name="element-header">
- <h2 class="mediator-header">
+ <h2 class="content-header">
<xsl:call-template name="capitalize-first"/>
<xsl:text> Mediator</xsl:text>
</h2>
@@ -98,7 +98,7 @@
<xsl:param name="head_pos"/>
<br/><div class='nested-mediator-add'><xsl:attribute name="id">mediator-add<xsl:value-of select="$head_pos"/></xsl:attribute>
<label class='styled-link' onmousedown='javascript:addmediator(); return false;'>
- <xsl:attribute name="onmouseup">javascript:showaddmediator("<xsl:value-of select="$head_pos"/>");return false;</xsl:attribute>
+ <xsl:attribute name="onmouseup">javascript:showaddmediator(event, "<xsl:value-of select="$head_pos"/>");return false;</xsl:attribute>
<xsl:attribute name="onmouseover">javascript:styledlinkover("<xsl:value-of select="$head_pos"/>");return false;</xsl:attribute>
<xsl:attribute name="onmouseout">javascript:styledlink("<xsl:value-of select="$head_pos"/>");return false;</xsl:attribute>
Add Mediator </label>
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/mediators/mediator_edit.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/mediators/mediator_edit.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/mediators/mediator_edit.xsl Mon Feb 5 04:49:06 2007
@@ -99,7 +99,9 @@
</xsl:template>
<xsl:template match="@*">
- <xsl:call-template name="attribute-edit"/>
+ <xsl:if test="local-name(.)!='esb_med_pos'">
+ <xsl:call-template name="attribute-edit"/>
+ </xsl:if>
</xsl:template>
<xsl:template name="attribute-edit">
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxy_services.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxy_services.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxy_services.xsl Mon Feb 5 04:49:06 2007
@@ -56,7 +56,7 @@
<font color='green'>Running</font>
</xsl:if>
<xsl:if test="running='false'">
- <font color="red">Stoped</font>
+ <font color="red">Stopped</font>
</xsl:if>
</td>
<td>
@@ -136,7 +136,7 @@
</xsl:otherwise>
</xsl:choose>
</div>
- <input type='button' id='buttonpanel5' class='panelbutton' onmouseover='javascript: showbutton(5); return false;' onmouseout='javascript: normalbutton(5); return false;' value="Add" onclick="javascript:addProxyService();return false;"/>
+ <input type='button' id='buttonpanel5' class='panelbutton' onmouseover='javascript: showbutton(5); return false;' onmouseout='javascript: normalbutton(5); return false;' value="Add" onclick="javascript:addproxyservice();return false;"/>
</fieldset>
</xsl:template>
</xsl:stylesheet>
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_edit.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_edit.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_edit.xsl Mon Feb 5 04:49:06 2007
@@ -18,7 +18,40 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:syn="http://ws.apache.org/ns/synapse">
<xsl:template match="syn:proxy">
- <xsl:text>Todo: Proxy Misc Edit</xsl:text>
+
+ <h2 class="content-header">
+ <xsl:text>Miscellaneous configuration</xsl:text>
+ </h2>
+ <label class="content-description">
+ <img src="extensions/core/images/computer.gif"/>
+ Miscellaneous configuration of the proxy service lets you configure start service on load
+ or specifying the wsdl.
+ </label>
+ <br/>
+ <br/>
+
+ <xsl:if test="child::syn:wsdl">
+ <p>WSDL of the Service</p><br/>
+ <label style="margin-left: 50px;"><xsl:value-of select="concat(child::syn:wsdl/@key, ' ')"/></label>
+ <a href="#" onclick="javascript: removewsdl(); return false;">Remove WSDL</a><br/>
+ <div id="proxyWsdl"><a href="#" onclick="javascript: newwsdl(); return false;">Specify a new WSDL</a></div>
+ </xsl:if>
+ <xsl:if test="not(child::syn:wsdl)">
+ <div id="proxyWsdl"><a href="#" onclick="javascript: newwsdl(); return false;">Specify a WSDL</a></div><br/>
+ </xsl:if>
+
+ <br/><br/><p>Starting the Service</p><br/>
+ <label style="margin-left: 50px;">Start On Load</label>
+ <label style="margin-left: 100px;">
+ <xsl:choose>
+ <xsl:when test="not(@startOnLoad) or @startOnLoad != 'true'">
+ <input type="checkbox" id="startOnLoad"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <input type="checkbox" id="startOnLoad" checked="true"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </label><br/><br/>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_view.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_view.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_misc_view.xsl Mon Feb 5 04:49:06 2007
@@ -18,7 +18,7 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:syn="http://ws.apache.org/ns/synapse">
<xsl:template match="syn:proxy">
- <h2 class="mediator-header">
+ <h2 class="content-header">
<xsl:text>Miscellaneous configuration</xsl:text>
</h2>
<label class="content-description">
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_edit.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_edit.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_edit.xsl Mon Feb 5 04:49:06 2007
@@ -18,7 +18,84 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:syn="http://ws.apache.org/ns/synapse">
<xsl:template match="syn:proxy">
- <xsl:text>Todo: Proxy QOS Edit</xsl:text>
+
+ <h2 class="content-header">
+ <xsl:text>QOS configuration</xsl:text>
+ </h2>
+ <label class="content-description">
+ <img src="extensions/core/images/computer.gif"/>
+ QOS configuration of the proxy service lets you configure enabling and desabling of sequrity
+ and reliable messaging.
+ </label>
+ <br/>
+ <br/>
+
+ <p>QOS Features</p><br/>
+ <table><thead><tr><th>Feature</th><th>Enabled</th></tr></thead>
+ <tbody>
+ <tr>
+ <td>WS-Security</td>
+ <td>
+ <xsl:call-template name="qos_checkbox">
+ <xsl:with-param name="type">enableSec</xsl:with-param>
+ <xsl:with-param name="status" select="child::syn:enableSec"/>
+ </xsl:call-template>
+ </td>
+ </tr>
+ <tr>
+ <td>WS-Reliable Messaging</td>
+ <td>
+ <xsl:call-template name="qos_checkbox">
+ <xsl:with-param name="type">enableRM</xsl:with-param>
+ <xsl:with-param name="status" select="child::syn:enableRM"/>
+ </xsl:call-template>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>Service Policies</p><br/>
+ <xsl:if test="child::syn:policy">
+ <table><thead><tr><th>Policy Key</th><th>Actions</th></tr></thead>
+ <tbody>
+ <xsl:for-each select="syn:policy">
+ <tr>
+ <td><label style="margin-left: 50px;"><xsl:value-of select="@key"/></label></td>
+ <td><a href='#' id='delete_link'>
+ <xsl:attribute name="onclick">
+ javascript:removepolicy('<xsl:value-of select="@key"/>');return false;
+ </xsl:attribute>    </a>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+ </table>
+ </xsl:if>
+ <div id="proxypolicydiv">
+ <a href="#" onclick="javascript: addpolicyview(); return false;">Add New Policy</a><br/>
+ </div>
+ </xsl:template>
+
+ <xsl:template name="qos_checkbox">
+ <xsl:param name="type"/>
+ <xsl:param name="status"/>
+
+ <xsl:choose>
+ <xsl:when test="$status">
+ <input type="checkbox" checked="true">
+ <xsl:attribute name="id">
+ <xsl:value-of select="$type"/>
+ </xsl:attribute>
+ </input>
+ </xsl:when>
+ <xsl:otherwise>
+ <input type="checkbox">
+ <xsl:attribute name="id">
+ <xsl:value-of select="$type"/>
+ </xsl:attribute>
+ </input>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_view.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_view.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_qos_view.xsl Mon Feb 5 04:49:06 2007
@@ -18,7 +18,7 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:syn="http://ws.apache.org/ns/synapse">
<xsl:template match="syn:proxy">
- <h2 class="mediator-header">
+ <h2 class="content-header">
<xsl:text>QOS configuration</xsl:text>
</h2>
<label class="content-description">
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_target_edit.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_target_edit.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_target_edit.xsl Mon Feb 5 04:49:06 2007
@@ -18,7 +18,120 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:syn="http://ws.apache.org/ns/synapse">
<xsl:template match="syn:proxy">
- <xsl:text>Todo: Proxy Target Edit</xsl:text>
+
+ <h2 class="content-header">
+ <xsl:text>Target configuration</xsl:text>
+ </h2>
+ <label class="content-description"><img src="extensions/core/images/computer.gif"/>
+ Target configuration of the proxy service lets you configure the ultimate message delivery.
+ This can be either incoming sequence and outgoing sequence or a particular endpoint.
+ </label><br/><br/>
+
+ <label>
+ <xsl:choose>
+ <xsl:when test="syn:target/@endpoint">
+ <input type="radio" id="target_sequence" name="proxy_target"
+ onchange="javascript: targetsequence(); return false;"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <input type="radio" id="target_sequence" name="proxy_target" checked="true"
+ onchange="javascript: targetsequence(); return false;"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ Target Sequence</label>
+ <br/><br/>
+
+ <label class="hard-indent">Incomming</label>
+ <select class="proxy-select" id="target_insequence" onchange="javascript: targetsequence(); return false;">
+ <option value="">Main Sequence</option>
+ <xsl:if test="@a_sq and @a_sq != ''">
+ <xsl:call-template name="options_from_string">
+ <xsl:with-param name="option_string" select="@a_sq"/>
+ <xsl:with-param name="selected_value" select="syn:target/@inSequence"/>
+ </xsl:call-template>
+ </xsl:if>
+ </select>
+ <br/>
+
+ <label class="hard-indent">Outgoing</label>
+ <select class="proxy-select" id="target_outsequence" onchange="javascript: targetsequence(); return false;">
+ <option value="">Main Sequence</option>
+ <xsl:if test="@a_sq and @a_sq != ''">
+ <xsl:call-template name="options_from_string">
+ <xsl:with-param name="option_string" select="@a_sq"/>
+ <xsl:with-param name="selected_value" select="syn:target/@outSequence"/>
+ </xsl:call-template>
+ </xsl:if>
+ </select>
+ <br/><br/>
+
+ <xsl:if test="@a_ep and @a_ep != ''">
+
+ <label>
+ <xsl:choose>
+ <xsl:when test="syn:target/@endpoint">
+ <input type="radio" id="target_endpoint" name="proxy_target" checked="true"
+ onchage="javascript: targetendpoint(); return false;"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <input type="radio" id="target_endpoint" name="proxy_target"
+ onchage="javascript: targetendpoint(); return false;"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ Target Endpoint</label>
+ <br/><br/>
+
+ <label class="hard-indent">Endpoint</label>
+ <select class="proxy-select" id="target_ep" onchange="javascript: targetendpoint(); return false;">
+ <option>Select Endpoint</option>
+ <xsl:call-template name="options_from_string">
+ <xsl:with-param name="option_string" select="@a_ep"/>
+ <xsl:with-param name="selected_value" select="syn:target/@endpoint"/>
+ </xsl:call-template>
+ </select>
+ <br/>
+
+ </xsl:if>
+
+ </xsl:template>
+
+ <xsl:template name="options_from_string">
+
+ <xsl:param name="option_string"/>
+ <xsl:param name="selected_value"/>
+
+ <xsl:choose>
+
+ <xsl:when test="substring-before($option_string, ' ') != ''">
+ <xsl:choose>
+ <xsl:when test="substring-before($option_string, ' ') = $selected_value">
+ <option selected="true"><xsl:value-of select="substring-before($option_string, ' ')"/></option>
+ </xsl:when>
+ <xsl:otherwise>
+ <option><xsl:value-of select="substring-before($option_string, ' ')"/></option>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:call-template name="options_from_string">
+ <xsl:with-param name="option_string" select="substring-after($option_string, ' ')"/>
+ <xsl:with-param name="selected_value" select="$selected_value"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:if test="$option_string != ''">
+ <xsl:choose>
+ <xsl:when test="$option_string = $selected_value">
+ <option selected="true"><xsl:value-of select="$option_string"/></option>
+ </xsl:when>
+ <xsl:otherwise>
+ <option><xsl:value-of select="$option_string"/></option>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:otherwise>
+
+ </xsl:choose>
+
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_target_view.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_target_view.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_target_view.xsl Mon Feb 5 04:49:06 2007
@@ -18,7 +18,7 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:syn="http://ws.apache.org/ns/synapse">
<xsl:template match="syn:proxy">
- <h2 class="mediator-header">
+ <h2 class="content-header">
<xsl:text>Target configuration</xsl:text>
</h2>
<label class="content-description"><img src="extensions/core/images/computer.gif"/>
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_transport_edit.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_transport_edit.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_transport_edit.xsl Mon Feb 5 04:49:06 2007
@@ -18,7 +18,128 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:syn="http://ws.apache.org/ns/synapse">
<xsl:template match="syn:proxy">
- <xsl:text>Todo: Proxy Transport Edit</xsl:text>
+
+ <h2 class="content-header">
+ <xsl:text>Transport configuration</xsl:text>
+ </h2>
+ <label class="content-description">
+ <img src="extensions/core/images/computer.gif"/>
+ Transport configuration of the proxy service lets you configure the transports on
+ which you want to expose this service.
+ </label>
+ <br/>
+ <br/>
+
+ <p>Exposed Transports</p><br/>
+ <table>
+ <thead>
+ <tr><th>Availabel Transports</th><th>Exposed</th></tr>
+ </thead>
+ <tbody>
+ <xsl:call-template name="transport_td">
+ <xsl:with-param name="a_tp_string" select="@a_tp"/>
+ <xsl:with-param name="tp_string" select="@transports"/>
+ </xsl:call-template>
+ </tbody>
+ </table>
+
+ <p>Service Parameters</p><br/>
+ <xsl:if test="syn:property">
+ <table>
+ <thead>
+ <tr><th>Parameter Name</th><th>Parameter Value</th><th>Actions</th></tr>
+ </thead>
+ <tbody>
+ <xsl:for-each select="syn:property">
+ <tr>
+ <td>
+ <input type="text" name="param_name">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@name"/>
+ </xsl:attribute>
+ </input>
+ </td>
+ <td>
+ <input type="text" name="param_value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value"/>
+ </xsl:attribute>
+ </input>
+ </td>
+ <td>
+ <a href="#" id="delete_link"><xsl:attribute name="onclick">
+ javascript: deleteproxyparameter('<xsl:value-of select="@name"/>'); return false;
+ </xsl:attribute>    </a>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+ </table>
+ </xsl:if>
+ <a href="#" onclick="javascript:addserviceparameter(); return false;">Add Service Parameter</a><br/>
+
+ </xsl:template>
+
+ <xsl:template name="transport_td">
+
+ <xsl:param name="a_tp_string"/>
+ <xsl:param name="tp_string"/>
+
+ <xsl:choose>
+ <xsl:when test="substring-before($a_tp_string, ' ') != ''">
+ <tr>
+ <td><xsl:value-of select="translate(substring-before($a_tp_string, ' '), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/></td>
+ <td>
+ <xsl:call-template name="tp_checkbox">
+ <xsl:with-param name="a_tp_string" select="$a_tp_string"/>
+ <xsl:with-param name="tp_string" select="$tp_string"/>
+ </xsl:call-template>
+ </td>
+ </tr>
+ <xsl:call-template name="transport_td">
+ <xsl:with-param name="a_tp_string" select="substring-after($a_tp_string, ' ')"/>
+ <xsl:with-param name="tp_string" select="$tp_string"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="$a_tp_string != ''">
+ <tr>
+ <td><xsl:value-of select="translate(substring-before($a_tp_string, ' '), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/></td>
+ <td>
+ <xsl:call-template name="tp_checkbox">
+ <xsl:with-param name="a_tp_string" select="$a_tp_string"/>
+ <xsl:with-param name="tp_string" select="$tp_string"/>
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:template>
+
+ <xsl:template name="tp_checkbox">
+
+ <xsl:param name="a_tp_string"/>
+ <xsl:param name="tp_string"/>
+
+ <xsl:choose>
+ <xsl:when test="contains(concat($tp_string, ' '), concat(substring-before($a_tp_string, ' '), ' '))">
+ <input type="checkbox" name="proxy_transport" checked="true">
+ <xsl:attribute name="value">
+ <xsl:value-of select="substring-before($a_tp_string, ' ')"/>
+ </xsl:attribute>
+ </input>
+ </xsl:when>
+ <xsl:otherwise>
+ <input type="checkbox" name="proxy_transport">
+ <xsl:attribute name="value">
+ <xsl:value-of select="substring-before($a_tp_string, ' ')"/>
+ </xsl:attribute>
+ </input>
+ </xsl:otherwise>
+ </xsl:choose>
+
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
Modified: esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_transport_view.xsl
==============================================================================
--- esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_transport_view.xsl (original)
+++ esb/java/trunk/modules/distribution/src/main/www/extensions/core/xslt/proxyservices/proxy_transport_view.xsl Mon Feb 5 04:49:06 2007
@@ -19,7 +19,7 @@
xmlns:syn="http://ws.apache.org/ns/synapse">
<xsl:template match="syn:proxy">
- <h2 class="mediator-header">
+ <h2 class="content-header">
<xsl:text>Transport configuration</xsl:text>
</h2>
<label class="content-description">
More information about the Esb-java-dev
mailing list