You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by an...@apache.org on 2007/12/18 01:09:51 UTC

svn commit: r605048 - in /webservices/synapse/trunk/java/modules/core/src: main/java/org/apache/synapse/mediators/annotations/ main/java/org/apache/synapse/mediators/ext/ test/java/org/apache/synapse/mediators/ext/

Author: antelder
Date: Mon Dec 17 16:09:47 2007
New Revision: 605048

URL: http://svn.apache.org/viewvc?rev=605048&view=rev
Log:
Change @Napmespaces annotation to use an array of string values with each string being the profix and namespace combined, as was discussed on the mailing list

Modified:
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/annotations/Namespaces.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/AnnotatedCommandMediator.java
    webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommand.java
    webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommand2.java

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/annotations/Namespaces.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/annotations/Namespaces.java?rev=605048&r1=605047&r2=605048&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/annotations/Namespaces.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/annotations/Namespaces.java Mon Dec 17 16:09:47 2007
@@ -29,18 +29,17 @@
 
 /**
  * Annotation used to declare namespaces available to be used in XPATH expressions
+ * 
+ * To support setting multiple namespaces with arbitrary prefixes the namespace and 
+ * namespace prefix are held in as a single string value seperated by a colon. For
+ * example, "ns:http://tempuri.org" represents the namespace uri http://tempuri.org
+ * and the namespace prefix "ns", and the complete Namespaces annotation for that
+ * example would be @Namespaces({"ns:http://tempuri.org"})
  */
 @Target({TYPE, FIELD, METHOD})
 @Retention(RUNTIME)
 public @interface Namespaces {
 
-    String[] value() default {"",""};
-
-    String ns() default "";
-    String ns1() default "";
-    String ns2() default "";
-    String ns3() default "";
-    String ns4() default "";
-    String ns5() default "";
+    String[] value();
 
 }

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/AnnotatedCommandMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/AnnotatedCommandMediator.java?rev=605048&r1=605047&r2=605048&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/AnnotatedCommandMediator.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/ext/AnnotatedCommandMediator.java Mon Dec 17 16:09:47 2007
@@ -234,51 +234,25 @@
 
         // First add any default namespaces
         if (defaultNamespaces != null) {
-            if (defaultNamespaces.value()[0].length()>0) {
-                allNamespaces.put(defaultNamespaces.value()[0], defaultNamespaces.value()[1]);
-            }
-            if (defaultNamespaces.ns() != null && defaultNamespaces.ns().length() > 0) {
-                allNamespaces.put("ns", defaultNamespaces.ns());
-            }
-            if (defaultNamespaces.ns1() != null && defaultNamespaces.ns1().length() > 0) {
-                allNamespaces.put("ns1", defaultNamespaces.ns());
-            }
-            if (defaultNamespaces.ns2() != null && defaultNamespaces.ns2().length() > 0) {
-                allNamespaces.put("ns2", defaultNamespaces.ns());
-            }
-            if (defaultNamespaces.ns3() != null && defaultNamespaces.ns3().length() > 0) {
-                allNamespaces.put("ns3", defaultNamespaces.ns());
-            }
-            if (defaultNamespaces.ns4() != null && defaultNamespaces.ns4().length() > 0) {
-                allNamespaces.put("ns4", defaultNamespaces.ns());
-            }
-            if (defaultNamespaces.ns5() != null && defaultNamespaces.ns5().length() > 0) {
-                allNamespaces.put("ns5", defaultNamespaces.ns());
+            for (String namespaceValue : defaultNamespaces.value()) {
+                int i = namespaceValue.indexOf(':');
+                if (i > 0) {
+                    String prefix = namespaceValue.substring(0, i);
+                    String namespace = namespaceValue.substring(i+1);
+                    allNamespaces.put(prefix, namespace);
+                }
             }
         }
 
         // add any namespaces which will overwrite any previously added default namespaces
         if (namespaces != null) {
-            if (namespaces.value()[0].length()>0) {
-                allNamespaces.put(namespaces.value()[0], namespaces.value()[1]);
-            }
-            if (namespaces.ns() != null && namespaces.ns().length() > 0) {
-                allNamespaces.put("ns", namespaces.ns());
-            }
-            if (namespaces.ns1() != null && namespaces.ns1().length() > 0) {
-                allNamespaces.put("ns1", namespaces.ns());
-            }
-            if (namespaces.ns2() != null && namespaces.ns2().length() > 0) {
-                allNamespaces.put("ns2", namespaces.ns());
-            }
-            if (namespaces.ns3() != null && namespaces.ns3().length() > 0) {
-                allNamespaces.put("ns3", namespaces.ns());
-            }
-            if (namespaces.ns4() != null && namespaces.ns4().length() > 0) {
-                allNamespaces.put("ns4", namespaces.ns());
-            }
-            if (namespaces.ns5() != null && namespaces.ns5().length() > 0) {
-                allNamespaces.put("ns5", namespaces.ns());
+            for (String namespaceValue : namespaces.value()) {
+                int i = namespaceValue.indexOf(':');
+                if (i > 0) {
+                    String prefix = namespaceValue.substring(0, i);
+                    String namespace = namespaceValue.substring(i+1);
+                    allNamespaces.put(prefix, namespace);
+                }
             }
         }
         return allNamespaces;

Modified: webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommand.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommand.java?rev=605048&r1=605047&r2=605048&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommand.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommand.java Mon Dec 17 16:09:47 2007
@@ -24,7 +24,7 @@
 import org.apache.synapse.mediators.annotations.ReadFromMessage;
 import org.apache.synapse.mediators.annotations.UpdateMessage;
 
-@Namespaces({"myns", "http://myns"})
+@Namespaces({"myns:http://myns"})
 public class AnnotatedCommand {
 
     @ReadFromMessage("/beforeField")
@@ -36,11 +36,11 @@
     @ReadAndUpdate("/@ReadAndUpdateField")
     String ReadAndUpdateField;
     
-    @Namespaces(ns="http://ns")
+    @Namespaces({"ns:http://ns"})
     @UpdateMessage("/afterField")
     String nsTest1;
 
-    @Namespaces({"xns", "http://xns"})
+    @Namespaces({"xns:http://xns"})
     @UpdateMessage("/afterField")
     String nsTest2;
 

Modified: webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommand2.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommand2.java?rev=605048&r1=605047&r2=605048&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommand2.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/ext/AnnotatedCommand2.java Mon Dec 17 16:09:47 2007
@@ -22,17 +22,17 @@
 import org.apache.synapse.mediators.annotations.Namespaces;
 import org.apache.synapse.mediators.annotations.ReadFromMessage;
 
-@Namespaces({"soapenv", "http://schemas.xmlsoap.org/soap/envelope/"})
+@Namespaces({"soapenv:http://schemas.xmlsoap.org/soap/envelope/"})
 public class AnnotatedCommand2 {
 
     static String fieldResult;
     static String methodResult;
     
-    @Namespaces({"m", "http://services.samples/xsd"})
+    @Namespaces({"m:http://services.samples/xsd"})
     @ReadFromMessage("/soapenv:Envelope/soapenv:Body/m:getQuote/m:request/m:symbol")
     String beforeField;
 
-    @Namespaces({"m", "http://services.samples/xsd"})
+    @Namespaces({"m:http://services.samples/xsd"})
     @ReadFromMessage("/soapenv:Envelope/soapenv:Body/m:getQuote/m:request/m:symbol")
     public void setSymbol(String s) {
         methodResult = s;



---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org