You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2008/11/19 19:08:12 UTC

svn commit: r719016 - in /ode/sandbox/simpel: Rakefile src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g src/main/java/org/apache/ode/simpel/omodel/OBuilder.java src/test/java/org/apache/ode/rest/RestfulProcessTest.java

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