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