diff --git a/wsexample/server/pom.xml b/wsexample/server/pom.xml
deleted file mode 100644
index 2bdf8d0f..00000000
--- a/wsexample/server/pom.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-
-
-
-
- 4.0.0
- com.google.code.gson
- wsexampleserver
- jar
- 0.1
- Gson Web Service Example Client
- An example for Writing Clients for JSON based Web-services
-
-
- local.repo
- file repository to svn
- file://${basedir}/../../../mavenrepo
-
-
-
-
- gson
- http://google-gson.googlecode.com/svn/mavenrepo
-
- true
-
-
- true
-
-
-
-
-
- The Apache Software License, Version 2.0
- http://www.apache.org/licenses/LICENSE-2.0.txt
- repo
-
-
-
- scm:svn:http://google-gson.googlecode.com/svn/trunk/wsexample/server
- scm:svn:https://google-gson.googlecode.com/svn/trunk/wsexample/server
- http://google-gson.codegoogle.com/svn/trunk/wsexample/server
-
-
- Google Code Issue Tracking
- http://code.google.com/p/google-gson/issues/list
-
-
-
-
-
-
- com.google.code.gson
- gson
- 1.5
- compile
-
-
- com.google.code.greaze
- greaze-definition
- 0.5
- compile
-
-
- com.google.code.gson
- wsf
- 0.1
- compile
-
-
- com.google.code.gson
- wsexampledef
- 0.1
- compile
-
-
-
-
- javax.servlet
- servlet-api
- 2.4
- provided
-
-
-
- junit
- junit
- 3.8.2
- test
-
-
-
-
- wsexampleserver
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 1.6
- 1.6
-
-
-
- org.apache.maven.plugins
- maven-eclipse-plugin
-
- true
- true
- ../../eclipse-ws
- file:///${basedir}/../../lib/gson-formatting-styles.xml
- 1.5
-
-
-
- org.apache.maven.plugins
- maven-install-plugin
-
-
-
- org.mortbay.jetty
- maven-jetty-plugin
-
- 10
-
-
-
- org.apache.maven.plugins
- maven-jxr-plugin
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
-
-
- attach-sources
- verify
-
- jar
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
-
- src/main/resources/javadoc-descriptor.xml
-
- http://java.sun.com/j2se/1.5.0/docs/api/
-
- true
- true
- public
-
-
-
- org.apache.maven.plugins
- maven-pmd-plugin
-
- 1.5
-
- /rulesets/basic.xml
- /rulesets/imports.xml
- /rulesets/unusedcode.xml
- /rulesets/finalizers.xml
-
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
-
-
- config/maven_checks.xml
-
-
-
- org.codehaus.mojo
- taglist-maven-plugin
-
-
- TODO
- @todo
- FIXME
- XXX
-
-
-
-
- org.codehaus.mojo
- cobertura-maven-plugin
-
-
- clean
-
- clean
-
-
-
-
-
- org.apache.maven.plugins
- maven-release-plugin
-
- -DenableCiProfile=true
-
-
-
- maven-assembly-plugin
-
- src/main/resources/assembly-descriptor.xml
- wsexampleserver-${version}
- target/dist
- target/assembly/work
-
-
-
-
-
-
- Inderjeet Singh
- Google Inc.
-
-
-
diff --git a/wsexample/server/src/main/java/com/google/gson/wsexample/server/MainServlet.java b/wsexample/server/src/main/java/com/google/gson/wsexample/server/MainServlet.java
deleted file mode 100644
index ac6f9482..00000000
--- a/wsexample/server/src/main/java/com/google/gson/wsexample/server/MainServlet.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.google.gson.wsexample.server;
-
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import com.google.greaze.definition.CallPath;
-
-/**
- * An example servlet that receives JSON web-service requests
- *
- * @author inder
- */
-@SuppressWarnings("serial")
-public class MainServlet extends HttpServlet {
- private final RestDispatcher restDispatcher;
- private final ProcedureDispatcher procedureDispatcher;
-
- public MainServlet() {
- this.restDispatcher = new RestDispatcher();
- this.procedureDispatcher = new ProcedureDispatcher();
- }
-
- @Override
- public void service(HttpServletRequest req, HttpServletResponse res) {
- String servletPath = req.getServletPath();
- int index = "/wsexampleserver".length();
- CallPath callPath = new CallPath(servletPath.substring(index));
- String path = callPath.get();
- if (path.startsWith("/rest")) {
- restDispatcher.service(req, res, callPath);
- } else if (path.startsWith("/procedure")) {
- procedureDispatcher.service(req, res);
- }
- }
-}
diff --git a/wsexample/server/src/main/java/com/google/gson/wsexample/server/ProcedureDispatcher.java b/wsexample/server/src/main/java/com/google/gson/wsexample/server/ProcedureDispatcher.java
deleted file mode 100644
index 01d25703..00000000
--- a/wsexample/server/src/main/java/com/google/gson/wsexample/server/ProcedureDispatcher.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.google.gson.wsexample.server;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import com.google.greaze.definition.HeaderMap;
-import com.google.greaze.definition.webservice.RequestBody;
-import com.google.greaze.definition.webservice.RequestBodyGsonConverter;
-import com.google.greaze.definition.webservice.RequestSpec;
-import com.google.greaze.definition.webservice.ResponseBody;
-import com.google.greaze.definition.webservice.ResponseBodyGsonConverter;
-import com.google.greaze.definition.webservice.ResponseSpec;
-import com.google.greaze.definition.webservice.WebServiceCallSpec;
-import com.google.greaze.definition.webservice.WebServiceRequest;
-import com.google.greaze.definition.webservice.WebServiceResponse;
-import com.google.greaze.example.definition.model.Cart;
-import com.google.greaze.example.definition.model.Order;
-import com.google.greaze.example.definition.model.TypedKeys;
-import com.google.greaze.example.definition.service.SampleJsonService;
-import com.google.greaze.webservice.server.RequestReceiver;
-import com.google.greaze.webservice.server.ResponseSender;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-
-/**
- * A dispatcher for all the procedural calls
- *
- * @author Inderjeet Singh
- */
-public final class ProcedureDispatcher {
- public void service(HttpServletRequest req, HttpServletResponse res) {
- WebServiceCallSpec spec = SampleJsonService.PLACE_ORDER;
- RequestSpec requestSpec = spec.getRequestSpec();
- ResponseSpec responseSpec = spec.getResponseSpec();
- Gson gson = new GsonBuilder()
- .registerTypeAdapter(RequestBody.class,
- new RequestBodyGsonConverter(requestSpec.getBodySpec()))
- .registerTypeAdapter(ResponseBody.class,
- new ResponseBodyGsonConverter(responseSpec.getBodySpec()))
- .create();
- RequestReceiver requestReceiver = new RequestReceiver(gson, requestSpec);
- WebServiceRequest webServiceRequest = requestReceiver.receive(req);
-
- Cart cart = webServiceRequest.getBody().get(TypedKeys.RequestBody.CART);
- String authToken = webServiceRequest.getHeader(TypedKeys.Request.AUTH_TOKEN);
-
- Order order = placeOrder(cart, authToken);
-
- // Empty headers per the spec
- HeaderMap responseHeaders = new HeaderMap.Builder(responseSpec.getHeadersSpec()).build();
- ResponseBody responseBody = new ResponseBody.Builder(responseSpec.getBodySpec())
- .put(TypedKeys.ResponseBody.ORDER, order)
- .build();
- WebServiceResponse response = new WebServiceResponse(responseHeaders, responseBody);
- ResponseSender responseSender = new ResponseSender(gson);
- responseSender.send(res, response);
- }
-
- private Order placeOrder(Cart cart, String authToken) {
- // Create an order, in this case a dummy one.
- return new Order(cart, "Order123");
- }
-}
diff --git a/wsexample/server/src/main/java/com/google/gson/wsexample/server/RestDispatcher.java b/wsexample/server/src/main/java/com/google/gson/wsexample/server/RestDispatcher.java
deleted file mode 100644
index 2b426e99..00000000
--- a/wsexample/server/src/main/java/com/google/gson/wsexample/server/RestDispatcher.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.google.gson.wsexample.server;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import com.google.greaze.definition.CallPath;
-import com.google.greaze.definition.rest.IDFactory;
-import com.google.greaze.definition.rest.MetaData;
-import com.google.greaze.definition.rest.ResourceMap;
-import com.google.greaze.definition.rest.RestCallSpec;
-import com.google.greaze.definition.rest.RestRequest;
-import com.google.greaze.definition.rest.RestResponse;
-import com.google.greaze.definition.rest.ValueBasedId;
-import com.google.greaze.example.definition.model.Cart;
-import com.google.greaze.example.definition.model.Order;
-import com.google.greaze.example.definition.service.ServicePaths;
-import com.google.greaze.rest.server.Repository;
-import com.google.greaze.rest.server.RepositoryInMemory;
-import com.google.greaze.rest.server.ResponseBuilderMap;
-import com.google.greaze.rest.server.RestRequestReceiver;
-import com.google.greaze.rest.server.RestResponseBuilder;
-import com.google.greaze.rest.server.RestResponseSender;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-
-/**
- * A dispatcher for all the REST requests
- *
- * @author Inderjeet Singh
- */
-public final class RestDispatcher {
- private static final double CURRENT_VERSION = 1D;
- private final ResourceMap resourceMap;
- private final ResponseBuilderMap responseBuilders;
- private final RestCallSpec cartSpec;
- private final RestCallSpec orderSpec;
- private final Gson gson;
-
- public RestDispatcher() {
- this.cartSpec = new RestCallSpec.Builder(ServicePaths.CART.getCallPath(), Cart.class)
- .setVersion(CURRENT_VERSION)
- .build();
- this.orderSpec = new RestCallSpec.Builder(ServicePaths.CART.getCallPath(), Cart.class)
- .setVersion(CURRENT_VERSION)
- .build();
- this.resourceMap = new ResourceMap.Builder()
- .set(ServicePaths.CART.getCallPath(), cartSpec)
- .set(ServicePaths.ORDER.getCallPath(), orderSpec)
- .build();
- gson = new GsonBuilder()
- .setVersion(CURRENT_VERSION)
- .registerTypeAdapter(ValueBasedId.class, new ValueBasedId.GsonTypeAdapter())
- .registerTypeAdapter(MetaData.class, new MetaData.GsonTypeAdapter())
- .create();
- Repository, Cart> carts =
- new RepositoryInMemory, Cart>(ValueBasedId.class, Cart.class);
- Repository, Order> orders =
- new RepositoryInMemory, Order>(ValueBasedId.class, Order.class);
- responseBuilders = new ResponseBuilderMap.Builder()
- .set(cartSpec.getResourceType(), new RestResponseBuilder, Cart>(carts))
- .set(orderSpec.getResourceType(), new RestResponseBuilder, Order>(orders))
- .build();
- }
-
- public IDFactory> getIDFactory(RestCallSpec callSpec) {
- return new IDFactory>(ValueBasedId.class, callSpec.getResourceType());
- }
-
- @SuppressWarnings({"rawtypes", "unchecked"})
- public RestRequest getRestRequest(Gson gson, RestCallSpec callSpec, CallPath callPath,
- HttpServletRequest request, IDFactory> idFactory) {
- RestRequestReceiver requestReceiver = new RestRequestReceiver(gson, callSpec.getRequestSpec());
- return requestReceiver.receive(request, idFactory.createId(callPath.getResourceId()));
- }
-
- @SuppressWarnings({"rawtypes", "unchecked"})
- public void service(HttpServletRequest req, HttpServletResponse res, CallPath callPath) {
- RestCallSpec callSpec = resourceMap.get(callPath).createCopy(callPath);
- @SuppressWarnings("rawtypes")
- RestRequestReceiver requestReceiver = new RestRequestReceiver(gson, callSpec.getRequestSpec());
- IDFactory> idFactory = getIDFactory(callSpec);
- RestRequest, ?> restRequest = getRestRequest(gson, callSpec, callPath, req, idFactory);
- RestResponse.Builder response = new RestResponse.Builder(callSpec.getResponseSpec());
- RestResponseBuilder responseBuilder = responseBuilders.get(callSpec.getResourceType());
- responseBuilder.buildResponse(callSpec, restRequest, response);
- RestResponse restResponse = response.build();
- RestResponseSender responseSender = new RestResponseSender(gson);
- responseSender.send(res, restResponse);
- }
-}