Author: indika
Date: Mon Dec 10 01:03:23 2007
New Revision: 10790
Log:
add alphanumeric name validation, add handling XML special chars ex:
",',>,<,&
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/commons.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/config.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/endpoints.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/entries.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/esbregistry.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/filter_mediator.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/header_mediator.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/makefault_mediator.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/property.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/switch_mediator.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/throttle_mediator.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/validate_mediator.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/xquery_mediator.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/proxyservices.js
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/sequences.js
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/commons.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/commons.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/commons.js
Mon Dec 10 01:03:23 2007
@@ -22,8 +22,21 @@
}
function namevalidate(namestring) {
-
- if (namestring.indexOf("'") == -1 && namestring.indexOf(" ") == -1 &&
namestring.indexOf("&") == -1 && namestring.indexOf('"') == -1) {
+ if (namestring != null && namestring != "") {
+ for (var j = 0; j < namestring.length; j++)
+ {
+ var ch = namestring.charAt(j);
+ var code = ch.charCodeAt(0);
+ if ((code > 47 && code < 59) // number
+ || (code > 64 && code < 91)// capital
+ || (code > 96 && code < 123)// simple
+ || code == 95) // underscore
+ {
+ }
+ else {
+ return false;
+ }
+ }
return true;
} else {
return false;
@@ -224,6 +237,44 @@
return ltrim(rtrim(stringValue));
}
+function convertToValidXMlString(originalStr) {
+ //Replace all the correct code with invalid code
+ var convertedStr = relpaceString(originalStr, "&", "&");
+ convertedStr = relpaceString(convertedStr, "<", "<");
+ convertedStr = relpaceString(convertedStr, ">", ">");
+ convertedStr = relpaceString(convertedStr, """, '"');
+ convertedStr = relpaceString(convertedStr, "'", "'");
+
+ //Replace all the invalid code with correct code
+ convertedStr = relpaceString(convertedStr, "&", "&");
+ convertedStr = relpaceString(convertedStr, "<", "<");
+ convertedStr = relpaceString(convertedStr, ">", ">");
+ convertedStr = relpaceString(convertedStr, '"', """);
+ convertedStr = relpaceString(convertedStr, "'", "'");
+ return convertedStr;
+
+}
+
+function relpaceString(originalStr, originalword, relaceword) {
+ if (originalStr == undefined || originalStr == null) {
+ return;
+ }
+ var splitedarryone = originalStr.split(originalword) ;
+ var newStr = "";
+ var limit = splitedarryone.length;
+ for (var i = 0; i < limit; i++) {
+ if (i == limit - 1) {
+ newStr += splitedarryone[i];
+ } else {
+ newStr += splitedarryone[i] + relaceword;
+ }
+ }
+ if (newStr == "" || newStr == undefined || newStr == null) {
+ newStr = originalStr;
+ }
+ return newStr;
+}
+
function esbwarning(message, type) {
var handleOK = function() {
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/config.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/config.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/config.js
Mon Dec 10 01:03:23 2007
@@ -38,25 +38,6 @@
document.getElementById("rawConfig").style.cursor = "text";
}
-function relpaceString(originalStr, originalword, relaceword) {
- if (originalStr == undefined || originalStr == null) {
- return;
- }
- var splitedarryone = originalStr.split(originalword) ;
- var newStr = "";
- var limit = splitedarryone.length;
- for (var i = 0; i < limit; i++) {
- if (i == limit - 1) {
- newStr += splitedarryone[i];
- } else {
- newStr += splitedarryone[i] + relaceword;
- }
- }
- if (newStr == "" || newStr == undefined || newStr == null) {
- newStr = originalStr;
- }
- return newStr;
-}
function saveConfigurationToDisk() {
var theString = document.getElementById("rawConfig").value;
var isXml = isValidXml(theString);
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/endpoints.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/endpoints.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/endpoints.js
Mon Dec 10 01:03:23 2007
@@ -604,7 +604,10 @@
} else if ("FailOver" == type) {
var nameId = "endpoint_name" + endpointindexs[0].index;
var name = document.getElementById(nameId.toString());
- if (name != null && name.value != "" && namevalidate(name.value)) {
+ if (name != null && name.value != "") {
+ if (!namevalidate(name.value)) {
+ esbwarning("The value for the name contains invalid
characters. Only, alphanumeric or underscore characters are allowed. ",
TYPE_INFO);
+ }
var childepstr = dataToString(type);
if (childepstr != undefined && childepstr != null) {
endpointXML = '<syn:endpoint name="' + name.value + '"
xmlns:syn="' + SYNAPSE_NS + '">' + childepstr +
@@ -615,7 +618,10 @@
} else if ("LoadBalance" == type) {
var nameId = "endpoint_name" + endpointindexs[0].index;
var name = document.getElementById(nameId.toString());
- if (name != null && name.value != "" && namevalidate(name.value)) {
+ if (name != null && name.value != "") {
+ if (!namevalidate(name.value)) {
+ esbwarning("The value for the name contains invalid
characters. Only, alphanumeric or underscore characters are allowed. ",
TYPE_INFO);
+ }
var childepstr = dataToString(type);
if (childepstr != undefined && childepstr != null) {
endpointXML = '<syn:endpoint name="' + name.value + '"
xmlns:syn="' + SYNAPSE_NS + '">' + childepstr + '</syn:endpoint>'
@@ -928,7 +934,7 @@
var uri = document.getElementById(("endpoint_address" + id).toString());
if (uri != null && uri.value != "") {
var body_xml = '<syn:endpoint xmlns:syn="' + SYNAPSE_NS + '" >' +
- '<syn:address uri="' + uri.value + '"';
+ '<syn:address uri="' +
convertToValidXMlString(trim(uri.value)) + '"';
var format = document.getElementById("endpoint_format" +
id.toString());
var optimize = document.getElementById("endpoint_optimize" +
id.toString());
var format_index = null;
@@ -1036,7 +1042,7 @@
}
body_xml += '</syn:address>' +
'</syn:endpoint>';
- return relpaceString(relpaceString(trim(body_xml), "&", "&"), "&",
"&");
+ return trim(body_xml);
} else {
if (save_state = true) {
@@ -1219,7 +1225,7 @@
}
body_xml += '</syn:wsdl>' +
'</syn:endpoint>';
- return relpaceString(relpaceString(trim(body_xml), "&", "&"), "&",
"&");
+ return trim(body_xml);
}
function addSaveEndPoint(type) {
state = 1;
@@ -1251,7 +1257,12 @@
} else if ("FailOver" == type) {
var nameId = "endpoint_name" + endpointindexs[0].index;
var name = document.getElementById(nameId.toString());
- if (name != null && name.value != "" && namevalidate(name.value)) {
+ if (name != null && name.value != "") {
+ if (!namevalidate(name.value)) {
+ esbwarning("The value for the name contains invalid
characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return;
+ }
var childepstr = dataToString(type);
if (childepstr != undefined && childepstr != null) {
var body_xml = '<ns1:addEndpoint
xmlns:ns1="http://org.apache.synapse/xsd" xmlns:syn="' + SYNAPSE_NS + '">' +
@@ -1268,7 +1279,12 @@
} else if ("LoadBalance" == type) {
var nameId = "endpoint_name" + endpointindexs[0].index;
var name = document.getElementById(nameId.toString());
- if (name != null && name.value != "" && namevalidate(name.value)) {
+ if (name != null && name.value != "") {
+ if (!namevalidate(name.value)) {
+ esbwarning("The value for the name contains invalid
characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return;
+ }
var childepstr = dataToString(type);
if (childepstr != undefined && childepstr != null) {
var body_xml = '<ns1:addEndpoint
xmlns:ns1="http://org.apache.synapse/xsd" xmlns:syn="' + SYNAPSE_NS + '">' +
@@ -1287,10 +1303,16 @@
function getXmlForAddressEndpoint() {
var name = document.getElementById("endpoint_name0");
var uri = document.getElementById("endpoint_address0");
- if (name != null && name.value != "" && namevalidate(name.value)) {
+ if (name != null && name.value != "") {
+ var value = trim(name.value);
+ if (!namevalidate(value)) {
+ esbwarning("The value for the name contains invalid characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return;
+ }
if (uri != null && uri.value != "") {
- var body_xml = '<syn:endpoint xmlns:syn="' + SYNAPSE_NS + '"
name="' + trim(name.value) + '">' +
- '<syn:address uri="' + uri.value + '"';
+ var body_xml = '<syn:endpoint xmlns:syn="' + SYNAPSE_NS + '"
name="' + value + '">' +
+ '<syn:address uri="' +
convertToValidXMlString(trim(uri.value)) + '"';
var format = document.getElementById("endpoint_format0");
var format_index = null;
var format_value = null;
@@ -1397,7 +1419,7 @@
}
body_xml += '</syn:address>' +
'</syn:endpoint>';
- return relpaceString(relpaceString(trim(body_xml), "&", "&"),
"&", "&");
+ return trim(body_xml);
} else {
if (save_state = true) {
esbwarning("Invalid Address Endpoint: URI must be specified",
TYPE_INFO);
@@ -1416,7 +1438,12 @@
function getXmlForWSDLEndpoint() {
var name = document.getElementById("endpoint_name0");
var uri = document.getElementById("endpoint_address0");
- if (name != null && name.value != "" && namevalidate(name.value)) {
+ if (name != null && name.value != "") {
+ if (!namevalidate(name.value)) {
+ esbwarning("The value for the name contains invalid characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return;
+ }
var inlinewsdlstr = null;
var body_xml = '<syn:endpoint xmlns:syn="' + SYNAPSE_NS + '" name="' +
trim(name.value) + '">' +
"<syn:wsdl ";
@@ -1557,7 +1584,7 @@
}
body_xml += '</syn:wsdl>' +
'</syn:endpoint>';
- return relpaceString(relpaceString(trim(body_xml), "&", "&"), "&",
"&");
+ return trim(body_xml);
}
else
{
@@ -1598,11 +1625,17 @@
} else if ("FailOver" == type) {
var nameId = "endpoint_name" + endpointindexs[0].index;
var name = document.getElementById(nameId.toString());
- if (name != null && name.value != "" && namevalidate(name.value)) {
+ if (name != null && name.value != "") {
var childepstr = dataToString(type);
if (childepstr != undefined && childepstr != null) {
+ var value = trim(name.value);
+ if (!namevalidate(value)) {
+ esbwarning("The value for the name contains invalid
characters." +
+ " Only, alphanumeric or underscore characters
are allowed. ", TYPE_INFO);
+ return;
+ }
var body_xml = '<ns1:saveEndpoint
xmlns:ns1="http://org.apache.synapse/xsd" xmlns:syn="' + SYNAPSE_NS + '">' +
- '<syn:endpoint name="' + name.value + ' ">' +
childepstr +
+ '<syn:endpoint name="' + value + ' ">' +
childepstr +
'</syn:endpoint>' +
'</ns1:saveEndpoint>';
var callURL = serverURL + "/" + ENDPOINT_MANAGEMENT + "/" +
"saveEndpoint";
@@ -1614,11 +1647,17 @@
} else if ("LoadBalance" == type) {
var nameId = "endpoint_name" + endpointindexs[0].index;
var name = document.getElementById(nameId.toString());
- if (name != null && name.value != "" && namevalidate(name.value)) {
+ if (name != null && name.value != "") {
var childepstr = dataToString(type);
if (childepstr != undefined && childepstr != null) {
+ var value = trim(name.value);
+ if (!namevalidate(value)) {
+ esbwarning("The value for the name contains invalid
characters." +
+ " Only, alphanumeric or underscore characters
are allowed. ", TYPE_INFO);
+ return;
+ }
var body_xml = '<ns1:saveEndpoint
xmlns:ns1="http://org.apache.synapse/xsd" xmlns:syn="' + SYNAPSE_NS + '">' +
- '<syn:endpoint name="' + name.value + ' ">' +
childepstr +
+ '<syn:endpoint name="' + value + ' ">' +
childepstr +
'</syn:endpoint>' +
'</ns1:saveEndpoint>';
var callURL = serverURL + "/" + ENDPOINT_MANAGEMENT + "/" +
"saveEndpoint";
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/entries.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/entries.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/entries.js
Mon Dec 10 01:03:23 2007
@@ -134,15 +134,15 @@
xmlObj.setAttribute("type", type)
var str = transformXMLToString(xmlObj, xsltfilename, transformeddiv);
panelcontrol.innerHTML = "<div class='hd'><div
class='tl'></div><span>WSO2-ESB Entry Editor</span><div class='tr'></div></div>"
- + "<div class='bd'><div id='divAddEntry'
style='overflow:auto;height:200px'>"
- + str + "</div>"
- + "<div><table style='margin-left: 150px;'><tbody><tr>"
- + "<td><input type='button' class='panelbutton_default'"
- + "onclick=" + onclickfn + "('" + endponitStr + "')
value='Save'></td><td></td>"
- + "<td><input type='button' class='panelbutton_cancel'"
- + "onclick=hideEntryPanel() value='Cancel'/></td>"
- + "</tr></tbody></table></div></div>"
- + "<div id='statusbar' class='ft'>" + type + " Entry</div>";
+ + "<div class='bd'><div id='divAddEntry'
style='overflow:auto;height:200px'>"
+ + str + "</div>"
+ + "<div><table style='margin-left: 150px;'><tbody><tr>"
+ + "<td><input type='button' class='panelbutton_default'"
+ + "onclick=" + onclickfn + "('" + endponitStr + "')
value='Save'></td><td></td>"
+ + "<td><input type='button' class='panelbutton_cancel'"
+ + "onclick=hideEntryPanel() value='Cancel'/></td>"
+ + "</tr></tbody></table></div></div>"
+ + "<div id='statusbar' class='ft'>" + type + " Entry</div>";
document.getElementById("divOverPanel").appendChild(panelcontrol);
document.getElementById("divOverPanel").style.display = "inline";
panelcontrol.style.zIndex = 3;
@@ -161,17 +161,17 @@
xmlObj.setAttribute("type", type)
var str = transformXMLToString(xmlObj, xsltfilename, transformeddiv);
panelcontrol.innerHTML = "<div class='breadcrumb'><a href='#'
onclick='javascript: "
- + "showEntries(); return false;'>Manage
Entries</a> > "
- + type + " Entry</div>"
- + "<div class='page-main-title title-local-registry'>" + type + "
Entry</div>"
- + "<div class='endpointcontentPaneClass' ><div id='divAddEntry'>"
- + str + "</div>"
- + "<div><table class='data-table' style='width:450px;'><tbody><tr>"
- + "<td style='width:80px;'></td><td><input type='button'
class='panelbutton_default button-space'"
- + "onclick=" + onclickfn + "('" + endponitStr + "') value='Save'>"
- + "<input type='button' class='panelbutton_cancel'"
- + "onclick=discardEntrySave() value='Cancel'/></td>"
- + "</tr></tbody></table></div></div>";
+ + "showEntries(); return false;'>Manage Entries</a> > "
+ + type + " Entry</div>"
+ + "<div class='page-main-title title-local-registry'>" + type + "
Entry</div>"
+ + "<div class='endpointcontentPaneClass' ><div id='divAddEntry'>"
+ + str + "</div>"
+ + "<div><table class='data-table' style='width:450px;'><tbody><tr>"
+ + "<td style='width:80px;'></td><td><input type='button'
class='panelbutton_default button-space'"
+ + "onclick=" + onclickfn + "('" + endponitStr + "') value='Save'>"
+ + "<input type='button' class='panelbutton_cancel'"
+ + "onclick=discardEntrySave() value='Cancel'/></td>"
+ + "</tr></tbody></table></div></div>";
}
function discardEntrySave() {
@@ -196,10 +196,15 @@
if (entryNameID != null && entryNameID != undefined) {
entryName = entryNameID.value;
}
- if (entryName == null || entryName == "" || !namevalidate(entryName)) {
+ if (entryName == null || entryName == "") {
esbwarning("Name must be specified", TYPE_INFO);
return;
}
+ if (!namevalidate(entryName)) {
+ esbwarning("The value for the name contains invalid characters." +
+ " Only, alphanumeric or underscore characters are allowed.
", TYPE_INFO);
+ return;
+ }
var valueId = document.getElementById("entry_value");
var entryvalue = null;
if (valueId != null && valueId != undefined) {
@@ -269,10 +274,15 @@
if (entryNameID != null && entryNameID != undefined) {
entryName = entryNameID.value;
}
- if (entryName == null || entryName == "" || !namevalidate(entryName)) {
+ if (entryName == null || entryName == "") {
esbwarning("Name must be specified", TYPE_INFO);
return;
}
+ if (!namevalidate(entryName)) {
+ esbwarning("The value for the name contains invalid characters." +
+ " Only, alphanumeric or underscore characters are allowed.
", TYPE_INFO);
+ return;
+ }
var valueId = document.getElementById("entry_value");
var entryvalue = null;
if (valueId != null && valueId != undefined) {
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/esbregistry.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/esbregistry.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/esbregistry.js
Mon Dec 10 01:03:23 2007
@@ -270,7 +270,9 @@
return;
}
- if (!validateFileName(newFolderName)) {
+ if (!namevalidate(newFolderName)) {
+ esbwarning("The value for the name contains invalid characters." +
+ " Only, alphanumeric or underscore characters are allowed.
", TYPE_INFO);
return;
}
@@ -303,7 +305,9 @@
return;
}
- if (!validateFileName(newFolderName)) {
+ if (!namevalidate(newFolderName)) {
+ esbwarning("The value for the name contains invalid characters." +
+ " Only, alphanumeric or underscore characters are allowed.
", TYPE_INFO);
return;
}
@@ -424,7 +428,9 @@
return;
}
- if (!validateFileName(newFileName)) {
+ if (!namevalidate(newFileName)) {
+ esbwarning("The value for the name contains invalid characters." +
+ " Only, alphanumeric or underscore characters are allowed.
", TYPE_INFO);
return;
}
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/filter_mediator.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/filter_mediator.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/filter_mediator.js
Mon Dec 10 01:03:23 2007
@@ -42,7 +42,7 @@
return false;
}
if (regex != null && regex.value != "") {
- mediator.setAttribute("regex", regex.value);
+ mediator.setAttribute("regex",
convertToValidXMlString(trim(regex.value)));
} else {
esbwarning("The regular expression must be specified for the
filter mediator", TYPE_INFO);
return false;
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/header_mediator.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/header_mediator.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/header_mediator.js
Mon Dec 10 01:03:23 2007
@@ -25,16 +25,21 @@
var _value = document.getElementById("header_valueorexpr_value");
var actionElements = document.getElementsByName("action");
- if (name != null && name.value != "" && namevalidate(trim(name.value))) {
+ if (name != null && name.value != "") {
+ if (!namevalidate(name.value)) {
+ esbwarning("The value for the name contains invalid characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return false;
+ }
mediator.setAttribute("name", name.value);
if ((_value == undefined || _value == null || _value.value == "") &&
actionElements[0].checked && !validate) {
esbwarning("A value or expression must be specified to select the
SOAP header", TYPE_INFO);
return false;
}
- if(name.value.indexOf(":") != -1){
- var prefix = name.value.substring(0,name.value.indexOf(":"));
- if(!isDeclared(mediator,prefix) && !validate){
+ if (name.value.indexOf(":") != -1) {
+ var prefix = name.value.substring(0, name.value.indexOf(":"));
+ if (!isDeclared(mediator, prefix) && !validate) {
esbwarning("Undeclared namesapce: " + prefix, TYPE_WARN);
return false;
}
@@ -45,7 +50,7 @@
if (typeElements.length != 0 && typeElements[0].checked) {
mediator.setAttribute("value", _value.value);
mediator.removeAttribute("expression");
- } else if(_value != undefined && _value != null) {
+ } else if (_value != undefined && _value != null) {
mediator.setAttribute("expression", _value.value);
mediator.removeAttribute("value");
}
@@ -53,7 +58,7 @@
mediator.setAttribute("action", "remove");
}
}
- else if(!validate) {
+ else if (!validate) {
esbwarning("The header name must be specified", TYPE_INFO);
return false;
}
@@ -73,7 +78,7 @@
editmediator(position);
- showNamespaceButton(position,'','','namespaceButtonCell','true');
+ showNamespaceButton(position, '', '', 'namespaceButtonCell', 'true');
}
function setValue(position) {
@@ -97,6 +102,6 @@
collectdata["header"](mediator, true);
mediator.setAttribute("action", action);
-
+
editmediator(position);
}
\ No newline at end of file
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/makefault_mediator.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/makefault_mediator.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/makefault_mediator.js
Mon Dec 10 01:03:23 2007
@@ -79,7 +79,7 @@
if (reasonelem.getAttribute("expression") != null) {
reasonelem.removeAttribute("expression");
}
- reasonelem.setAttribute("value", reasonContent);
+ reasonelem.setAttribute("value",
convertToValidXMlString(trim(reasonContent)));
} else {
if (reasonelem.getAttribute("value") != null) {
reasonelem.removeAttribute("value");
@@ -92,20 +92,20 @@
if (document.getElementById("node").value != "") {
mediator.appendChild(createesbelement(
"<syn:node
xmlns:syn='http://ws.apache.org/ns/synapse'>"
- + document.getElementById("node").value +
"</syn:node>"));
+ +
convertToValidXMlString(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'>"
- + document.getElementById("role").value +
"</syn:role>"));
+ +
convertToValidXMlString(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'>"
- + document.getElementById("detail").value +
"</syn:detail>"));
+ +
convertToValidXMlString(trim(document.getElementById("detail").value)) +
"</syn:detail>"));
}
} else {
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/property.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/property.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/property.js
Mon Dec 10 01:03:23 2007
@@ -45,7 +45,7 @@
mediator.removeChild(properties[i]);
}
}
-
+
setnodepositions(mediator, position);
editmediator(position);
@@ -59,14 +59,14 @@
// editing mediator position in the internal model
var position = geteditingmediatorposition();
-// vieweditedmediator();
+ // vieweditedmediator();
// mediator retrieved and adding the property with blank fields
var mediator = getnestedmediator(internalmodel.sequence, position);
// node.localName is not supported by the IE
collectdata[mediator.nodeName.substring(mediator.nodeName.indexOf(":") +
1, mediator.nodeName.length)](mediator, true);
-
+
var property;
// checking the availabality of the createElementNS method and creating
the property element
@@ -83,13 +83,13 @@
if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
prefix1 = "syn:";
}
-// var esb_med_pos = position.toString() + "." +
mediator.getElementsByTagName(prefix1 + "property").length;
-// property.setAttribute("esb_med_pos", esb_med_pos);
+ // var esb_med_pos = position.toString() + "." +
mediator.getElementsByTagName(prefix1 + "property").length;
+ // property.setAttribute("esb_med_pos", esb_med_pos);
mediator.appendChild(property);
setnodepositions(mediator, position);
-
+
// reload the editing div with the modified internal model
editmediator(position);
}
@@ -137,55 +137,71 @@
for (var j = 0; j < propertytrs.length; j++) {
if (window.ActiveXObject) {
+ var name = propertytrs[j].children[0].children[0].value;
+ if (name == undefined || name == null || name == "") {
+ esbwarning("A property with out a name can't exist." +
+ " There are some properties without a name.",
TYPE_INFO);
+ return false;
+ }
+ name = trim(name);
+ if (!namevalidate(name)) {
+ esbwarning("The value for the name contains invalid
characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return false;
+ }
+ var propertystr = "<syn:property
xmlns:syn='http://ws.apache.org/ns/synapse' name='"
+ + name + "' ";
- if (propertytrs[j].children[0].children[0].value != "") {
-
- var propertystr = "<syn:property
xmlns:syn='http://ws.apache.org/ns/synapse' name='"
- + propertytrs[j].children[0].children[0].value + "' ";
-
- var propertytype =
propertytrs[j].children[1].children[0].options[
-
propertytrs[j].children[1].children[0].selectedIndex].value;
- if (propertytype == "value") {
- propertystr += "value='" +
propertytrs[j].children[2].children[0].value + "' ";
- } else if (propertytype == "expression") {
- propertystr += "expression='" +
propertytrs[j].children[2].children[0].value + "' ";
- }
- if
(namespaces[mediator.getAttribute("esb_med_pos").concat(".").concat(j)] !=
undefined) {
- var nss =
namespaces[mediator.getAttribute("esb_med_pos").concat(".").concat(j)];
- for (var g = 0; g < nss.length; g++) {
- if(nss[g].name != "xmlns:syn") {
- propertystr += nss[g].name + "='" + nss[g].value +
"' ";
- }
+ var propertytype = propertytrs[j].children[1].children[0].options[
+ propertytrs[j].children[1].children[0].selectedIndex].value;
+ if (propertytype == "value") {
+ propertystr += "value='" +
propertytrs[j].children[2].children[0].value + "' ";
+ } else if (propertytype == "expression") {
+ propertystr += "expression='" +
propertytrs[j].children[2].children[0].value + "' ";
+ }
+ if
(namespaces[mediator.getAttribute("esb_med_pos").concat(".").concat(j)] !=
undefined) {
+ var nss =
namespaces[mediator.getAttribute("esb_med_pos").concat(".").concat(j)];
+ for (var g = 0; g < nss.length; g++) {
+ if (nss[g].name != "xmlns:syn") {
+ propertystr += nss[g].name + "='" + nss[g].value + "'
";
}
}
- mediator.appendChild(createesbelement(propertystr + "/>"));
}
-
+ mediator.appendChild(createesbelement(propertystr + "/>"));
} else {
+ var name = propertytrs[j].childNodes[0].childNodes[0].value;
+ if (name == undefined || name == null || name == "") {
+ esbwarning("A property with out a name can't exist." +
+ " There are some properties without a name.",
TYPE_INFO);
+ return false;
+ }
+ name = trim(name);
+ if (!namevalidate(name)) {
+ esbwarning("The value for the name contains invalid
characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return false;
+ }
- if (propertytrs[j].childNodes[0].childNodes[0].value != "") {
-
- var property;
- if (document.createElementNS != "undefined") {
- property = document.createElementNS(SYNAPSE_NS,
"syn:property");
- }
+ var property;
+ if (document.createElementNS != "undefined") {
+ property = document.createElementNS(SYNAPSE_NS,
"syn:property");
+ }
- property.setAttribute("name",
propertytrs[j].childNodes[0].childNodes[0].value);
- var propertytype =
propertytrs[j].childNodes[1].childNodes[0].options[
-
propertytrs[j].childNodes[1].childNodes[0].selectedIndex].value;
- if (propertytype == "value") {
- property.setAttribute("value",
propertytrs[j].childNodes[2].childNodes[0].value);
- } else if (propertytype == "expression") {
- property.setAttribute("expression",
propertytrs[j].childNodes[2].childNodes[0].value);
- }
- if
(namespaces[mediator.getAttribute("esb_med_pos").concat(".").concat(j)] !=
undefined) {
- var nss =
namespaces[mediator.getAttribute("esb_med_pos").concat(".").concat(j)];
- for (var g = 0; g < nss.length; g++) {
- property.setAttribute(nss[g].name, nss[g].value);
- }
+ property.setAttribute("name", name);
+ var propertytype =
propertytrs[j].childNodes[1].childNodes[0].options[
+
propertytrs[j].childNodes[1].childNodes[0].selectedIndex].value;
+ if (propertytype == "value") {
+ property.setAttribute("value",
propertytrs[j].childNodes[2].childNodes[0].value);
+ } else if (propertytype == "expression") {
+ property.setAttribute("expression",
propertytrs[j].childNodes[2].childNodes[0].value);
+ }
+ if
(namespaces[mediator.getAttribute("esb_med_pos").concat(".").concat(j)] !=
undefined) {
+ var nss =
namespaces[mediator.getAttribute("esb_med_pos").concat(".").concat(j)];
+ for (var g = 0; g < nss.length; g++) {
+ property.setAttribute(nss[g].name, nss[g].value);
}
- mediator.appendChild(property);
}
+ mediator.appendChild(property);
}
}
}
@@ -256,23 +272,46 @@
}
for (var j = 0; j < features.length; j++) {
if (window.ActiveXObject) {
-
- if (features[j].children[0].children[0].value != "") {
- var featurestr = "<syn:feature
xmlns:syn='http://ws.apache.org/ns/synapse' name='"
- + features[j].children[0].children[0].value + "' ";
- featurestr += "value='" +
features[j].children[1].children[0].value + "' ";
- mediator.appendChild(createesbelement(featurestr + "/>"));
+ var name = features[j].children[0].children[0].value;
+ if (name == undefined || name == null || name == "") {
+ esbwarning("A property with out a name can't exist." +
+ " There are some properties without a name.",
TYPE_INFO);
+ return false;
+ }
+ name = trim(name);
+ if (!namevalidate(name)) {
+ esbwarning("The value for the name contains invalid
characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return false;
}
+
+ var featurestr = "<syn:feature
xmlns:syn='http://ws.apache.org/ns/synapse' name='"
+ + name + "' ";
+ featurestr += "value='" +
features[j].children[1].children[0].value + "' ";
+ mediator.appendChild(createesbelement(featurestr + "/>"));
} else {
- if (features[j].childNodes[0].childNodes[0].value != "") {
- var feature;
- if (document.createElementNS != "undefined") {
- feature = document.createElementNS(SYNAPSE_NS,
"syn:feature");
- }
- feature.setAttribute("name",
features[j].childNodes[0].childNodes[0].value);
- feature.setAttribute("value",
features[j].childNodes[1].childNodes[0].value);
- mediator.appendChild(feature);
+ var name = features[j].childNodes[0].childNodes[0].value;
+ if (name == undefined || name == null || name == "") {
+ esbwarning("A property with out a name can't exist." +
+ " There are some properties without a name.",
TYPE_INFO);
+ return false;
+ }
+ name = trim(name);
+ if (!namevalidate(name)) {
+ esbwarning("The value for the name contains invalid
characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return false;
}
+
+
+ var feature;
+ if (document.createElementNS != "undefined") {
+ feature = document.createElementNS(SYNAPSE_NS, "syn:feature");
+ }
+ feature.setAttribute("name", name);
+ feature.setAttribute("value",
features[j].childNodes[1].childNodes[0].value);
+ mediator.appendChild(feature);
+
}
}
}
@@ -286,7 +325,7 @@
var position = geteditingmediatorposition();
// mediator retrieved and extracting the features
var mediator = getnestedmediator(internalmodel.sequence, position);
- collectdata[mediator.nodeName.substring(mediator.nodeName.indexOf(":") +
1,mediator.nodeName.length)](mediator,true);
+ collectdata[mediator.nodeName.substring(mediator.nodeName.indexOf(":") +
1, mediator.nodeName.length)](mediator, true);
setnodepositions(mediator, position);
var features = mediator.getElementsByTagName("feature");
// this is a hack to the wrong behaviour of the IE in getElementsByTagName
method
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/switch_mediator.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/switch_mediator.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/switch_mediator.js
Mon Dec 10 01:03:23 2007
@@ -37,7 +37,7 @@
var regexvalue = document.getElementById("regex_val");
if (regexvalue != undefined && regexvalue != null && regexvalue !=
"undefined" && regexvalue.value != "") {
- mediator.setAttribute("regex", regexvalue.value);
+ mediator.setAttribute("regex",
convertToValidXMlString(regexvalue.value));
} else if(!validate) {
esbwarning("The regular expression must be specified for each case",
TYPE_INFO);
return false;
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/throttle_mediator.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/throttle_mediator.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/throttle_mediator.js
Mon Dec 10 01:03:23 2007
@@ -58,7 +58,13 @@
mediator.removeAttribute("id");
var thottleID = document.getElementById(("throttle_id" +
cp).toString());
if (thottleID != null && thottleID != undefined && thottleID.value !=
"") {
- mediator.setAttribute("id", thottleID.value);
+ var id = trim(thottleID.value);
+ if (!namevalidate(id)) {
+ esbwarning("The value for the ID contains invalid characters."
+
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return false;
+ }
+ mediator.setAttribute("id", id);
} else {
if (throttle_save_state == 1) {
esbwarning("Throttle Id must be specified", TYPE_INFO);
@@ -381,10 +387,10 @@
var epdiv = document.getElementById("throttle_edit");
if (epdiv != null && mediator != null) {
processXML(mediator, "mediators/throttle_edit.xsl", epdiv);
-// var newvalue = document.getElementById("policylayoutdiv");
-// if (newvalue == undefined && pvsvalue != undefined && pvsvalue !=
null) {
-// document.getElementById("policy_div").appendChild(pvsvalue);
-// }
+ // var newvalue = document.getElementById("policylayoutdiv");
+ // if (newvalue == undefined && pvsvalue != undefined &&
pvsvalue != null) {
+ //
document.getElementById("policy_div").appendChild(pvsvalue);
+ // }
}
}
function showinlineonrejectlayout(index) {
@@ -410,9 +416,9 @@
var epdiv = document.getElementById("throttle_edit");
if (epdiv != null && mediator != null) {
processXML(mediator, "mediators/throttle_edit.xsl", epdiv);
-// var newvalue = document.getElementById("policylayoutdiv");
-// if (newvalue == undefined && pvsvalue != undefined && pvsvalue !=
null) {
-// document.getElementById("policy_div").appendChild(pvsvalue);
-// }
+ // var newvalue = document.getElementById("policylayoutdiv");
+ // if (newvalue == undefined && pvsvalue != undefined &&
pvsvalue != null) {
+ //
document.getElementById("policy_div").appendChild(pvsvalue);
+ // }
}
}
\ No newline at end of file
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/validate_mediator.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/validate_mediator.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/validate_mediator.js
Mon Dec 10 01:03:23 2007
@@ -29,7 +29,7 @@
var schemakeys = document.getElementsByName("schema_key");
var k = schemakeys.length;
if (!validate && k == 0) {
- if (send_save_mode == true) {
+ if (send_save_mode) {
esbwarning("Schema registry keys to be used for validation must be
specified", TYPE_INFO);
return false;
}
@@ -57,8 +57,8 @@
mediator.appendChild(schemakey);
}
}
- if (!validate && validkeyfound == false) {
- if (send_save_mode == true) {
+ if (!validate && !validkeyfound) {
+ if (send_save_mode) {
esbwarning("One or more schema registry keys must be specified for
validation", TYPE_INFO);
return false;
}
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/xquery_mediator.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/xquery_mediator.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/xquery_mediator.js
Mon Dec 10 01:03:23 2007
@@ -169,13 +169,20 @@
var namespce = getnamespasexquery(position);
if (window.ActiveXObject) {
if (!validate) {
+ var name = propertytrs[j].children[1].children[0].value;
if (propertytrs[j].children[0].children[0].value != ""
&& propertytrs[j].children[0].children[0].value != "Select
A Value"
- && propertytrs[j].children[1].children[0].value != "") {
+ && name != "") {
+ name = trim(name);
+ if (!namevalidate(name)) {
+ esbwarning("The value for the name contains invalid
characters." +
+ " Only, alphanumeric or underscore
characters are allowed. ", TYPE_INFO);
+ return false;
+ }
var propertystr = "<syn:variable
xmlns:syn='http://ws.apache.org/ns/synapse' type='"
+ propertytrs[j].children[0].children[0].value + "'
name='"
- + propertytrs[j].children[1].children[0].value + "' ";
+ + name + "' ";
var propertytype =
propertytrs[j].children[2].children[0].options[
propertytrs[j].children[2].children[0].selectedIndex].value;
@@ -242,16 +249,22 @@
} else {
if (!validate) {
+ var name = propertytrs[j].childNodes[1].childNodes[0].value;
if (propertytrs[j].childNodes[0].childNodes[0].value != ""
&& propertytrs[j].childNodes[0].childNodes[0].value !=
"Select A Value"
- && propertytrs[j].childNodes[1].childNodes[0].value != "")
{
-
+ && name != "") {
+ name = trim(name);
+ if (!namevalidate(name)) {
+ esbwarning("The value for the name contains invalid
characters." +
+ " Only, alphanumeric or underscore
characters are allowed. ", TYPE_INFO);
+ return false;
+ }
var property;
if (document.createElementNS != "undefined") {
property = document.createElementNS(SYNAPSE_NS,
"syn:variable");
}
property.setAttribute("type",
propertytrs[j].childNodes[0].childNodes[0].value);
- property.setAttribute("name",
propertytrs[j].childNodes[1].childNodes[0].value);
+ property.setAttribute("name", name);
var propertytype =
propertytrs[j].childNodes[2].childNodes[0].options[
propertytrs[j].childNodes[2].childNodes[0].selectedIndex].value;
if (propertytype == "value") {
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/proxyservices.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/proxyservices.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/proxyservices.js
Mon Dec 10 01:03:23 2007
@@ -620,7 +620,12 @@
var faultsequence;
var endpoint;
- if (document.getElementById("proxy_name") != null &&
document.getElementById("proxy_name").value != "" &&
namevalidate(document.getElementById("proxy_name").value)) {
+ if (document.getElementById("proxy_name") != null &&
document.getElementById("proxy_name").value != "") {
+ if (!namevalidate(document.getElementById("proxy_name").value)) {
+ esbwarning("The value for the name contains invalid characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return -1;
+ }
internalmodel.proxyname = document.getElementById("proxy_name").value;
internalmodel.proxy.setAttribute("name",
document.getElementById("proxy_name").value);
} else if (!validate && internalmodel.proxy.getAttribute("int_op") ==
"add") {
Modified:
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/sequences.js
==============================================================================
---
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/sequences.js
(original)
+++
trunk/esb/java/modules/distribution/src/main/www/extensions/core/js/sequences.js
Mon Dec 10 01:03:23 2007
@@ -195,7 +195,7 @@
var relativediv = document.createElement("div");
relativediv.setAttribute("style", "_margin-left:0px;");
- getsequencedisplay(relativediv);
+ getsequencedisplay(relativediv);
objdiv.appendChild(relativediv);
var savepanel = document.createElement("div");
@@ -315,7 +315,7 @@
internalmodel.sequence.setAttribute("onError", getRegistryKey());
dicardregistrybrowser(1);
-
+
viewsequencechanges();
editonerror();
@@ -337,7 +337,7 @@
* the sequence (mediator update)
*/
function viewmediator(mediatordiv, mediatornode, position) {
-
+
setnodepositions(mediatornode, position);
// showStuffInNewWindow(new
XMLSerializer().serializeToString(mediatornode));
mediatordiv.innerHTML = "";
@@ -396,7 +396,7 @@
getnestedmediator(internalmodel.sequence, editingpos),
editingpos);
}
}
-
+
var mediatorDiv = document.getElementById("mediatordiv" + position);
var editdiv = document.createElement("div");
@@ -528,7 +528,7 @@
editmediator(edit_pos)
}
}
-
+
/**
* This method deletes the mediator in the given position of the given node
described as
@@ -721,7 +721,7 @@
collectdata[editingelem.nodeName.substring(editingelem.nodeName.indexOf(":") +
1, editingelem.nodeName.length)] (editingelem, true);
}
-
+
nestedmovedown(position, internalmodel.sequence);
reloadsequencedisplay();
@@ -822,8 +822,12 @@
*/
function getvalueofname(type) {
- if(namevalidate(document.getElementById("sequencename").value) &&
document.getElementById("sequencename").value != "") {
-
+ if(document.getElementById("sequencename") != null &&
document.getElementById("sequencename").value != "") {
+ if (!namevalidate(document.getElementById("sequencename").value)) {
+ esbwarning("The value for the name contains invalid characters." +
+ " Only, alphanumeric or underscore characters are
allowed. ", TYPE_INFO);
+ return;
+ }
internalmodel.sequencename =
document.getElementById("sequencename").value;
internalmodel.sequence.setAttribute("name",
internalmodel.sequencename);
_______________________________________________
Esb-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev