You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by jl...@apache.org on 2007/10/14 21:13:13 UTC
svn commit: r584583 - in /incubator/cxf/branches/jliu:
distribution/src/main/release/samples/
distribution/src/main/release/samples/restful_jaxrs/
distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/client/
distribution/src/main/release/...
Author: jliu
Date: Sun Oct 14 12:13:12 2007
New Revision: 584583
URL: http://svn.apache.org/viewvc?rev=584583&view=rev
Log:
Update jax-rs demo.
Modified:
incubator/cxf/branches/jliu/distribution/src/main/release/samples/common_build.xml
incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/README.txt
incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/client/Client.java
incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/server/CustomerService.java
incubator/cxf/branches/jliu/systests/src/test/java/org/apache/cxf/systest/jaxrs/BookServer.java
Modified: incubator/cxf/branches/jliu/distribution/src/main/release/samples/common_build.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/jliu/distribution/src/main/release/samples/common_build.xml?rev=584583&r1=584582&r2=584583&view=diff
==============================================================================
--- incubator/cxf/branches/jliu/distribution/src/main/release/samples/common_build.xml (original)
+++ incubator/cxf/branches/jliu/distribution/src/main/release/samples/common_build.xml Sun Oct 14 12:13:12 2007
@@ -112,8 +112,8 @@
</javac>
<copy todir="${build.classes.dir}">
- <fileset dir="${basedir}/src" includes="**/*.xml" />
- <fileset dir="${build.src.dir}" includes="**/*.xml" />
+ <fileset dir="${basedir}/src" includes="**/*.xml, **/*.txt" />
+ <fileset dir="${build.src.dir}" includes="**/*.xml, **/*.txt" />
</copy>
</target>
Modified: incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/README.txt
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/README.txt?rev=584583&r1=584582&r2=584583&view=diff
==============================================================================
--- incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/README.txt (original)
+++ incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/README.txt Sun Oct 14 12:13:12 2007
@@ -6,28 +6,36 @@
A RESTful customer service is provided on URL http://localhost:9000/customers.
Users access this URI to operate on customer.
-A HTTP GET request to URL http://localhost:9000/customers/1234
-returns a customer instance whose id is 1234. The XML document returned:
+A HTTP GET request to URL http://localhost:9000/customerservice/customers/123
+returns a customer instance whose id is 123. The XML document returned:
<Customer>
- <id>1234</id>
+ <id>123</id>
<name>John</name>
- <phoneNumber>123456</phoneNumber>
</Customer>
-A HTTP POST request to URL http://localhost:9000/customers
+A HTTP POST request to URL http://localhost:9000/customerservice/customers
with the data:
<Customer>
- <id>1234</id>
+ <name>Jack</name>
+</Customer>
+
+adds a customer whose name is Jack
+
+
+A HTTP PUT request to URL http://localhost:9000/customerservice/customers
+with the data:
+
+<Customer>
+ <id>123</id>
<name>John</name>
- <phoneNumber>123456</phoneNumber>
</Customer>
-updates customer 1234 with the data provided.
+updates the customer instance whose id is 123
+
-The client code demonstrates how to send HTTP POST with XML data using
-JAX-WS Dispatch and how to send HTTP GET using URL.openStream(). The
+The client code demonstrates how to send HTTP GET/POST/PUT/DELETE request. The
server code demonstrates how to build a RESTful endpoints through
JAX-RS (JSR-311) APIs.
Modified: incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/client/Client.java
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/client/Client.java?rev=584583&r1=584582&r2=584583&view=diff
==============================================================================
--- incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/client/Client.java (original)
+++ incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/client/Client.java Sun Oct 14 12:13:12 2007
@@ -47,16 +47,17 @@
*/
// Sent HTTP GET request to query customer info
- URL url = new URL("http://localhost:9000/customers/123");
- System.out.println("Invoking server through HTTP GET to query customer info");
+ System.out.println("Sent HTTP GET request to query customer info");
+ URL url = new URL("http://localhost:9000/customerservice/customers/123");
InputStream in = url.openStream();
System.out.println(getStringFromInputStream(in));
// Sent HTTP PUT request to update customer info
+ System.out.println("Sent HTTP PUT request to update customer info");
Client client = new Client();
String inputFile = client.getClass().getResource("update_customer.txt").getFile();
File input = new File(inputFile);
- PutMethod put = new PutMethod("http://localhost:9000/customers");
+ PutMethod put = new PutMethod("http://localhost:9000/customerservice/customers");
RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
put.setRequestEntity(entity);
HttpClient httpclient = new HttpClient();
@@ -73,9 +74,10 @@
}
// Sent HTTP POST request to add customer
+ System.out.println("Sent HTTP POST request to add customer");
inputFile = client.getClass().getResource("add_customer.txt").getFile();
input = new File(inputFile);
- PostMethod post = new PostMethod("http://localhost:9000/customers");
+ PostMethod post = new PostMethod("http://localhost:9000/customerservice/customers");
entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
post.setRequestEntity(entity);
httpclient = new HttpClient();
@@ -90,6 +92,13 @@
// done
post.releaseConnection();
}
+
+ // Sent HTTP GET request to query customer info, expect JSON.
+ System.out.println("Sent HTTP GET request to query customer info");
+ url = new URL("http://localhost:9000/customerservice/customersjson/123");
+ in = url.openStream();
+ System.out.println(getStringFromInputStream(in));
+
System.out.println("Client Invoking is succeeded!");
System.exit(0);
Modified: incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/server/CustomerService.java
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/server/CustomerService.java?rev=584583&r1=584582&r2=584583&view=diff
==============================================================================
--- incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/server/CustomerService.java (original)
+++ incubator/cxf/branches/jliu/distribution/src/main/release/samples/restful_jaxrs/src/demo/jaxrs/server/CustomerService.java Sun Oct 14 12:13:12 2007
@@ -22,14 +22,14 @@
import java.util.Map;
import javax.ws.rs.HttpMethod;
-// import javax.ws.rs.ProduceMime;
+import javax.ws.rs.ProduceMime;
import javax.ws.rs.UriParam;
import javax.ws.rs.UriTemplate;
import javax.ws.rs.core.HttpContext;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-@UriTemplate("/customers/")
+@UriTemplate("/customerservice/")
public class CustomerService {
@HttpContext UriInfo uriInfo;
@@ -43,9 +43,10 @@
@HttpMethod("GET")
@UriTemplate("/customers/{id}/")
- Customer getCustomer(@UriParam("id") String id) {
+ public Customer getCustomer(@UriParam("id") String id) {
System.out.println("----invoking getCustomer, Customer id is: " + id);
- Customer c = customers.get(id);
+ long idNumber = Long.parseLong(id);
+ Customer c = customers.get(idNumber);
return c;
}
@@ -66,9 +67,9 @@
}
@HttpMethod("POST")
- @UriTemplate("/customers")
+ @UriTemplate("/customers/")
public Response addCustomer(Customer customer) {
- System.out.println("----invoking addCustomer, customer name is: " + customer.getName());
+ System.out.println("----invoking addCustomer, Customer name is: " + customer.getName());
customer.setId(++currentId);
customers.put(customer.getId(), customer);
@@ -79,9 +80,8 @@
@HttpMethod("DELETE")
@UriTemplate("/customers/{id}/")
public Response deleteCustomer(@UriParam("id") String id) {
- System.out.println("----invoking deleteCustomer with id: " + id);
+ System.out.println("----invoking deleteCustomer, Customer id is: " + id);
long idNumber = Long.parseLong(id);
- boolean found = false;
Customer c = customers.get(idNumber);
Response r;
@@ -93,6 +93,22 @@
}
return r;
+ }
+
+ @HttpMethod("GET")
+ @UriTemplate("/customersjson/{id}/")
+ @ProduceMime("application/json")
+ public Customer getCustomerJSON(@UriParam("id") String id) {
+ System.out.println("----invoking getCustomerJSON, Customer id is: " + id);
+ long idNumber = Long.parseLong(id);
+ Customer c = customers.get(idNumber);
+ return c;
+ }
+
+ //FIXME: wont work if remove this method, has to set hasSubResource to true
+ @UriTemplate("/items")
+ public Response getItem(@UriParam("id") String id) {
+ return null;
}
final Customer createCustomer() {
Modified: incubator/cxf/branches/jliu/systests/src/test/java/org/apache/cxf/systest/jaxrs/BookServer.java
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/jliu/systests/src/test/java/org/apache/cxf/systest/jaxrs/BookServer.java?rev=584583&r1=584582&r2=584583&view=diff
==============================================================================
--- incubator/cxf/branches/jliu/systests/src/test/java/org/apache/cxf/systest/jaxrs/BookServer.java (original)
+++ incubator/cxf/branches/jliu/systests/src/test/java/org/apache/cxf/systest/jaxrs/BookServer.java Sun Oct 14 12:13:12 2007
@@ -28,7 +28,7 @@
protected void run() {
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
- sf.setResourceClasses(BookStore.class);
+ sf.setResourceClasses(CustomerService.class);
sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
sf.setAddress("http://localhost:9080/xml/");