Author: mriou
Date: Wed Nov 19 10:08:11 2008
New Revision: 719016

URL: http://svn.apache.org/viewvc?rev=719016&view=rev
Log:
Fixing what I broke previously for REST stuff. Back to 100% test success.

Modified:
    ode/sandbox/simpel/Rakefile
    ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g
    ode/sandbox/simpel/src/main/java/org/apache/ode/simpel/omodel/OBuilder.java
    ode/sandbox/simpel/src/test/java/org/apache/ode/rest/RestfulProcessTest.java

Modified: ode/sandbox/simpel/Rakefile
URL: 
http://svn.apache.org/viewvc/ode/sandbox/simpel/Rakefile?rev=719016&r1=719015&r2=719016&view=diff
==============================================================================
--- ode/sandbox/simpel/Rakefile (original)
+++ ode/sandbox/simpel/Rakefile Wed Nov 19 10:08:11 2008
@@ -79,7 +79,6 @@
         walker_txt.insert(insrt_idx + offset, txt)
       end
     end
-    patch_walker[/SimPELWalker.g(.*)ns_id$/, 51, "ids = 
(LinkedListTree)input.LT(1);"]
     patch_walker[/SimPELWalker.g(.*) \( path_expr \)$/, 37, "lv = 
(LinkedListTree)input.LT(1);"]
     patch_walker[/SimPELWalker.g(.*) \( rvalue \)$/, 34, "rv = 
(LinkedListTree)input.LT(1);"]
     patch_walker[/SimPELWalker.g(.*) \( expr \)$/, 34, "e = 
(LinkedListTree)input.LT(1);"]

Modified: 
ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g
URL: 
http://svn.apache.org/viewvc/ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g?rev=719016&r1=719015&r2=719016&view=diff
==============================================================================
--- 
ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g 
(original)
+++ 
ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g 
Wed Nov 19 10:08:11 2008
@@ -218,6 +218,8 @@
             OBuilder.StructuredActivity<OPickReceive> rec = 
builder.build(OPickReceive.class, $BPELScope::oscope,
                 $Parent::activity, text($p), text($o));
                    $ReceiveBlock::activity = rec.getOActivity();
+            // TODO support for multiple "correlations"
+            if ($correlation.corr != null) 
builder.addCorrelationMatch($ReceiveBlock::activity, $correlation.corr); 
                } )
                (prb=(param_block))?;
 
@@ -275,8 +277,9 @@
        :       ^(PARTNERLINK ID+);
 
 correlation
+returns [List corr]
        :       ^(CORRELATION (corr_mapping {
-               builder.addCorrelationMatch($ReceiveBlock::activity, 
$corr_mapping.corr); 
+               corr = $corr_mapping.corr;
            } )+);
 corr_mapping
 returns [List corr]
@@ -304,10 +307,18 @@
 funct_call
        :       ^(CALL ID expr*);
 path_expr
-       :       ^(PATH ids=(ns_id+)) { 
-        builder.addExprVariable($BPELScope::oscope, $ExprContext::expr, 
deepText($ids));
-    };
-ns_id  :       ^(NS ID? ID);
+       :       ^(PATH {
+               StringBuffer buff = new StringBuffer();
+           }
+           (i=ns_id {
+               if (buff.length() > 0) buff.append(".");
+               buff.append($i.qid);
+           } )+) {
+            builder.addExprVariable($BPELScope::oscope, $ExprContext::expr, 
buff.toString());
+        };
+ns_id
+returns [String qid]
+    :  ^(NS p=ID? n=ID) { qid = p == null ? n.getText() : (p.getText() + "::" 
+ n.getText()); };
 
 s_expr :       ^('==' s_expr s_expr) 
        |       ^('!=' s_expr s_expr) 

Modified: 
ode/sandbox/simpel/src/main/java/org/apache/ode/simpel/omodel/OBuilder.java
URL: 
http://svn.apache.org/viewvc/ode/sandbox/simpel/src/main/java/org/apache/ode/simpel/omodel/OBuilder.java?rev=719016&r1=719015&r2=719016&view=diff
==============================================================================
--- ode/sandbox/simpel/src/main/java/org/apache/ode/simpel/omodel/OBuilder.java 
(original)
+++ ode/sandbox/simpel/src/main/java/org/apache/ode/simpel/omodel/OBuilder.java 
Wed Nov 19 10:08:11 2008
@@ -157,8 +157,8 @@
                 throw new RuntimeException("Unknown resource declared in 
receive: " + partnerLinkOrResource);
             onMessage.resource.setMethod("POST");
         } else {
-            onMessage.operation = 
onMessage.partnerLink.myRolePortType.getOperation(operation, null, null);
             onMessage.partnerLink = buildPartnerLink(oscope, 
partnerLinkOrResource, operation, true, true);
+            onMessage.operation = 
onMessage.partnerLink.myRolePortType.getOperation(operation, null, null);
         }
 
         if (_oprocess.firstReceive == null) {
@@ -274,6 +274,7 @@
             __log.warn("Skipping expression building, null expr");
             return;
         }
+        if (varName.indexOf(".") > 0) varName = varName.split("\\.")[0];
         expr.addVariable(resolveVariable(oscope, varName));
     }
 

Modified: 
ode/sandbox/simpel/src/test/java/org/apache/ode/rest/RestfulProcessTest.java
URL: 
http://svn.apache.org/viewvc/ode/sandbox/simpel/src/test/java/org/apache/ode/rest/RestfulProcessTest.java?rev=719016&r1=719015&r2=719016&view=diff
==============================================================================
--- 
ode/sandbox/simpel/src/test/java/org/apache/ode/rest/RestfulProcessTest.java 
(original)
+++ 
ode/sandbox/simpel/src/test/java/org/apache/ode/rest/RestfulProcessTest.java 
Wed Nov 19 10:08:11 2008
@@ -15,9 +15,10 @@
 
     private static final String HELLO_WORLD =
             "process HelloWorld {\n" +
-            "   receive(myPl, helloOp) { |msgIn|\n" +
-            "       msgOut = msgIn + \" World\";\n" +
-            "       reply(msgOut);\n" +
+            "   helloRes = resource(\"/hello\"); \n" +
+            "   receive(helloRes) { |name|\n" +
+            "       helloName = \"Hello \" + name;\n" +
+            "       reply(helloName);\n" +
             "   }\n" +
             "}";
 
@@ -31,22 +32,10 @@
         ClientConfig cc = new DefaultClientConfig();
         Client c = Client.create(cc);
 
-        WebResource wr = c.resource("http://localhost:3033/ode";);
+        WebResource wr = c.resource("http://localhost:3033";);
         String processes = 
wr.path("/").accept("application/xml").get(String.class);
-        assertTrue(processes.indexOf("HelloWorld") > 0);
-
         System.out.println("=> " + processes);
-        Element processesElmt = DOMUtils.stringToDOM(processes);
-        NodeList processNL = processesElmt.getElementsByTagName("process");
-        assertTrue(processNL.getLength() > 0);
-        assertEquals("process", processNL.item(0).getNodeName());
-
-        String processUrl = processNL.item(0).getTextContent();
-
-        String process = 
wr.path(processUrl).accept("application/xml").get(String.class);
-        System.out.println("=> " + process);
-
-        Thread.sleep(10000);
+        assertTrue(processes.indexOf("/hello") > 0);
 
         // Check different representations (html, xml)
         // Links to instance list search, process start url, process start form


Reply via email to