summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2011-03-29 23:39:48 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2011-03-29 23:39:48 +0000
commit347b86dcc1d4ed63ca4197065b4bf4e60f7f00f6 (patch)
tree4e8aa6a5c902f91332b05aa9dd31d3906f3ec844 /sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services
parentaaa866c9f83ecb2a01f87fc91e0a03334e474d3c (diff)
Allow WebApplicationException to pass back to wink so that the correct response code is returned
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1086805 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services')
-rw-r--r--sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services/customer/CustomerService.java5
-rw-r--r--sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services/customer/CustomerServiceImpl.java19
2 files changed, 17 insertions, 7 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services/customer/CustomerService.java b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services/customer/CustomerService.java
index 94ebc1e1b8..403804e95e 100644
--- a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services/customer/CustomerService.java
+++ b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services/customer/CustomerService.java
@@ -23,6 +23,8 @@ import javax.jws.WebResult;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;
import org.oasisopen.sca.annotation.Remotable;
@@ -32,7 +34,8 @@ public interface CustomerService {
@GET
@WebResult(name = "Customer", targetNamespace = "")
- Customer get();
+ @Path("{name}")
+ Customer get(@PathParam("name") String name);
@GET
@WebResult(name = "Customer", targetNamespace = "")
diff --git a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services/customer/CustomerServiceImpl.java b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services/customer/CustomerServiceImpl.java
index 22e63e0f91..d0f2809cd6 100644
--- a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services/customer/CustomerServiceImpl.java
+++ b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/test/java/services/customer/CustomerServiceImpl.java
@@ -23,7 +23,9 @@ import java.net.URI;
import java.util.HashMap;
import java.util.Map;
+import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
import org.oasisopen.sca.annotation.Init;
import org.oasisopen.sca.annotation.Scope;
@@ -37,21 +39,26 @@ public class CustomerServiceImpl implements CustomerService {
customers.put("John", new Customer("John", "John", "john@domain.com"));
}
- public Customer get() {
- return customers.values().iterator().next();
+ public Customer get(String name) {
+ Customer c = customers.get(name);
+ if (c == null) {
+ // Not found
+ throw new WebApplicationException(Status.NOT_FOUND);
+ }
+ return c;
}
-
+
public Response getResponse() {
- return Response.ok(get()).build();
+ return Response.ok(get("John")).build();
}
public Response addCustomer(Customer customer) {
customers.put(customer.getName(), customer);
return Response.created(URI.create("/001")).build();
}
-
+
public void updateCustomer(Customer customer) {
- if(customers.get(customer.getName()) != null) {
+ if (customers.get(customer.getName()) != null) {
customers.put(customer.getName(), customer);
}
}