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

svn commit: r605094 - in /webservices/synapse/trunk/java/modules/extensions/src: main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java test/java/org/apache/synapse/mediators/xquery/XQueryMediatorTest.java

Author: indika
Date: Mon Dec 17 21:34:15 2007
New Revision: 605094

URL: http://svn.apache.org/viewvc?rev=605094&view=rev
Log:
add missig binding for xs:integer 
update the test case

Modified:
    webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java
    webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/mediators/xquery/XQueryMediatorTest.java

Modified: webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java?rev=605094&r1=605093&r2=605094&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java (original)
+++ webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java Mon Dec 17 21:34:15 2007
@@ -367,6 +367,20 @@
                         xqDynamicContext.bindBoolean(name, booleanValue, null);
                         break;
                     }
+                    case(XQItemType.XQBASETYPE_INTEGER): {
+                        int intValue = -1;
+                        if (value instanceof String) {
+                            intValue = Integer.parseInt((String) value);
+                        } else if (value instanceof Integer) {
+                            intValue = ((Integer) value).intValue();
+                        } else {
+                            handleException("Incompatible type for the Integer");
+                        }
+                        if (intValue != -1) {
+                            xqDynamicContext.bindInt(name, intValue, null);
+                        }
+                        break;
+                    }
                     case(XQItemType.XQBASETYPE_INT): {
                         int intValue = -1;
                         if (value instanceof String) {

Modified: webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/mediators/xquery/XQueryMediatorTest.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/mediators/xquery/XQueryMediatorTest.java?rev=605094&r1=605093&r2=605094&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/mediators/xquery/XQueryMediatorTest.java (original)
+++ webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/mediators/xquery/XQueryMediatorTest.java Mon Dec 17 21:34:15 2007
@@ -100,6 +100,7 @@
                              "declare variable $shortVar as xs:short external;" +
                              "declare variable $floatVar as xs:float external;" +
                              "declare variable $stringVar as xs:string external;" +
+                             "declare variable $integerVar as xs:integer external;" +
                              "document { " +
                              "<a xmlns='http://a/uri' z:in='out' xmlns:z='http://z/uri'>" +
                              "<b>{$intVar+2}<e>{$boolVar}</e>" +
@@ -110,6 +111,7 @@
                              "{$longVar}," +
                              "{$floatVar}," +
                              "{$stringVar}," +
+                             "{$integerVar+xs:integer('5')}," +
                              "</all></b></a> }");
         List list = new ArrayList();
         MediatorVariable intVariable = new MediatorBaseVariable(new QName("intVar"));
@@ -144,6 +146,10 @@
         stringValue.setType(XQItemType.XQBASETYPE_STRING);
         stringValue.setValue("synapse");
         list.add(stringValue);
+        MediatorVariable integerValue = new MediatorBaseVariable(new QName("integerVar"));
+        integerValue.setType(XQItemType.XQBASETYPE_INTEGER);
+        integerValue.setValue(new Integer(5));
+        list.add(integerValue);
         mediator.addAllVariables(list);
         assertTrue(mediator.mediate(mc));
         assertEquals("10", mc.getEnvelope().getBody().getFirstElement().



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