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

Reply via email to