Author: indika
Date: Sun Jan 13 08:16:05 2008
New Revision: 12168
Log:
fix for ESB-JAVA 420
Modified:
branches/esb/java/1.6/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/makefault_mediator.js
Modified:
branches/esb/java/1.6/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/makefault_mediator.js
==============================================================================
---
branches/esb/java/1.6/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/makefault_mediator.js
(original)
+++
branches/esb/java/1.6/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/makefault_mediator.js
Sun Jan 13 08:16:05 2008
@@ -19,6 +19,14 @@
*/
var mediatorPosition;
+var currentsoapversion = "soap11"
+
+initedit["makefault"] = function initmakefaultedit(mediator) {
+ var version = mediator.getAttribute("version");
+ if (version != null && version != undefined) {
+ currentsoapversion = version;
+ }
+};
collectdata["makefault"] = function collectlogdata(mediator) {
@@ -28,7 +36,7 @@
} else {
selectedVersion = "soap12";
}
-
+
var reasonContent = document.getElementById("reasonContent").value;
var prefix = "";
@@ -58,23 +66,23 @@
var codeelem = mediator.getElementsByTagName(prefix + "code")[0];
mediator.removeChild(codeelem);
- if(selectedVersion == "soap11"){
+ if (selectedVersion == "soap11") {
mediator.appendChild(createesbelement("<syn:code value='sf11:" +
codeValue
- + "'
xmlns:sf11='http://schemas.xmlsoap.org/soap/envelope/' "
- + "xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
- mediator.setAttribute("version","soap11");
+ + "' xmlns:sf11='http://schemas.xmlsoap.org/soap/envelope/' "
+ + "xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+ mediator.setAttribute("version", "soap11");
}
- if(selectedVersion == "soap12"){
+ if (selectedVersion == "soap12") {
mediator.appendChild(createesbelement("<syn:code value='sf12:" +
codeValue
- + "' xmlns:sf12='http://www.w3.org/2003/05/soap-envelope' "
- + "xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
- mediator.setAttribute("version","soap12");
+ + "' xmlns:sf12='http://www.w3.org/2003/05/soap-envelope' "
+ + "xmlns:syn='http://ws.apache.org/ns/synapse'/>"));
+ mediator.setAttribute("version", "soap12");
}
var reasonTypeValue = document.getElementById("reasonTypeValue");
var reasonelem = mediator.getElementsByTagName(prefix + "reason")[0];
-
+
if (reasonTypeValue.checked) {
if (reasonelem.getAttribute("expression") != null) {
reasonelem.removeAttribute("expression");
@@ -88,31 +96,31 @@
}
if (selectedVersion == "soap12") {
-
+
if (document.getElementById("node").value != "") {
mediator.appendChild(createesbelement(
- "<syn:node
xmlns:syn='http://ws.apache.org/ns/synapse'>"
- + trim(document.getElementById("node").value)
+ "</syn:node>"));
- }
+ "<syn:node xmlns:syn='http://ws.apache.org/ns/synapse'>"
+ + trim(document.getElementById("node").value) +
"</syn:node>"));
+ }
}
if (document.getElementById("role").value != "") {
mediator.appendChild(createesbelement(
- "<syn:role xmlns:syn='http://ws.apache.org/ns/synapse'>"
- + trim(document.getElementById("role").value) +
"</syn:role>"));
+ "<syn:role xmlns:syn='http://ws.apache.org/ns/synapse'>"
+ + trim(document.getElementById("role").value) +
"</syn:role>"));
}
if (document.getElementById("detail") != null &&
document.getElementById("detail").value != "") {
mediator.appendChild(createesbelement(
- "<syn:detail xmlns:syn='http://ws.apache.org/ns/synapse'>"
- + trim(document.getElementById("detail").value) +
"</syn:detail>"));
+ "<syn:detail xmlns:syn='http://ws.apache.org/ns/synapse'>"
+ + trim(document.getElementById("detail").value) +
"</syn:detail>"));
}
} else {
esbwarning("Code and Reason must be specified", TYPE_INFO);
return false;
}
-
+ currentsoapversion = "soap11"
return true;
};
@@ -123,37 +131,80 @@
function changeVersion(version, position) {
- if (version == "soap11") {
- if (document.getElementById("soap12").checked) {
- document.getElementById("soap11").checked = true;
- document.getElementById("soap12").checked = false;
-
- var epdiv = document.getElementById("makefault_edit_div");
- var mediator = getnestedmediator(internalmodel.sequence, position);
+ if (currentsoapversion != version) {
+ currentsoapversion = version;
- if (epdiv != null && mediator != null) {
- mediator.setAttribute("version","soap11");
- processXML(mediator, "mediators/makefault_edit.xsl", epdiv);
- }
+ var epdiv = document.getElementById("makefault_edit_div");
+ var mediator = getnestedmediator(internalmodel.sequence, position);
+
+ clearAllAttributesOfMakeFaultMediator(mediator);
+
+ if (epdiv != null && mediator != null) {
+ mediator.setAttribute("version", version);
+ processXML(mediator, "mediators/makefault_edit.xsl", epdiv);
}
+
} else {
- if (document.getElementById("soap11").checked) {
- document.getElementById("soap11").checked = false;
- document.getElementById("soap12").checked = true;
-
- var epdiv = document.getElementById("makefault_edit_div");
- var mediator = getnestedmediator(internalmodel.sequence, position);
-
- if (epdiv != null && mediator != null) {
- mediator.setAttribute("version", "soap12")
- processXML(mediator, "mediators/makefault_edit.xsl", epdiv);
+ if (version == "soap11") {
+ if (document.getElementById("soap12").checked) {
+ document.getElementById("soap11").checked = true;
+ document.getElementById("soap12").checked = false;
+
+ var epdiv = document.getElementById("makefault_edit_div");
+ var mediator = getnestedmediator(internalmodel.sequence,
position);
+
+
+ if (epdiv != null && mediator != null) {
+ mediator.setAttribute("version", "soap11");
+ processXML(mediator, "mediators/makefault_edit.xsl",
epdiv);
+ }
+ }
+ } else {
+ if (document.getElementById("soap11").checked) {
+ document.getElementById("soap11").checked = false;
+ document.getElementById("soap12").checked = true;
+
+ var epdiv = document.getElementById("makefault_edit_div");
+ var mediator = getnestedmediator(internalmodel.sequence,
position);
+
+ if (epdiv != null && mediator != null) {
+ mediator.setAttribute("version", "soap12")
+ processXML(mediator, "mediators/makefault_edit.xsl",
epdiv);
+ }
}
- }
+ }
}
-
+ function clearAllAttributesOfMakeFaultMediator(mediator) {
+ var limit = mediator.childNodes.length;
+ for (var i = 0; i < limit; i++) {
+ var child = mediator.childNodes[i] ;
+ if (child != null && child != undefined) {
+ var name = child.nodeName;
+ if (name == "syn:code" || name == "code") {
+ child.removeAttribute("expression");
+ child.removeAttribute("value");
+ } else if (name == "syn:reason" || name == "reason") {
+ child.removeAttribute("expression");
+ child.removeAttribute("value");
+ } else if (name == "syn:node" || name == "node") {
+ while (child.childNodes != null && child.childNodes.length
> 0) {
+
child.removeChild(child.childNodes[child.childNodes.length - 1]);
+ }
+ } else if (name == "syn:role" || name == "role") {
+ while (child.childNodes != null && child.childNodes.length
> 0) {
+
child.removeChild(child.childNodes[child.childNodes.length - 1]);
+ }
+ } else if (name == "syn:detail" || name == "detail") {
+ while (child.childNodes != null && child.childNodes.length
> 0) {
+
child.removeChild(child.childNodes[child.childNodes.length - 1]);
+ }
+ }
+ }
+ }
+ }
}
_______________________________________________
Esb-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev