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"));
     }
 }


Reply via email to