Author: indika
Date: Wed May 21 11:20:51 2008
New Revision: 17226
Log:
workaround for esbjava 480
Modified:
branches/esb/java/1.7/esb/java/modules/core/src/main/java/org/wso2/esb/services/RegistryAdmin.java
branches/esb/java/1.7/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/script_mediator.js
Modified:
branches/esb/java/1.7/esb/java/modules/core/src/main/java/org/wso2/esb/services/RegistryAdmin.java
==============================================================================
---
branches/esb/java/1.7/esb/java/modules/core/src/main/java/org/wso2/esb/services/RegistryAdmin.java
(original)
+++
branches/esb/java/1.7/esb/java/modules/core/src/main/java/org/wso2/esb/services/RegistryAdmin.java
Wed May 21 11:20:51 2008
@@ -21,7 +21,14 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.SynapseException;
+import org.apache.synapse.Mediator;
+import org.apache.synapse.SynapseConstants;
+import org.apache.synapse.endpoints.Endpoint;
import org.apache.synapse.config.SynapseConfiguration;
+import org.apache.synapse.config.xml.endpoints.EndpointFactory;
+import org.apache.synapse.config.xml.SequenceMediatorFactory;
+import org.apache.synapse.config.xml.MediatorFactoryFinder;
+import org.apache.synapse.config.xml.MediatorSerializerFinder;
import org.apache.synapse.registry.Registry;
import org.apache.synapse.registry.RegistryEntry;
import org.apache.synapse.registry.RegistryEntryImpl;
@@ -35,6 +42,8 @@
import java.util.Iterator;
import java.io.File;
+import com.ctc.wstx.dtd.SeqContentSpec;
+
public class RegistryAdmin extends AbstractESBAdmin {
private static final Log log = LogFactory.getLog(RegistryAdmin.class);
@@ -391,7 +400,26 @@
Registry reg = getDefaultRegistry();
try {
+ //workaround for for ESBJAVA-480 which Underlying reason is issues
with CDATA
+ //(SYNAPSE-280)
OMNode resourceNode = reg.lookup(key);
+ if (resourceNode instanceof OMElement) {
+ OMElement element = (OMElement) resourceNode;
+ OMNamespace ns = element.getNamespace();
+ if (ns != null && "sequence".equals(element.getLocalName())
+ &&
SynapseConstants.SYNAPSE_NAMESPACE.equals(ns.getNamespaceURI())) {
+ Mediator mediator =
+
MediatorFactoryFinder.getInstance().getMediator(element);
+ if (mediator != null) {
+ OMElement resultOM =
+
MediatorSerializerFinder.getInstance().getSerializer(
+ mediator).serializeMediator(null,
mediator);
+ if (resultOM != null) {
+ resourceNode = resultOM;
+ }
+ }
+ }
+ }
OMElement keyElement = fac.createOMElement("key", null);
keyElement.setText(key);
Modified:
branches/esb/java/1.7/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/script_mediator.js
==============================================================================
---
branches/esb/java/1.7/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/script_mediator.js
(original)
+++
branches/esb/java/1.7/esb/java/modules/distribution/src/main/www/extensions/core/js/mediators/script_mediator.js
Wed May 21 11:20:51 2008
@@ -28,8 +28,8 @@
if (type == "inline") {
- var source_script = document.getElementById("source").value;
- if (language != "" && source_script != "") {
+ var source = document.getElementById("source").value;
+ if (language != "" && source != "") {
if (language == "Javascript") {
language = "js";
}
@@ -40,7 +40,6 @@
language = "groovy";
}
mediator.setAttribute("language", language);
- var source = document.getElementById("source").value;
if (mediator.firstChild != null) {
mediator.removeChild(mediator.firstChild);
}
@@ -96,9 +95,9 @@
esbwarning("Language and Registry key must be specified",
TYPE_INFO);
return false;
}
-
+
updatescriptmediator(mediator, true);
-
+
}
return true;
};
@@ -244,14 +243,14 @@
var keyid = ("include_key" + index).toString();
var includeRef = document.getElementById(keyid.toString());
-
+
var deleteKey = includeRef.value;
- var kids = mediator.childNodes;
- var numkids = kids.length;
- for(var i = 0; i < numkids; i++) {
- if(kids[i].getAttribute("key") == deleteKey) {
- mediator.removeChild(kids[i]);
- break;
+ var kids = mediator.childNodes;
+ var numkids = kids.length;
+ for (var i = 0; i < numkids; i++) {
+ if (kids[i].getAttribute("key") == deleteKey) {
+ mediator.removeChild(kids[i]);
+ break;
}
}
@@ -261,7 +260,7 @@
function updatescriptmediator(mediator, validate) {
var schemakeys = document.getElementsByName("include_key");
var k = schemakeys.length;
-
+
var prefix = "";
if (browsername.indexOf(IE_BROWSER_NAME) != -1) {
prefix = "syn:";
@@ -272,7 +271,7 @@
mediator.removeChild(existingschemakeys[existingschemakeys.length
- 1]);
}
} else {
- for(var i=0; i<existingschemakeys.length; i++) {
+ for (var i = 0; i < existingschemakeys.length; i++) {
mediator.removeChild(existingschemakeys[i]);
}
}
@@ -286,5 +285,5 @@
}
}
- return true;
+ return true;
}
_______________________________________________
Esb-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev