Author: mriou
Date: Thu Oct 30 17:13:20 2008
New Revision: 709305
URL: http://svn.apache.org/viewvc?rev=709305&view=rev
Log:
First hello world RESTful process. Starts an instance with a simple post and
replies.
Modified:
ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g
ode/sandbox/simpel/src/main/java/org/apache/ode/rest/ProcessWebResource.java
ode/sandbox/simpel/src/main/java/org/apache/ode/simpel/omodel/OBuilder.java
ode/sandbox/simpel/src/test/java/org/apache/ode/simpel/RestfulSimPELTest.java
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=709305&r1=709304&r2=709305&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
Thu Oct 30 17:13:20 2008
@@ -268,7 +268,7 @@
e=(expr)? ID?) {
$ExprContext::expr.setExpr(deepText($e));
// The resource name is the lvalue of the assignment expression in
which this resource def is enclosed
- builder.addResourceDecl($ExprContext[-1]::expr.getLValue(),
$ExprContext::expr, text($ID));
+ builder.addResourceDecl($BPELScope::oscope,
$ExprContext[-1]::expr.getLValue(), $ExprContext::expr, text($ID));
};
partner_link
Modified:
ode/sandbox/simpel/src/main/java/org/apache/ode/rest/ProcessWebResource.java
URL:
http://svn.apache.org/viewvc/ode/sandbox/simpel/src/main/java/org/apache/ode/rest/ProcessWebResource.java?rev=709305&r1=709304&r2=709305&view=diff
==============================================================================
---
ode/sandbox/simpel/src/main/java/org/apache/ode/rest/ProcessWebResource.java
(original)
+++
ode/sandbox/simpel/src/main/java/org/apache/ode/rest/ProcessWebResource.java
Thu Oct 30 17:13:20 2008
@@ -66,8 +66,12 @@
if (mex.getResponse() == null) {
return Response.status(204).build();
} else {
- return Response.status(200).entity(
-
DOMUtils.domToString(DOMUtils.getFirstChildElement(DOMUtils.getFirstChildElement(mex.getResponse().getMessage())))).build();
+ return Response.status(200)
+
.entity(DOMUtils.domToString(DOMUtils.getFirstChildElement(DOMUtils
+
.getFirstChildElement(mex.getResponse().getMessage()))))
+ .type("application/xml")
+ .header("Location", mex.getResource().getUrl())
+ .build();
}
}
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=709305&r1=709304&r2=709305&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
Thu Oct 30 17:13:20 2008
@@ -303,9 +303,12 @@
}
}
- public void addResourceDecl(String resourceName, SimPELExpr pathExpr,
String resourceRef) {
+ public void addResourceDecl(OScope scope, String resourceName, SimPELExpr
pathExpr, String resourceRef) {
OResource res = new OResource(_oprocess);
res.setName(resourceName);
+ res.setDeclaringScope(scope);
+ scope.resource.put(resourceName, res);
+
if (pathExpr != null) {
pathExpr.expressionLanguage = _exprLang;
res.setSubpath(pathExpr);
@@ -317,6 +320,17 @@
" in the definition of resource " + resourceName);
res.setReference(reference);
}
+
+ // Creating a variable to make the resource accessible as one
+ OXsdTypeVarType resourceVarType = new OXsdTypeVarType(_oprocess);
+ resourceVarType.simple = true;
+ resourceVarType.xsdType = new
QName("http://www.w3.org/2001/XMLSchema", "anyURI");
+ OScope.Variable resourceVar = new OScope.Variable(_oprocess,
resourceVarType);
+ resourceVar.name = resourceName;
+ resourceVar.declaringScope = scope;
+ variables.put(resourceName, resourceVar);
+ typedVariables.add(resourceName);
+
webResources.put(resourceName, res);
_oprocess.providedResources.add(res);
}
Modified:
ode/sandbox/simpel/src/test/java/org/apache/ode/simpel/RestfulSimPELTest.java
URL:
http://svn.apache.org/viewvc/ode/sandbox/simpel/src/test/java/org/apache/ode/simpel/RestfulSimPELTest.java?rev=709305&r1=709304&r2=709305&view=diff
==============================================================================
---
ode/sandbox/simpel/src/test/java/org/apache/ode/simpel/RestfulSimPELTest.java
(original)
+++
ode/sandbox/simpel/src/test/java/org/apache/ode/simpel/RestfulSimPELTest.java
Thu Oct 30 17:13:20 2008
@@ -6,6 +6,7 @@
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
+import com.sun.jersey.api.client.ClientResponse;
import javax.ws.rs.core.Response;
@@ -30,9 +31,9 @@
Client c = Client.create(cc);
WebResource wr = c.resource("http://localhost:3033/hello");
- Response resp =
wr.path("/").accept("application/xml").type("application/xml")
- .post(Response.class, "<wrapper>foo</wrapper>");
- System.out.println("=> " + resp.getEntity());
+ ClientResponse resp =
wr.path("/").accept("application/xml").type("application/xml")
+ .post(ClientResponse.class, "<simpelWrapper
xmlns=\"http://ode.apache.org/simpel/1.0/definition/HelloWorld\">foo</simpelWrapper>");
+ System.out.println("=> " + resp.getEntity(String.class));
System.out.println("loc " + resp.getMetadata().get("Location"));
}
}