moved contents of wsdef to greaze-definition.
diff --git a/wsclient/pom.xml b/wsclient/pom.xml
index 5c5ca63..cf19c5d 100644
--- a/wsclient/pom.xml
+++ b/wsclient/pom.xml
@@ -56,9 +56,9 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>wsdef</artifactId>
- <version>0.1</version>
+ <groupId>com.google.code.greaze</groupId>
+ <artifactId>greaze-definition</artifactId>
+ <version>0.5</version>
<scope>compile</scope>
</dependency>
diff --git a/wsclient/src/main/java/com/google/gson/rest/client/ResourceDepotClient.java b/wsclient/src/main/java/com/google/gson/rest/client/ResourceDepotClient.java
index c9e790f..6d93179 100644
--- a/wsclient/src/main/java/com/google/gson/rest/client/ResourceDepotClient.java
+++ b/wsclient/src/main/java/com/google/gson/rest/client/ResourceDepotClient.java
@@ -17,16 +17,16 @@
import java.lang.reflect.Type;
+import com.google.greaze.definition.CallPath;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HttpMethod;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.ResourceDepot;
+import com.google.greaze.definition.rest.RestCallSpec;
+import com.google.greaze.definition.rest.RestRequest;
+import com.google.greaze.definition.rest.RestResource;
+import com.google.greaze.definition.rest.RestResponse;
import com.google.gson.Gson;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.ResourceDepot;
-import com.google.gson.rest.definition.RestCallSpec;
-import com.google.gson.rest.definition.RestRequest;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.rest.definition.RestResponse;
-import com.google.gson.webservice.definition.CallPath;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HttpMethod;
/**
* A client class to access a rest resource
diff --git a/wsclient/src/main/java/com/google/gson/rest/client/RestClientStub.java b/wsclient/src/main/java/com/google/gson/rest/client/RestClientStub.java
index e6a8589..5469110 100644
--- a/wsclient/src/main/java/com/google/gson/rest/client/RestClientStub.java
+++ b/wsclient/src/main/java/com/google/gson/rest/client/RestClientStub.java
@@ -15,15 +15,15 @@
*/
package com.google.gson.rest.client;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.RestCallSpec;
+import com.google.greaze.definition.rest.RestRequest;
+import com.google.greaze.definition.rest.RestResource;
+import com.google.greaze.definition.rest.RestResponse;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.RestCallSpec;
-import com.google.gson.rest.definition.RestRequest;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.rest.definition.RestResponse;
import com.google.gson.webservice.client.ServerConfig;
-import com.google.gson.webservice.definition.WebServiceSystemException;
import java.io.IOException;
import java.net.HttpURLConnection;
diff --git a/wsclient/src/main/java/com/google/gson/rest/client/RestRequestSender.java b/wsclient/src/main/java/com/google/gson/rest/client/RestRequestSender.java
index b6db8b6..b758535 100644
--- a/wsclient/src/main/java/com/google/gson/rest/client/RestRequestSender.java
+++ b/wsclient/src/main/java/com/google/gson/rest/client/RestRequestSender.java
@@ -22,14 +22,14 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HeaderMapSpec;
+import com.google.greaze.definition.HttpMethod;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.RestRequest;
+import com.google.greaze.definition.rest.RestResource;
import com.google.gson.Gson;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.RestRequest;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.HttpMethod;
-import com.google.gson.webservice.definition.WebServiceSystemException;
import com.google.gson.wsclient.internal.utils.Streams;
/**
diff --git a/wsclient/src/main/java/com/google/gson/rest/client/RestResponseReceiver.java b/wsclient/src/main/java/com/google/gson/rest/client/RestResponseReceiver.java
index a7f6d01..5abdba6 100644
--- a/wsclient/src/main/java/com/google/gson/rest/client/RestResponseReceiver.java
+++ b/wsclient/src/main/java/com/google/gson/rest/client/RestResponseReceiver.java
@@ -25,15 +25,15 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+import com.google.greaze.definition.ContentBodySpec;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HeaderMapSpec;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.RestResource;
+import com.google.greaze.definition.rest.RestResponse;
+import com.google.greaze.definition.rest.RestResponseSpec;
import com.google.gson.Gson;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.rest.definition.RestResponse;
-import com.google.gson.rest.definition.RestResponseSpec;
-import com.google.gson.webservice.definition.ContentBodySpec;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.WebServiceSystemException;
import com.google.gson.wsclient.internal.utils.ConnectionPreconditions;
/**
diff --git a/wsclient/src/main/java/com/google/gson/rest/query/client/ResourceQueryClient.java b/wsclient/src/main/java/com/google/gson/rest/query/client/ResourceQueryClient.java
index 13dbfd9..fe6aecb 100644
--- a/wsclient/src/main/java/com/google/gson/rest/query/client/ResourceQueryClient.java
+++ b/wsclient/src/main/java/com/google/gson/rest/query/client/ResourceQueryClient.java
@@ -17,20 +17,20 @@
import java.util.List;
+import com.google.greaze.definition.CallPath;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HttpMethod;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.RestResource;
+import com.google.greaze.definition.rest.query.ResourceQuery;
+import com.google.greaze.definition.rest.query.TypedKeysQuery;
+import com.google.greaze.definition.webservice.RequestBody;
+import com.google.greaze.definition.webservice.ResponseBody;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.WebServiceRequest;
+import com.google.greaze.definition.webservice.WebServiceResponse;
import com.google.gson.Gson;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.rest.query.ResourceQuery;
-import com.google.gson.rest.query.TypedKeysQuery;
import com.google.gson.webservice.client.WebServiceClient;
-import com.google.gson.webservice.definition.CallPath;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HttpMethod;
-import com.google.gson.webservice.definition.procedural.RequestBody;
-import com.google.gson.webservice.definition.procedural.ResponseBody;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
-import com.google.gson.webservice.definition.procedural.WebServiceResponse;
/**
* A client to invoke {@link ResourceQuery}s associated with a REST resource
diff --git a/wsclient/src/main/java/com/google/gson/webservice/client/QueueConsumer.java b/wsclient/src/main/java/com/google/gson/webservice/client/QueueConsumer.java
index 350cc57..82300a7 100644
--- a/wsclient/src/main/java/com/google/gson/webservice/client/QueueConsumer.java
+++ b/wsclient/src/main/java/com/google/gson/webservice/client/QueueConsumer.java
@@ -17,9 +17,9 @@
import java.util.concurrent.BlockingQueue;
-import com.google.gson.webservice.definition.WebServiceSystemException;
-import com.google.gson.webservice.definition.procedural.WebServiceCall;
-import com.google.gson.webservice.definition.procedural.WebServiceResponse;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.webservice.WebServiceCall;
+import com.google.greaze.definition.webservice.WebServiceResponse;
/**
* A consumer that executes in its own thread consuming queue entries and invoking web-service calls
diff --git a/wsclient/src/main/java/com/google/gson/webservice/client/QueueEntry.java b/wsclient/src/main/java/com/google/gson/webservice/client/QueueEntry.java
index 4278972..8742ab7 100644
--- a/wsclient/src/main/java/com/google/gson/webservice/client/QueueEntry.java
+++ b/wsclient/src/main/java/com/google/gson/webservice/client/QueueEntry.java
@@ -15,8 +15,8 @@
*/
package com.google.gson.webservice.client;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.WebServiceRequest;
/**
* A holder class for an entry stored in queue. It contains references to the request, callspec,
diff --git a/wsclient/src/main/java/com/google/gson/webservice/client/RequestSender.java b/wsclient/src/main/java/com/google/gson/webservice/client/RequestSender.java
index 9ac7285..64a4f93 100644
--- a/wsclient/src/main/java/com/google/gson/webservice/client/RequestSender.java
+++ b/wsclient/src/main/java/com/google/gson/webservice/client/RequestSender.java
@@ -22,12 +22,12 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HeaderMapSpec;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.webservice.RequestBody;
+import com.google.greaze.definition.webservice.WebServiceRequest;
import com.google.gson.Gson;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.WebServiceSystemException;
-import com.google.gson.webservice.definition.procedural.RequestBody;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
import com.google.gson.wsclient.internal.utils.Streams;
/**
diff --git a/wsclient/src/main/java/com/google/gson/webservice/client/ResponseCallback.java b/wsclient/src/main/java/com/google/gson/webservice/client/ResponseCallback.java
index 97262ee..c4e0283 100644
--- a/wsclient/src/main/java/com/google/gson/webservice/client/ResponseCallback.java
+++ b/wsclient/src/main/java/com/google/gson/webservice/client/ResponseCallback.java
@@ -15,10 +15,10 @@
*/
package com.google.gson.webservice.client;
-import com.google.gson.webservice.definition.WebServiceSystemException;
-import com.google.gson.webservice.definition.procedural.WebServiceCall;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.webservice.WebServiceCall;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.WebServiceRequest;
/**
* A client-supplied callback to be used with {@link WebServiceClientAsync}. When a web-service
diff --git a/wsclient/src/main/java/com/google/gson/webservice/client/ResponseReceiver.java b/wsclient/src/main/java/com/google/gson/webservice/client/ResponseReceiver.java
index d1b8c44..4e6648f 100644
--- a/wsclient/src/main/java/com/google/gson/webservice/client/ResponseReceiver.java
+++ b/wsclient/src/main/java/com/google/gson/webservice/client/ResponseReceiver.java
@@ -25,14 +25,14 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HeaderMapSpec;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.webservice.ResponseBody;
+import com.google.greaze.definition.webservice.ResponseBodySpec;
+import com.google.greaze.definition.webservice.ResponseSpec;
+import com.google.greaze.definition.webservice.WebServiceResponse;
import com.google.gson.Gson;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.WebServiceSystemException;
-import com.google.gson.webservice.definition.procedural.ResponseBody;
-import com.google.gson.webservice.definition.procedural.ResponseBodySpec;
-import com.google.gson.webservice.definition.procedural.ResponseSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceResponse;
import com.google.gson.wsclient.internal.utils.ConnectionPreconditions;
/**
diff --git a/wsclient/src/main/java/com/google/gson/webservice/client/WebServiceClient.java b/wsclient/src/main/java/com/google/gson/webservice/client/WebServiceClient.java
index 25c720d..cc82f20 100644
--- a/wsclient/src/main/java/com/google/gson/webservice/client/WebServiceClient.java
+++ b/wsclient/src/main/java/com/google/gson/webservice/client/WebServiceClient.java
@@ -22,14 +22,14 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.webservice.ResponseBody;
+import com.google.greaze.definition.webservice.ResponseBodyGsonConverter;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.WebServiceRequest;
+import com.google.greaze.definition.webservice.WebServiceResponse;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-import com.google.gson.webservice.definition.WebServiceSystemException;
-import com.google.gson.webservice.definition.procedural.ResponseBody;
-import com.google.gson.webservice.definition.procedural.ResponseBodyGsonConverter;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
-import com.google.gson.webservice.definition.procedural.WebServiceResponse;
/**
* Main class used by clients to access a Gson Web service.
diff --git a/wsclient/src/main/java/com/google/gson/webservice/client/WebServiceClientAsync.java b/wsclient/src/main/java/com/google/gson/webservice/client/WebServiceClientAsync.java
index 885304e..9795165 100644
--- a/wsclient/src/main/java/com/google/gson/webservice/client/WebServiceClientAsync.java
+++ b/wsclient/src/main/java/com/google/gson/webservice/client/WebServiceClientAsync.java
@@ -19,9 +19,9 @@
import java.util.concurrent.LinkedBlockingQueue;
import java.util.logging.Level;
-import com.google.gson.webservice.definition.WebServiceSystemException;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.WebServiceRequest;
/**
* A client for invoking a JSON-based Web-service in an asynchronous manner. The call is queued,
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/HasId.java b/wsdef/src/main/java/com/google/gson/rest/definition/HasId.java
deleted file mode 100644
index 39b4831..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/HasId.java
+++ /dev/null
@@ -1,29 +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.rest.definition;
-
-/**
- * An interface to indicate that an object has an Id
- *
- * @author inder
- *
- * @param <R> type of object
- */
-public interface HasId<I extends ID> {
- public I getId();
- public void setId(I id);
- public boolean hasId();
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/ID.java b/wsdef/src/main/java/com/google/gson/rest/definition/ID.java
deleted file mode 100644
index 55bba6e..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/ID.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.google.gson.rest.definition;
-
-public interface ID {
- public static final long INVALID_ID = -1L;
-
- public long getValue();
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/IDFactory.java b/wsdef/src/main/java/com/google/gson/rest/definition/IDFactory.java
deleted file mode 100644
index 87d30e9..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/IDFactory.java
+++ /dev/null
@@ -1,43 +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.rest.definition;
-
-import java.lang.reflect.Type;
-
-/**
- * A factory to create {@link ValueBasedId)s
- *
- * @author inder
- *
- * @param <I>
- */
-public class IDFactory<I extends ID> {
- private final Class<? super I> classOfI;
- private final Type typeOfId;
-
- public IDFactory(Class<? super I> classOfI, Type typeOfId) {
- this.classOfI = classOfI;
- this.typeOfId = typeOfId;
- }
-
- @SuppressWarnings("unchecked")
- public I createId(long value) {
- if (classOfI.isAssignableFrom(ValueBasedId.class)) {
- return (I)ValueBasedId.get(value, typeOfId);
- }
- throw new UnsupportedOperationException();
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/MetaData.java b/wsdef/src/main/java/com/google/gson/rest/definition/MetaData.java
deleted file mode 100644
index f3c7a00..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/MetaData.java
+++ /dev/null
@@ -1,124 +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.rest.definition;
-
-import java.lang.reflect.Type;
-import java.util.HashMap;
-import java.util.Map;
-
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonParseException;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-import com.google.gson.reflect.TypeToken;
-
-/**
- * Metadata associated with a repository for a rest resource. Metadata is of two types: persistent
- * and transient. All metadata is persistent by default, and must be a name-value pair of strings.
- * Transient metadata can be an arbitrary key-value pair of objects and is available through
- * {@link #getFromTransient(Object)}, {@link #putInTransient(Object, Object)},
- * and {@link #removeFromTransient(Object)} methods.
- *
- * @author inder
- *
- * @param <R> The resource
- */
-public final class MetaData<I extends ID, R extends RestResource<I, R>> {
-
- private final Map<String, String> map;
- private final transient Map<Object, Object> mapTransient;
-
- public static <II extends ID, RS extends RestResource<II, RS>> MetaData<II, RS> create() {
- return new MetaData<II, RS>();
- }
-
- @SuppressWarnings({"unchecked", "rawtypes"})
- private static MetaData<?, ?> createTypeUnsafe(Map<String, String> values) {
- return new MetaData(values);
- }
-
- public MetaData() {
- this(new HashMap<String, String>());
- }
-
- private MetaData(Map<String, String> values) {
- this.map = values == null ? new HashMap<String, String>() : values;
- this.mapTransient = new HashMap<Object, Object>();
- }
-
- public String getString(String key) {
- return map.get(key);
- }
-
- public void putString(String key, String value) {
- map.put(key, value);
- }
-
- public boolean getBoolean(String key) {
- String value = map.get(key);
- return value == null ? false : Boolean.parseBoolean(value);
- }
-
- public void putBoolean(String key, boolean value) {
- map.put(key, String.valueOf(value));
- }
-
- public void remove(String key) {
- map.remove(key);
- }
-
- public Object getFromTransient(Object key) {
- return mapTransient.get(key);
- }
-
- public void putInTransient(Object key, Object value) {
- mapTransient.put(key, value);
- }
-
- public void removeFromTransient(Object key) {
- mapTransient.remove(key);
- }
-
- @Override
- public String toString() {
- return new StringBuilder().append(map).append(',').append(mapTransient).toString();
- }
-
- /**
- * Gson Type adapter for {@link MetaData}. The serialized representation on wire is just a
- * Map<String, String>
- */
- public static final class GsonTypeAdapter implements JsonSerializer<MetaData<?, ?>>,
- JsonDeserializer<MetaData<?, ?>>{
-
- private static final Type MAP_TYPE = new TypeToken<Map<String, String>>(){}.getType();
-
- @Override
- public MetaData<?, ?> deserialize(JsonElement json, Type typeOfT,
- JsonDeserializationContext context) throws JsonParseException {
- Map<String, String> map = context.deserialize(json, MAP_TYPE);
- return MetaData.createTypeUnsafe(map);
- }
-
- @Override
- public JsonElement serialize(MetaData<?, ?> src, Type typeOfSrc,
- JsonSerializationContext context) {
- return context.serialize(src.map, MAP_TYPE);
- }
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/ResourceDepot.java b/wsdef/src/main/java/com/google/gson/rest/definition/ResourceDepot.java
deleted file mode 100644
index 6e045b3..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/ResourceDepot.java
+++ /dev/null
@@ -1,27 +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.rest.definition;
-
-public interface ResourceDepot<I extends ID, R extends RestResource<I, R>> {
-
- public R get(I resourceId);
-
- public R post(R resource);
-
- public R put(R resource);
-
- public void delete(I resourceId);
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/ResourceMap.java b/wsdef/src/main/java/com/google/gson/rest/definition/ResourceMap.java
deleted file mode 100644
index 9cce318..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/ResourceMap.java
+++ /dev/null
@@ -1,55 +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.rest.definition;
-
-import com.google.gson.webservice.definition.CallPath;
-import com.google.gson.webservice.definition.internal.utils.Preconditions;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * A {@link Map} of {@link CallPath} to {@link RestCallSpec}
- *
- * @author inder
- */
-public final class ResourceMap {
-
- public static final class Builder {
- private final Map<CallPath, RestCallSpec> resources =
- new HashMap<CallPath, RestCallSpec>();
-
- public Builder set(CallPath baseCallPath, RestCallSpec spec) {
- Preconditions.checkArgument(resources.get(baseCallPath) == null);
- resources.put(baseCallPath, spec);
- return this;
- }
-
- public ResourceMap build() {
- return new ResourceMap(resources);
- }
- }
-
- private final Map<CallPath, RestCallSpec> resources;
-
- public ResourceMap(Map<CallPath, RestCallSpec> resources) {
- this.resources = resources;
- }
-
- public RestCallSpec get(CallPath callPath) {
- return resources.get(callPath);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/RestCall.java b/wsdef/src/main/java/com/google/gson/rest/definition/RestCall.java
deleted file mode 100644
index 717cb4a..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/RestCall.java
+++ /dev/null
@@ -1,47 +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.rest.definition;
-
-/**
- * The data associated with a Rest Web service call. This includes http request header parameters
- * (form and URL parameters), request body, response header parameters, and resource response body.
- *
- * @author inder
- */
-public final class RestCall<I extends ID, R extends RestResource<I, R>> {
-
- private final RestCallSpec callSpec;
- private final RestRequest<I, R> request;
- private final RestResponse<I, R> response;
-
- public RestCall(RestCallSpec callSpec, RestRequest<I, R> request, RestResponse<I, R> response) {
- this.callSpec = callSpec;
- this.request = request;
- this.response = response;
- }
-
- public RestCallSpec getSpec() {
- return callSpec;
- }
-
- public RestRequest<I, R> getRequest() {
- return request;
- }
-
- public RestResponse<I, R> getResponse() {
- return response;
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/RestCallSpec.java b/wsdef/src/main/java/com/google/gson/rest/definition/RestCallSpec.java
deleted file mode 100644
index bf54f48..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/RestCallSpec.java
+++ /dev/null
@@ -1,138 +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.rest.definition;
-
-import com.google.gson.webservice.definition.CallPath;
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.HttpMethod;
-import com.google.gson.webservice.definition.TypedKey;
-import com.google.gson.webservice.definition.internal.utils.Preconditions;
-
-import java.lang.reflect.Type;
-import java.util.Arrays;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-/**
- * Specification for a REST service
- *
- * @author inder
- */
-public final class RestCallSpec {
- public static class Builder {
- private final CallPath callPath;
- private final Set<HttpMethod> supportedHttpMethods = new LinkedHashSet<HttpMethod>();
- private final HeaderMapSpec.Builder reqParamsSpecBuilder = new HeaderMapSpec.Builder();
- private final HeaderMapSpec.Builder resParamsSpecBuilder = new HeaderMapSpec.Builder();
- private final Type resourceType;
- private double version;
-
- public Builder(CallPath callPath, Type resourceType) {
- this.callPath = callPath;
- supportedHttpMethods.addAll(HttpMethod.ALL_METHODS);
- this.resourceType = resourceType;
- this.version = -1D;
- }
-
- public Builder disableHttpMethod(HttpMethod httpMethod) {
- supportedHttpMethods.remove(httpMethod);
- return this;
- }
-
- public Builder setVersion(double version) {
- this.version = version;
- return this;
- }
-
- public <T> Builder addRequestParam(TypedKey<T> param) {
- reqParamsSpecBuilder.put(param.getName(), param.getClassOfT());
- return this;
- }
-
- public <T> Builder addResponseParam(TypedKey<T> param) {
- resParamsSpecBuilder.put(param.getName(), param.getClassOfT());
- return this;
- }
-
- public RestCallSpec build() {
- if (supportedHttpMethods.isEmpty()) {
- supportedHttpMethods.addAll(Arrays.asList(HttpMethod.values()));
- }
- RestRequestSpec requestSpec =
- new RestRequestSpec(reqParamsSpecBuilder.build(), resourceType);
- RestResponseSpec responseSpec =
- new RestResponseSpec(resParamsSpecBuilder.build(), resourceType);
- return new RestCallSpec(supportedHttpMethods, callPath,
- requestSpec, responseSpec, resourceType, version);
- }
- }
-
- private final Set<HttpMethod> supportedHttpMethods;
- private final CallPath path;
- private final RestRequestSpec requestSpec;
- private final RestResponseSpec responseSpec;
- private final Type resourceType;
- private final double version;
-
- private RestCallSpec(Set<HttpMethod> supportedHttpMethods, CallPath path,
- RestRequestSpec requestSpec, RestResponseSpec responseSpec,
- Type resourceType, double version) {
- Preconditions.checkArgument(!supportedHttpMethods.isEmpty());
- Preconditions.checkNotNull(path);
- this.supportedHttpMethods = supportedHttpMethods;
- this.path = path;
- this.requestSpec = requestSpec;
- this.responseSpec = responseSpec;
- this.resourceType = resourceType;
- this.version = version;
- }
-
- public CallPath getPath() {
- return path;
- }
-
- public Set<HttpMethod> getSupportedHttpMethods() {
- return supportedHttpMethods;
- }
-
- public RestResponseSpec getResponseSpec() {
- return responseSpec;
- }
-
- public RestRequestSpec getRequestSpec() {
- return requestSpec;
- }
-
- public Type getResourceType() {
- return resourceType;
- }
-
- public double getVersion() {
- return version;
- }
-
- @Override
- public String toString() {
- return String.format(
- "path: %s, version: %.2f, resourceType: %s, requestSpec: %s, responseSpec: %s",
- path, version, resourceType, requestSpec, responseSpec);
- }
-
- public RestCallSpec createCopy(CallPath callPath) {
- return new RestCallSpec(supportedHttpMethods, callPath, requestSpec,
- responseSpec, resourceType, version);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/RestRequest.java b/wsdef/src/main/java/com/google/gson/rest/definition/RestRequest.java
deleted file mode 100644
index 1f41bd8..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/RestRequest.java
+++ /dev/null
@@ -1,89 +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.rest.definition;
-
-import java.lang.reflect.Type;
-
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HttpMethod;
-import com.google.gson.webservice.definition.TypedKey;
-
-/**
- * The data associated with a Web service request. This includes HTTP request header parameters
- * (form and URL parameters), and request body.
- *
- * @author inder
- */
-public final class RestRequest<I extends ID, R extends RestResource<I, R>> {
- public static final String JSON_CONTENT_TYPE = "application/json";
-
- private final HttpMethod method;
- private final HeaderMap headers;
- private final I id;
- private final R body;
- private final RestRequestSpec spec;
-
- public RestRequest(HttpMethod method, HeaderMap requestHeaders,
- I resourceId, R requestBody, Type resourceType) {
- this.method = method;
- this.id = resourceId;
- this.body = requestBody;
- this.headers = requestHeaders;
- this.spec = new RestRequestSpec(requestHeaders.getSpec(), resourceType);
- }
-
- public I getId() {
- return id;
- }
-
- public HttpMethod getMethod() {
- return method;
- }
-
- public RestRequestSpec getSpec() {
- return spec;
- }
-
- public HttpMethod getHttpMethod() {
- return method;
- }
-
- public R getBody() {
- return body;
- }
-
- public HeaderMap getHeaders() {
- return headers;
- }
-
- public String getContentType() {
- return JSON_CONTENT_TYPE;
- }
-
- public <T> T getHeader(TypedKey<T> key) {
- return headers.get(key);
- }
-
- @SuppressWarnings("unchecked")
- public <T> T getHeader(String headerName) {
- return (T) headers.get(headerName);
- }
-
- @Override
- public String toString() {
- return String.format("{method:%s,headers:%s,body:%s}", method, headers, body);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/RestRequestSpec.java b/wsdef/src/main/java/com/google/gson/rest/definition/RestRequestSpec.java
deleted file mode 100644
index c962990..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/RestRequestSpec.java
+++ /dev/null
@@ -1,48 +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.rest.definition;
-
-import java.lang.reflect.Type;
-
-import com.google.gson.webservice.definition.HeaderMapSpec;
-
-/**
- * Specification for a {@link RestRequest}.
- *
- * @author inder
- */
-public final class RestRequestSpec {
- private final HeaderMapSpec headersSpec;
- private final Type resourceType;
-
- public RestRequestSpec(HeaderMapSpec headersSpec, Type resourceClass) {
- this.headersSpec = headersSpec;
- this.resourceType = resourceClass;
- }
-
- public Type getResourceType() {
- return resourceType;
- }
-
- public HeaderMapSpec getHeadersSpec() {
- return headersSpec;
- }
-
- @Override
- public String toString() {
- return String.format("{headersSpec:%s,resourceType:%s}", headersSpec, resourceType);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/RestResource.java b/wsdef/src/main/java/com/google/gson/rest/definition/RestResource.java
deleted file mode 100644
index c486a7c..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/RestResource.java
+++ /dev/null
@@ -1,26 +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.rest.definition;
-
-/**
- * An interface implemented by an object that is intended to be a rest resource
- *
- * @author inder
- *
- * @param <R> the rest resource type
- */
-public interface RestResource<I extends ID, R> extends HasId<I> {
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/RestResponse.java b/wsdef/src/main/java/com/google/gson/rest/definition/RestResponse.java
deleted file mode 100644
index de1ed96..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/RestResponse.java
+++ /dev/null
@@ -1,93 +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.rest.definition;
-
-import java.lang.reflect.Type;
-
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.TypedKey;
-
-/**
- * The data associated with a REST Web service response. This includes http response header
- * parameters, and the response body.
- *
- * @author inder
- */
-public final class RestResponse<I extends ID, R extends RestResource<I, R>> {
-
- private final HeaderMap headers;
- private final R body;
- private final RestResponseSpec spec;
-
- public static class Builder<II extends ID, RS extends RestResource<II, RS>> {
- private final HeaderMap.Builder headers;
- private RS body;
- private final RestResponseSpec spec;
-
- public Builder(RestResponseSpec spec) {
- this.spec = spec;
- headers = new HeaderMap.Builder(spec.getHeadersSpec());
- }
-
- public <T> Builder<II, RS> putHeader(TypedKey<T> paramName, T content) {
- headers.put(paramName.getName(), content, paramName.getClassOfT());
- return this;
- }
-
- public Builder<II, RS> setBody(RS body) {
- this.body = body;
- return this;
- }
-
- public RestResponse<II, RS> build() {
- return new RestResponse<II, RS>(spec, headers.build(), body);
- }
- }
-
- private RestResponse(RestResponseSpec spec, HeaderMap headers, R body) {
- this.spec = spec;
- this.headers = headers;
- this.body = body;
- }
-
- public RestResponse(HeaderMap responseHeaders, R responseBody, Type responseBodyType) {
- this.spec = new RestResponseSpec(responseHeaders.getSpec(), responseBodyType);
- this.headers = responseHeaders;
- this.body = responseBody;
- }
-
- public RestResponseSpec getSpec() {
- return spec;
- }
-
- public HeaderMap getHeaders() {
- return headers;
- }
-
- public R getBody() {
- return body;
- }
-
- @SuppressWarnings("unchecked")
- public <T> T getHeader(String headerName) {
- return (T) headers.get(headerName);
- }
-
- @Override
- public String toString() {
- return String.format("{headers:%s, body:%s}", headers, body);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/RestResponseSpec.java b/wsdef/src/main/java/com/google/gson/rest/definition/RestResponseSpec.java
deleted file mode 100644
index 60d2b9d..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/RestResponseSpec.java
+++ /dev/null
@@ -1,48 +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.rest.definition;
-
-import java.lang.reflect.Type;
-
-import com.google.gson.webservice.definition.HeaderMapSpec;
-
-/**
- * Specification for a {@link RestResponse}.
- *
- * @author inder
- */
-public final class RestResponseSpec {
- private final HeaderMapSpec headersSpec;
- private final Type resourceType;
-
- public RestResponseSpec(HeaderMapSpec headersSpec, Type resourceType) {
- this.headersSpec = headersSpec;
- this.resourceType = resourceType;
- }
-
- public Type getResourceType() {
- return resourceType;
- }
-
- public HeaderMapSpec getHeadersSpec() {
- return headersSpec;
- }
-
- @Override
- public String toString() {
- return String.format("{headersSpec:%s,resourceType:%s}", headersSpec, resourceType);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/definition/ValueBasedId.java b/wsdef/src/main/java/com/google/gson/rest/definition/ValueBasedId.java
deleted file mode 100644
index 60e814f..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/definition/ValueBasedId.java
+++ /dev/null
@@ -1,203 +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.rest.definition;
-
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonParseException;
-import com.google.gson.JsonPrimitive;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-import com.google.gson.webservice.definition.internal.utils.Preconditions;
-
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.lang.reflect.WildcardType;
-
-/**
- * An id for a rest resource
- *
- * @author inder
- *
- * @param <R> type variable for the rest resource
- */
-public final class ValueBasedId<R> implements ID {
- private final long value;
- private final Type typeOfId;
-
- private ValueBasedId(long value, Type typeOfId) {
- this.value = value;
- this.typeOfId = typeOfId;
- }
-
- @Override
- public long getValue() {
- return value;
- }
-
- public static long getValue(ValueBasedId<?> id) {
- return id == null ? INVALID_ID : id.getValue();
- }
-
- public String getValueAsString() {
- return String.valueOf(value);
- }
-
- public Type getTypeOfId() {
- return typeOfId;
- }
-
- @Override
- public int hashCode() {
- return (int) value;
- }
-
- public static boolean isValid(ValueBasedId<?> id) {
- return id != null && id.value != INVALID_ID;
- }
-
- /**
- * A more efficient comparison method for ids that take into account of ids being nullable.
- * Since the method is parameterized and both ids are of the same type, this method compares
- * only id values, not their types. Note that this shortcut doesn't work if you pass raw ids
- * to this method
- */
- public static <T> boolean equals(/* @Nullable */ ValueBasedId<T> id1,
- /* @Nullable */ ValueBasedId<T> id2) {
- if ((id1 == null && id2 != null) || (id1 != null && id2 == null)) {
- return false;
- }
- if (id1 == null && id2 == null) {
- return true;
- }
- return id1.value == id2.value;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null) return false;
- if (getClass() != obj.getClass()) return false;
- @SuppressWarnings("unchecked")
- ValueBasedId<R> other = (ValueBasedId<R>)obj;
- if (typeOfId == null) {
- if (other.typeOfId != null) return false;
- } else if (!equivalentTypes(typeOfId, other.typeOfId)) return false;
- if (value != other.value) return false;
- return true;
- }
-
- /**
- * Returns true for equivalentTypes(Class<?>, Class)
- * Visible for testing only
- */
- @SuppressWarnings("rawtypes")
- static boolean equivalentTypes(Type type1, Type type2) {
- if (type1 instanceof ParameterizedType && type2 instanceof Class) {
- return areEquivalentTypes((ParameterizedType)type1, (Class)type2);
- } else if (type2 instanceof ParameterizedType && type1 instanceof Class) {
- return areEquivalentTypes((ParameterizedType)type2, (Class)type1);
- }
- return type1.equals(type2);
- }
-
- /**
- * Visible for testing only
- */
- @SuppressWarnings("rawtypes")
- static boolean areEquivalentTypes(ParameterizedType type, Class clazz) {
- Class rawClass = (Class) type.getRawType();
- if (!clazz.equals(rawClass)) {
- return false;
- }
- for (Type typeVariable : type.getActualTypeArguments()) {
- if (typeVariable instanceof WildcardType) {
- continue;
- }
- // This is a real parameterized type, not just ?
- return false;
- }
- return true;
- }
-
- public static <RS> ValueBasedId<RS> get(long value, Type typeOfId) {
- return new ValueBasedId<RS>(value, typeOfId);
- }
-
- @Override
- public String toString() {
- String typeAsString = getSimpleTypeName(typeOfId);
- return String.format("{value:%s,type:%s}", value, typeAsString);
- }
-
- @SuppressWarnings("rawtypes")
- private static String getSimpleTypeName(Type type) {
- if (type == null) {
- return "null";
- }
- if (type instanceof Class) {
- return ((Class)type).getSimpleName();
- } else if (type instanceof ParameterizedType) {
- ParameterizedType pType = (ParameterizedType) type;
- StringBuilder sb = new StringBuilder(getSimpleTypeName(pType.getRawType()));
- sb.append('<');
- boolean first = true;
- for (Type argumentType : pType.getActualTypeArguments()) {
- if (first) {
- first = false;
- } else {
- sb.append(',');
- }
- sb.append(getSimpleTypeName(argumentType));
- }
- sb.append('>');
- return sb.toString();
- } else if (type instanceof WildcardType) {
- return "?";
- }
- return type.toString();
- }
-
- /**
- * Type adapter for converting an Id to its serialized form
- *
- * @author inder
- *
- */
- public static final class GsonTypeAdapter implements JsonSerializer<ValueBasedId<?>>,
- JsonDeserializer<ValueBasedId<?>> {
-
- @Override
- public JsonElement serialize(ValueBasedId<?> src, Type typeOfSrc,
- JsonSerializationContext context) {
- return new JsonPrimitive(src.getValue());
- }
-
- @Override
- public ValueBasedId<?> deserialize(JsonElement json, Type typeOfT,
- JsonDeserializationContext context) throws JsonParseException {
- if (!(typeOfT instanceof ParameterizedType)) {
- throw new JsonParseException("Id of unknown type: " + typeOfT);
- }
- ParameterizedType parameterizedType = (ParameterizedType) typeOfT;
- // Since Id takes only one TypeVariable, the actual type corresponding to the first
- // TypeVariable is the Type we are looking for
- Type typeOfId = parameterizedType.getActualTypeArguments()[0];
- return ValueBasedId.get(json.getAsLong(), typeOfId);
- }
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/query/ResourceQuery.java b/wsdef/src/main/java/com/google/gson/rest/query/ResourceQuery.java
deleted file mode 100644
index 63b5f63..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/query/ResourceQuery.java
+++ /dev/null
@@ -1,33 +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.rest.query;
-
-import java.util.List;
-
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.RestResource;
-
-/**
- * A query for a list of rest resources.
- *
- * @author Inderjeet Singh
- */
-public interface ResourceQuery<I extends ID, R extends RestResource<I, R>, QUERY> {
- /**
- * Returns a list of resources matching the query
- */
- public List<R> query(QUERY query);
-}
diff --git a/wsdef/src/main/java/com/google/gson/rest/query/TypedKeysQuery.java b/wsdef/src/main/java/com/google/gson/rest/query/TypedKeysQuery.java
deleted file mode 100644
index 29a2aa7..0000000
--- a/wsdef/src/main/java/com/google/gson/rest/query/TypedKeysQuery.java
+++ /dev/null
@@ -1,37 +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.rest.query;
-
-import java.util.List;
-
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.webservice.definition.TypedKey;
-
-/**
- * List of {@link TypedKey}s associated with REST queries
- *
- * @author Inderjeet Singh
- *
- * @param <I> ID type of the REST resource
- * @param <R> The type of the REST resource
- */
-@SuppressWarnings("rawtypes")
-public class TypedKeysQuery<I extends ID, R extends RestResource<I, R>> {
-
- // TODO(inder): This should really be TypedKey<List<R>>
- public static TypedKey<List> RESOURCE_LIST = new TypedKey<List>("resourceList", List.class);
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/CallPath.java b/wsdef/src/main/java/com/google/gson/webservice/definition/CallPath.java
deleted file mode 100644
index dfbe827..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/CallPath.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition;
-
-import com.google.gson.rest.definition.ID;
-import com.google.gson.webservice.definition.internal.utils.Pair;
-
-/**
- * Encapsulation of a Web service path that is sent by the client.
- *
- * @author inder
- */
-public final class CallPath {
-
- /** Visible for testing only */
- static final double IGNORE_VERSION = -1D;
- private final String path;
- private final double version;
- private final long resourceId;
-
- public CallPath(String path) {
- if (path == null || path.trim().equals("")) {
- this.path = path;
- version = IGNORE_VERSION;
- resourceId = ID.INVALID_ID;
- } else {
- Pair<Double, String> path2 = extractVersion(path);
- this.version = path2.first;
- Pair<Long, String> path3 = extractId(path2.second);
- this.resourceId = path3.first;
- this.path = path3.second;
- }
- }
-
- /**
- * Returns path after consuming version number from the begining
- */
- private static Pair<Double, String> extractVersion(String path) {
- int index1 = path.indexOf('/');
- int index2 = path.substring(index1+1).indexOf('/');
- String versionStr = path.substring(index1+1, index2+1);
- double extractedVersion = -1.0D;
- String revisedPath = path;
- try {
- // Skip over the version number from the URL
- extractedVersion = Double.parseDouble(versionStr);
- revisedPath = path.substring(index2+1);
- } catch (NumberFormatException e) {
- // Assume that version number wasn't specified
- }
- return Pair.create(extractedVersion, revisedPath);
- }
-
- private static Pair<Long, String> extractId(String path) {
- Pair<Long, String> originalPath = Pair.create(ID.INVALID_ID, path);
- int end = path.endsWith("/") ? path.length() - 1 : path.length();
- int begin = path.substring(0, end-1).lastIndexOf('/') + 1;
- if (begin < 0 || end < 0 || begin >= end) {
- return originalPath;
- }
- try {
- String id = path.substring(begin, end);
- String pathWithoutId = path.substring(0, begin-1);
- return Pair.create(Long.parseLong(id), pathWithoutId);
- } catch (NumberFormatException e) {
- return originalPath;
- }
- }
-
- public String get() {
- return path;
- }
-
- public double getVersion() {
- return version;
- }
-
- public long getResourceId() {
- return resourceId;
- }
-
- @Override
- public int hashCode() {
- return path.hashCode();
- }
-
- public boolean matches(CallPath callPath) {
- return path.startsWith(callPath.get());
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- return getClass() == obj.getClass() && equal(path, ((CallPath)obj).path);
- }
-
- private static boolean equal(String s1, String s2) {
- return s1 == s2 || (s1 != null && s2 != null && s1.equals(s2));
- }
-
- @Override
- public String toString() {
- return String.format("path:%s, version:%2.f, resourceId: %d", path, version, resourceId);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/CallPathMap.java b/wsdef/src/main/java/com/google/gson/webservice/definition/CallPathMap.java
deleted file mode 100644
index f12f90c..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/CallPathMap.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * A generic Map of calls with relative path where the call is available as the key.
- *
- * @author inder
- *
- * @param <T> The target of the call path.
- */
-public final class CallPathMap<T> {
-
- public static class Builder<T> {
- private final Map<CallPath, T> contents = new HashMap<CallPath, T>();
- private final T nullValue;
-
- public Builder(T nullValue) {
- this.nullValue = nullValue;
- }
- public <R extends T> Builder<T> put(CallPath path, R content) {
- contents.put(path, content);
- return this;
- }
-
- public CallPathMap<T> build() {
- return new CallPathMap<T>(contents, nullValue);
- }
- }
-
- private final Map<CallPath, T> contents;
- private final T nullValue;
-
- private CallPathMap(Map<CallPath, T> contents, T nullValue) {
- this.contents = contents;
- this.nullValue = nullValue;
- }
-
- public T get(CallPath path) {
- T content = contents.get(path);
- return content == null ? nullValue : content;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder("{");
- boolean first = true;
- for (Map.Entry<CallPath, T> entry : contents.entrySet()) {
- if (first) {
- first = false;
- } else {
- sb.append(",");
- }
- CallPath path = entry.getKey();
- sb.append(path.get()).append(":");
- sb.append(entry.getValue().toString());
- }
- sb.append("}");
- return sb.toString();
- }
-}
\ No newline at end of file
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/ContentBody.java b/wsdef/src/main/java/com/google/gson/webservice/definition/ContentBody.java
deleted file mode 100644
index 7875c16..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/ContentBody.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition;
-
-
-import java.util.Map;
-
-/**
- * Body of a request or response. The body contains a map of name-value pairs.
- * There is a {@link ContentBodySpec} associated with the body as well and only the name-value
- * pairs consistent with the specification are permitted.
- *
- * @author inder
- */
-public class ContentBody extends ParamMap {
-
- public ContentBody(ContentBodySpec spec, Map<String, Object> contents) {
- super(spec, contents);
- }
-
- @Override
- public ContentBodySpec getSpec() {
- return (ContentBodySpec) spec;
- }
-
- public String getContentType() {
- return getSpec().getContentType();
- }
-
- public String getCharacterEncoding() {
- return getSpec().getCharacterEncoding();
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/ContentBodySpec.java b/wsdef/src/main/java/com/google/gson/webservice/definition/ContentBodySpec.java
deleted file mode 100644
index acbb89c..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/ContentBodySpec.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition;
-
-
-import java.lang.reflect.Type;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Base class for the specification of a {@link ContentBody}.
- *
- * @author inder
- */
-public class ContentBodySpec implements ParamMapSpec {
-
- public static final String JSON_CONTENT_TYPE = "application/json";
- public static final String JSON_CHARACTER_ENCODING = "utf-8";
-
- private final Map<String, Type> paramsSpec;
-
- protected ContentBodySpec(Map<String, Type> paramsSpec) {
- this.paramsSpec = Collections.unmodifiableMap(paramsSpec);
- }
-
- @Override
- public Type getTypeFor(String paramName) {
- return paramsSpec.get(paramName);
- }
-
- @Override
- public boolean checkIfCompatible(String paramName, Type type) {
- return type.equals(getTypeFor(paramName));
- }
-
- @Override
- public boolean checkIfCompatible(String paramName, Object object) {
- return checkIfCompatible(paramName, object.getClass());
- }
-
- @Override
- public Set<Map.Entry<String, Type>> entrySet() {
- return paramsSpec.entrySet();
- }
-
- @Override
- public int size() {
- return paramsSpec.size();
- }
-
- public String getContentType() {
- return JSON_CONTENT_TYPE;
- }
-
- public String getCharacterEncoding() {
- return JSON_CHARACTER_ENCODING;
- }
-
- @Override
- public String toString() {
- return Util.toStringMapKeys(paramsSpec);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/HeaderMap.java b/wsdef/src/main/java/com/google/gson/webservice/definition/HeaderMap.java
deleted file mode 100644
index 922e047..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/HeaderMap.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition;
-
-
-import java.lang.reflect.Type;
-import java.util.Map;
-
-/**
- * Map of request or response header objects. There is a {@link HeaderMapSpec} associated with the
- * map as well and only those headers are allowed that are consistent with the specification.
- *
- * @author inder
- */
-public final class HeaderMap extends ParamMap {
-
- public static class Builder extends ParamMap.Builder<HeaderMapSpec> {
- public Builder(HeaderMapSpec spec) {
- super(spec);
- }
-
- @Override
- public <T> Builder put(TypedKey<T> paramKey, T content) {
- return put(paramKey.getName(), content);
- }
-
- @Override
- public Builder put(String paramName, Object content) {
- return (Builder) super.put(paramName, content);
- }
-
- @Override
- public Builder put(String paramName, Object content, Type typeOfContent) {
- return (Builder) super.put(paramName, content, typeOfContent);
- }
-
- public HeaderMap build() {
- return new HeaderMap(spec, contents);
- }
- }
-
- private HeaderMap(HeaderMapSpec spec, Map<String, Object> contents) {
- super(spec, contents);
- }
-
- @Override
- public HeaderMapSpec getSpec() {
- return (HeaderMapSpec) super.getSpec();
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/HeaderMapSpec.java b/wsdef/src/main/java/com/google/gson/webservice/definition/HeaderMapSpec.java
deleted file mode 100644
index a4ad9cf..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/HeaderMapSpec.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition;
-
-
-import java.lang.reflect.Type;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Specification of a header map for {@link HeaderMap}.
- *
- * @author inder
- */
-public final class HeaderMapSpec implements ParamMapSpec {
-
- public static class Builder {
- private final Map<String, Type> map = new LinkedHashMap<String, Type>();
-
- public void put(String headerName, Type headerType) {
- map.put(headerName, headerType);
- }
-
- public HeaderMapSpec build() {
- return new HeaderMapSpec(map);
- }
- }
- private final Map<String, Type> map;
-
- private HeaderMapSpec(Map<String, Type> map) {
- this.map = map;
- }
-
- @Override
- public Type getTypeFor(String headerName) {
- return map.get(headerName);
- }
-
- @Override
- public Set<Map.Entry<String, Type>> entrySet() {
- return map.entrySet();
- }
-
- @Override
- public boolean checkIfCompatible(String headerName, Type targetType) {
- Type typeOfHeader = getTypeFor(headerName);
- if (typeOfHeader == null) {
- return false;
- }
- Class<?> rawClassOfHeader = TypeUtils.toRawClass(typeOfHeader);
- Class<?> rawClassOfTargetType = TypeUtils.toRawClass(targetType);
- return rawClassOfHeader.isAssignableFrom(rawClassOfTargetType);
- }
-
- @Override
- public boolean checkIfCompatible(String headerName, Object headerValue) {
- return checkIfCompatible(headerName, headerValue.getClass());
- }
-
- @Override
- public String toString() {
- return Util.toStringMapKeys(map);
- }
-
- @Override
- public int size() {
- return map.size();
- }
-}
\ No newline at end of file
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/HttpMethod.java b/wsdef/src/main/java/com/google/gson/webservice/definition/HttpMethod.java
deleted file mode 100644
index 705c3e0..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/HttpMethod.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * An enum of Http methods to provide strongly-typed versions instead of strings.
- *
- * @author inder
- */
-public enum HttpMethod {
- GET,
- POST,
- PUT,
- DELETE;
-
- public static HttpMethod getMethod(String method) {
- return valueOf(method.trim().toUpperCase());
- }
-
- public static final List<HttpMethod> ALL_METHODS =
- Collections.unmodifiableList(Arrays.asList(values()));
-
- /**
- * This header is used to indicate the real method that is channeled through the current
- * request. For example, you can use it to send PUT requests under a POST.
- */
- public static final String SIMULATED_METHOD_HEADER = "SimulatedMethod";
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/ParamMap.java b/wsdef/src/main/java/com/google/gson/webservice/definition/ParamMap.java
deleted file mode 100644
index 2f25bcf..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/ParamMap.java
+++ /dev/null
@@ -1,98 +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.webservice.definition;
-
-import com.google.gson.webservice.definition.internal.utils.Preconditions;
-
-import java.lang.reflect.Type;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-
-public class ParamMap {
-
- public static class Builder<T extends ParamMapSpec> {
- protected final Map<String, Object> contents = new LinkedHashMap<String, Object>();
- protected final T spec;
-
- public Builder(T spec) {
- this.spec = spec;
- }
-
- /**
- * If value is a generic type, use {@link #put(String, Object, Type)} instead.
- */
- public Builder<T> put(String paramName, Object content) {
- return put(paramName, content, content.getClass());
- }
-
- public Builder<T> put(String paramName, Object content, Type typeOfContent) {
- Preconditions.checkArgument(spec.checkIfCompatible(paramName, typeOfContent));
- contents.put(paramName, content);
- return this;
- }
-
- public <K> Builder<T> put(TypedKey<K> paramKey, K param) {
- contents.put(paramKey.getName(), param);
- return this;
- }
- }
-
- protected final Map<String, Object> contents;
- protected final ParamMapSpec spec;
-
- protected ParamMap(ParamMapSpec spec, Map<String, Object> contents) {
- this.spec = spec;
- this.contents = contents;
- }
-
- public ParamMapSpec getSpec() {
- return spec;
- }
-
- public Object get(String paramName) {
- return contents.get(paramName);
- }
-
- @SuppressWarnings("unchecked")
- public <T> T get(TypedKey<T> key) {
- return (T) get(key.getName(), key.getClassOfT());
- }
-
- @SuppressWarnings("unchecked")
- public <T> T get(String key, Type typeOfValue) {
- Preconditions.checkArgument(spec.checkIfCompatible(key, typeOfValue),
- "Incompatible key %s for type %s", key, typeOfValue);
- return (T) contents.get(key);
- }
-
- public Type getSpec(String headerName) {
- return spec.getTypeFor(headerName);
- }
-
- public Set<Map.Entry<String, Object>> entrySet() {
- return contents.entrySet();
- }
-
- public int size() {
- return contents.size();
- }
-
- @Override
- public String toString() {
- return Util.toStringMap(contents);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/ParamMapSpec.java b/wsdef/src/main/java/com/google/gson/webservice/definition/ParamMapSpec.java
deleted file mode 100644
index 447be9d..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/ParamMapSpec.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition;
-
-
-import java.lang.reflect.Type;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Specification of a parameter map. Both {@link ContentBody} and {@link HeaderMap} are
- * parameter maps.
- *
- * @author inder
- */
-interface ParamMapSpec {
-
- Type getTypeFor(String paramName);
-
- boolean checkIfCompatible(String paramName, Type type);
-
- boolean checkIfCompatible(String paramName, Object object);
-
- public Set<Map.Entry<String, Type>> entrySet();
-
- public int size();
-
-}
\ No newline at end of file
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/TypeUtils.java b/wsdef/src/main/java/com/google/gson/webservice/definition/TypeUtils.java
deleted file mode 100644
index 108a6d4..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/TypeUtils.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (C) 2008 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.
- */
-
-// Copied from com.google.gson.TypeUtils
-package com.google.gson.webservice.definition;
-
-import java.lang.reflect.Array;
-import java.lang.reflect.GenericArrayType;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-
-/**
- * Utility class containing some methods for obtaining information on types.
- *
- * @author Inderjeet Singh
- * @author Joel Leitch
- */
-final class TypeUtils {
-
- /**
- * Returns the actual type matching up with the first type variable.
- * So, for a {@code typeInfo} instance defined as:
- * <pre>
- * class Foo<A, B> {
- * }
- * Type fooType = new TypeToken<Foo<Integer, String>>() {}.getType();
- * </pre>
- * <code>TypeUtils.getActualTypeForFirstTypeVariable(fooType)</code> will return Integer.class.
- */
- static Type getActualTypeForFirstTypeVariable(Type type) {
- if (type instanceof Class) {
- return Object.class;
- } else if (type instanceof ParameterizedType) {
- return ((ParameterizedType)type).getActualTypeArguments()[0];
- } else if (type instanceof GenericArrayType) {
- return getActualTypeForFirstTypeVariable(((GenericArrayType)type).getGenericComponentType());
- } else {
- throw new IllegalArgumentException("Type \'" + type + "\' is not a Class, "
- + "ParameterizedType, or GenericArrayType. Can't extract class.");
- }
- }
-
- static boolean isArray(Type type) {
- if (type instanceof Class) {
- return ((Class<?>)type).isArray();
- } else if (type instanceof GenericArrayType) {
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * This method returns the actual raw class associated with the specified type.
- */
- static Class<?> toRawClass(Type type) {
- if (type instanceof Class) {
- return (Class<?>) type;
- } else if (type instanceof ParameterizedType) {
- ParameterizedType actualType = (ParameterizedType)type;
- return toRawClass(actualType.getRawType());
- } else if (type instanceof GenericArrayType) {
- GenericArrayType actualType = (GenericArrayType) type;
- Class<?> rawClass = toRawClass(actualType.getGenericComponentType());
- return wrapWithArray(rawClass);
- } else {
- throw new IllegalArgumentException("Type \'" + type + "\' is not a Class, "
- + "ParameterizedType, or GenericArrayType. Can't extract class.");
- }
- }
-
- static Class<?> wrapWithArray(Class<?> rawClass) {
- return Array.newInstance(rawClass, 0).getClass();
- }
-
- private TypeUtils() {
- // Class with just some static utility methods, should not be instantiated
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/TypedKey.java b/wsdef/src/main/java/com/google/gson/webservice/definition/TypedKey.java
deleted file mode 100644
index fd46576..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/TypedKey.java
+++ /dev/null
@@ -1,72 +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.webservice.definition;
-
-import com.google.gson.webservice.definition.internal.utils.Preconditions;
-
-/**
- * A typed key for use in a {@link ParamMap} or a {@link ParamMapSpec}.
- *
- * @author inder
- *
- * @param <T> Intended type of the content for the key
- */
-public class TypedKey<T> {
- private final String name;
- private final Class<T> classOfT;
-
- public TypedKey(String name, Class<T> classOfT) {
- Preconditions.checkNotNull(name);
- Preconditions.checkNotNull(classOfT);
-
- this.name = name;
- this.classOfT = classOfT;
- }
-
- public String getName() {
- return name;
- }
-
- public Class<T> getClassOfT() {
- return classOfT;
- }
-
-
- @Override
- public int hashCode() {
- return name.hashCode() + classOfT.getCanonicalName().hashCode() >> 1;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- TypedKey<?> other = (TypedKey<?>) obj;
- return name.equals(other.name) && classOfT.equals(other.classOfT);
- }
-
- @Override
- public String toString() {
- return String.format("{name:%s, classOfT:%s}", name, classOfT);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/Util.java b/wsdef/src/main/java/com/google/gson/webservice/definition/Util.java
deleted file mode 100644
index 3e989ea..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/Util.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition;
-
-import java.lang.reflect.Type;
-import java.util.Map;
-
-final class Util {
- private Util() { }
-
- public static boolean isAssignableFrom(Type typeOfValue, Type expectedType) {
- return typeOfValue.equals(expectedType);
- }
-
- public static String toStringMapKeys(Map<String, ?> map) {
- StringBuilder sb = new StringBuilder("[");
- boolean first = true;
- for (Map.Entry<String, ?> entry : map.entrySet()) {
- if (first) {
- first = false;
- } else {
- sb.append(",");
- }
- sb.append(entry.getKey());
- }
- sb.append("]");
- return sb.toString();
- }
-
- public static String toStringMapOfTypes(Map<String, Type> map) {
- StringBuilder sb = new StringBuilder("[");
- boolean first = true;
- for (Map.Entry<String, ?> entry : map.entrySet()) {
- if (first) {
- first = false;
- } else {
- sb.append(",");
- }
- sb.append(entry.getKey()).append(":");
- Class<?> clazz = (Class<?>) entry.getValue();
- sb.append(clazz.getSimpleName());
- }
- sb.append("]");
- return sb.toString();
- }
-
- public static String toStringMap(Map<String, Object> map) {
- StringBuilder sb = new StringBuilder("[");
- boolean first = true;
- for (Map.Entry<String, ?> entry : map.entrySet()) {
- if (first) {
- first = false;
- } else {
- sb.append(",");
- }
- sb.append(entry.getKey()).append(":").append(entry.getValue());
- }
- sb.append("]");
- return sb.toString();
- }
-
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/WebServiceSystemException.java b/wsdef/src/main/java/com/google/gson/webservice/definition/WebServiceSystemException.java
deleted file mode 100644
index e183757..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/WebServiceSystemException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition;
-
-/**
- * Base class for all exceptions thrown by the Web service to indicate a system error condition.
- * This should never be thrown to indicate bad user input.
- *
- * @author inder
- */
-public class WebServiceSystemException extends RuntimeException {
-
- private static final long serialVersionUID = 1L;
-
- public WebServiceSystemException(Exception cause) {
- super(cause);
- }
-
- public WebServiceSystemException(String msg, Exception cause) {
- super(msg, cause);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/internal/utils/Pair.java b/wsdef/src/main/java/com/google/gson/webservice/definition/internal/utils/Pair.java
deleted file mode 100644
index d3454d8..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/internal/utils/Pair.java
+++ /dev/null
@@ -1,64 +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.webservice.definition.internal.utils;
-
-/**
- * A simple object that holds onto a pair of object references, first and second.
- *
- * @author Inderjeet Singh
- *
- * @param <FIRST>
- * @param <SECOND>
- */
-public final class Pair<FIRST, SECOND> {
-
- public final FIRST first;
- public final SECOND second;
-
- public Pair(FIRST first, SECOND second) {
- this.first = first;
- this.second = second;
- }
-
- public static <F, S> Pair<F, S> create(F first, S second) {
- return new Pair<F, S>(first, second);
- }
-
- @Override
- public int hashCode() {
- return 17 * ((first != null) ? first.hashCode() : 0)
- + 17 * ((second != null) ? second.hashCode() : 0);
- }
-
- @Override
- public boolean equals(Object o) {
- if (!(o instanceof Pair<?, ?>)) {
- return false;
- }
-
- Pair<?, ?> that = (Pair<?, ?>) o;
- return equal(this.first, that.first) && equal(this.second, that.second);
- }
-
- private static boolean equal(Object a, Object b) {
- return a == b || (a != null && a.equals(b));
- }
-
- @Override
- public String toString() {
- return String.format("{%s,%s}", first, second);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/internal/utils/Preconditions.java b/wsdef/src/main/java/com/google/gson/webservice/definition/internal/utils/Preconditions.java
deleted file mode 100644
index 547f79b..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/internal/utils/Preconditions.java
+++ /dev/null
@@ -1,43 +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.webservice.definition.internal.utils;
-
-public final class Preconditions {
-
- public static void checkArgument(boolean condition) {
- if (!condition) {
- throw new IllegalArgumentException();
- }
- }
-
- public static void checkArgument(boolean condition, String msg, Object... msgArgs) {
- if (!condition) {
- throw new IllegalArgumentException(String.format(msg, msgArgs));
- }
- }
-
- public static void checkNotNull(Object obj) {
- if (obj == null) {
- throw new IllegalArgumentException();
- }
- }
-
- public static void checkNotNull(Object obj, String msg, Object... msgArgs) {
- if (obj == null) {
- throw new IllegalArgumentException(String.format(msg, msgArgs));
- }
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestBody.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestBody.java
deleted file mode 100644
index 44a0c82..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestBody.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import com.google.gson.webservice.definition.ContentBody;
-import com.google.gson.webservice.definition.ParamMap;
-import com.google.gson.webservice.definition.TypedKey;
-import com.google.gson.webservice.definition.ParamMap.Builder;
-
-import java.lang.reflect.Type;
-import java.util.Map;
-
-/**
- * Definition of the request body of a {@link WebServiceCall}. The request body is what is sent out
- * in the output stream of the request (for example, with
- * {@link java.net.HttpURLConnection#getOutputStream()}) , and is read by the
- * javax.servlet.http.HttpServletRequest#getInputStream().
- * This class omits the default constructor for use by Gson. Instead the user must use
- * {@link com.google.gson.webservice.definition.procedural.RequestBodyGsonConverter}
- *
- * @author inder
- */
-public final class RequestBody extends ContentBody {
-
- public static class Builder extends ParamMap.Builder<RequestBodySpec> {
-
- public Builder(RequestBodySpec spec) {
- super(spec);
- }
-
- @Override
- public Builder put(String paramName, Object content) {
- return (Builder) super.put(paramName, content);
- }
-
- @Override
- public Builder put(String paramName, Object content, Type typeOfContent) {
- return (Builder) super.put(paramName, content, typeOfContent);
- }
-
- @Override
- public <T> Builder put(TypedKey<T> paramKey, T param) {
- return (Builder) super.put(paramKey, param);
- }
-
- public RequestBody build() {
- return new RequestBody(spec, contents);
- }
- }
-
- private RequestBody(RequestBodySpec spec, Map<String, Object> contents) {
- super(spec, contents);
- }
-
- @Override
- public RequestBodySpec getSpec() {
- return (RequestBodySpec) spec;
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestBodyGsonConverter.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestBodyGsonConverter.java
deleted file mode 100644
index f817617..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestBodyGsonConverter.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import java.lang.reflect.Type;
-import java.util.Map;
-
-import com.google.gson.InstanceCreator;
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParseException;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-
-/**
- * Gson type adapter for {@link RequestBody}.
- *
- * @author inder
- */
-public class RequestBodyGsonConverter implements JsonSerializer<RequestBody>,
- JsonDeserializer<RequestBody>, InstanceCreator<RequestBody> {
-
- private final RequestBodySpec spec;
-
- public RequestBodyGsonConverter(RequestBodySpec spec) {
- this.spec = spec;
- }
-
- @Override
- public JsonElement serialize(RequestBody src, Type typeOfSrc,
- JsonSerializationContext context) {
- JsonObject root = new JsonObject();
- for(Map.Entry<String, Object> entry : src.entrySet()) {
- String key = entry.getKey();
- Type entryType = src.getSpec().getTypeFor(key);
- JsonElement value = context.serialize(entry.getValue(), entryType);
- root.add(key, value);
- }
- return root;
- }
-
- @Override
- public RequestBody deserialize(JsonElement json, Type typeOfT,
- JsonDeserializationContext context) throws JsonParseException {
- RequestBody.Builder builder = new RequestBody.Builder(spec);
- for (Map.Entry<String, JsonElement> entry : json.getAsJsonObject().entrySet()) {
- String key = entry.getKey();
- Type entryType = spec.getTypeFor(key);
- Object value = context.deserialize(entry.getValue(), entryType);
- builder.put(key, value);
- }
- return builder.build();
- }
-
- @Override
- public RequestBody createInstance(Type type) {
- return new RequestBody.Builder(spec).build();
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestBodySpec.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestBodySpec.java
deleted file mode 100644
index 6f835fc..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestBodySpec.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-
-import com.google.gson.webservice.definition.ContentBodySpec;
-
-import java.lang.reflect.Type;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-/**
- * Specification of a {@link RequestBody}.
- *
- * @author inder
- */
-public final class RequestBodySpec extends ContentBodySpec {
-
- public static class Builder {
- private final Map<String, Type> paramsSpec = new LinkedHashMap<String, Type>();
- public Builder add(String paramName, Type type) {
- paramsSpec.put(paramName, type);
- return this;
- }
-
- public RequestBodySpec build() {
- RequestBodySpec spec = new RequestBodySpec(paramsSpec);
- return spec;
- }
- }
-
- public RequestBodySpec(Map<String, Type> paramsSpec) {
- super(paramsSpec);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestSpec.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestSpec.java
deleted file mode 100644
index 3520cc8..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/RequestSpec.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.internal.utils.Preconditions;
-
-/**
- * Specification for a {@link WebServiceRequest}.
- *
- * @author inder
- */
-public final class RequestSpec {
-
- private final HeaderMapSpec headersSpec;
- private final RequestBodySpec bodySpec;
-
- public RequestSpec(HeaderMapSpec headersSpec, RequestBodySpec bodySpec) {
- Preconditions.checkNotNull(headersSpec);
- Preconditions.checkNotNull(bodySpec);
-
- this.headersSpec = headersSpec;
- this.bodySpec = bodySpec;
- }
-
- public HeaderMapSpec getHeadersSpec() {
- return headersSpec;
- }
-
- public RequestBodySpec getBodySpec() {
- return bodySpec;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder("{headersSpec:");
- sb.append(headersSpec).append(",bodySpec:");
- sb.append(bodySpec).append("}");
- return sb.toString();
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseBody.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseBody.java
deleted file mode 100644
index 5a0f4bb..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseBody.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import com.google.gson.webservice.definition.ContentBody;
-import com.google.gson.webservice.definition.ParamMap;
-import com.google.gson.webservice.definition.TypedKey;
-
-import java.lang.reflect.Type;
-import java.util.Map;
-
-/**
- * body of the response. This is written out as JSON to be sent out to the client.
- * This class omits the default constructor for use by Gson. Instead the user must use
- * {@link com.google.gson.webservice.definition.procedural.ResponseBodyGsonConverter}
- *
- * @author inder
- */
-public final class ResponseBody extends ContentBody {
-
- public static class Builder extends ParamMap.Builder<ResponseBodySpec> {
-
- public Builder(ResponseBodySpec spec) {
- super(spec);
- }
-
- @Override
- public Builder put(String paramName, Object content) {
- return (Builder) super.put(paramName, content);
- }
-
- @Override
- public Builder put(String paramName, Object content, Type typeOfContent) {
- return (Builder) super.put(paramName, content, typeOfContent);
- }
-
- @Override
- public <T> Builder put(TypedKey<T> paramKey, T param) {
- return (Builder) super.put(paramKey, param);
- }
-
- public ResponseBody build() {
- return new ResponseBody(spec, contents);
- }
- }
-
- private ResponseBody(ResponseBodySpec spec, Map<String, Object> contents) {
- super(spec, contents);
- }
-
- @Override
- public ResponseBodySpec getSpec() {
- return (ResponseBodySpec) spec;
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseBodyGsonConverter.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseBodyGsonConverter.java
deleted file mode 100644
index ccdb25e..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseBodyGsonConverter.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import java.lang.reflect.Type;
-import java.util.Map;
-
-import com.google.gson.InstanceCreator;
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParseException;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-
-/**
- * Gson type adapter for {@link ResponseBody}.
- *
- * @author inder
- */
-public final class ResponseBodyGsonConverter implements JsonSerializer<ResponseBody>,
- JsonDeserializer<ResponseBody>, InstanceCreator<ResponseBody> {
-
- private final ResponseBodySpec spec;
-
- public ResponseBodyGsonConverter(ResponseBodySpec spec) {
- this.spec = spec;
- }
-
- @Override
- public JsonElement serialize(ResponseBody src, Type typeOfSrc,
- JsonSerializationContext context) {
- JsonObject root = new JsonObject();
- for(Map.Entry<String, Object> entry : src.entrySet()) {
- String key = entry.getKey();
- Type entryType = src.getSpec().getTypeFor(key);
- JsonElement value = context.serialize(entry.getValue(), entryType);
- root.add(key, value);
- }
- return root;
- }
-
- @Override
- public ResponseBody deserialize(JsonElement json, Type typeOfT,
- JsonDeserializationContext context) throws JsonParseException {
- ResponseBody.Builder responseBodyBuilder = new ResponseBody.Builder(spec);
- for (Map.Entry<String, JsonElement> entry : json.getAsJsonObject().entrySet()) {
- String key = entry.getKey();
- Type entryType = spec.getTypeFor(key);
- Object value = context.deserialize(entry.getValue(), entryType);
- responseBodyBuilder.put(key, value, entryType);
- }
- return responseBodyBuilder.build();
- }
-
- @Override
- public ResponseBody createInstance(Type type) {
- return new ResponseBody.Builder(spec).build();
- }
-}
\ No newline at end of file
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseBodySpec.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseBodySpec.java
deleted file mode 100644
index 2b3022e..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseBodySpec.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import com.google.gson.webservice.definition.ContentBodySpec;
-
-import java.lang.reflect.Type;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-/**
- * Specification of a {@link ResponseBody}.
- *
- * @author inder
- */
-public final class ResponseBodySpec extends ContentBodySpec {
-
- public static class Builder {
- private final Map<String, Type> paramsSpec = new LinkedHashMap<String, Type>();
- public Builder add(String paramName, Type type) {
- paramsSpec.put(paramName, type);
- return this;
- }
-
- public ResponseBodySpec build() {
- ResponseBodySpec spec = new ResponseBodySpec(paramsSpec);
- return spec;
- }
- }
-
- public ResponseBodySpec(Map<String, Type> paramsSpec) {
- super(paramsSpec);
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseSpec.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseSpec.java
deleted file mode 100644
index 9ecc4d4..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/ResponseSpec.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.internal.utils.Preconditions;
-
-/**
- * Specification for a {@link WebServiceResponse}.
- *
- * @author inder
- */
-public final class ResponseSpec {
- private final HeaderMapSpec headersSpec;
- private final ResponseBodySpec bodySpec;
-
- public ResponseSpec(HeaderMapSpec headersSpec, ResponseBodySpec bodySpec) {
- Preconditions.checkNotNull(headersSpec);
- Preconditions.checkNotNull(bodySpec);
-
- this.headersSpec = headersSpec;
- this.bodySpec = bodySpec;
- }
-
- public ResponseBodySpec getBodySpec() {
- return bodySpec;
- }
-
- public HeaderMapSpec getHeadersSpec() {
- return headersSpec;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder("{headersSpec:");
- sb.append(headersSpec).append(",bodySpec:");
- sb.append(bodySpec).append("}");
- return sb.toString();
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceCall.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceCall.java
deleted file mode 100644
index faa8f47..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceCall.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-
-/**
- * The data associated with a Web service call. This includes http request header parameters (form
- * and URL parameters), {@link RequestBody}, response header parameters, and {@link ResponseBody}.
- *
- * @author inder
- */
-public final class WebServiceCall {
-
- private final WebServiceCallSpec callSpec;
- private final WebServiceRequest request;
- private final WebServiceResponse response;
-
- public WebServiceCall(WebServiceCallSpec callSpec, WebServiceRequest request,
- WebServiceResponse response) {
- this.callSpec = callSpec;
- this.request = request;
- this.response = response;
- }
-
- public WebServiceCallSpec getSpec() {
- return callSpec;
- }
-
- public WebServiceRequest getRequest() {
- return request;
- }
-
- public WebServiceResponse getResponse() {
- return response;
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceCallSpec.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceCallSpec.java
deleted file mode 100644
index 693ad74..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceCallSpec.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import com.google.gson.webservice.definition.CallPath;
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.HttpMethod;
-import com.google.gson.webservice.definition.TypedKey;
-import com.google.gson.webservice.definition.internal.utils.Preconditions;
-
-import java.util.Arrays;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-/**
- * Specification for a Json web service call. The call includes the relative path where the call
- * is available, the specification of requests, and responses.
- *
- * @author inder
- */
-public final class WebServiceCallSpec {
-
- public static final WebServiceCallSpec NULL_SPEC = new Builder(new CallPath("")).build();
-
- public static class Builder {
- private final CallPath callPath;
- private final Set<HttpMethod> supportedHttpMethods = new LinkedHashSet<HttpMethod>();
- private final HeaderMapSpec.Builder reqParamsSpecBuilder = new HeaderMapSpec.Builder();
- private final RequestBodySpec.Builder reqBodySpecBuilder = new RequestBodySpec.Builder();
- private final HeaderMapSpec.Builder resParamsSpecBuilder = new HeaderMapSpec.Builder();
- private final ResponseBodySpec.Builder resBodySpecBuilder = new ResponseBodySpec.Builder();
-
- public Builder(CallPath callPath) {
- this.callPath = callPath;
- }
-
- /**
- * If this method is not invoked, then it is assumed that the WebServiceCall supports all
- * methods specified in {@link HttpMethod#values()}.
- *
- * @param httpMethods list of methods that this call supports.
- * @return self to follow the Builder pattern.
- */
- public Builder supportsHttpMethod(HttpMethod... httpMethods) {
- supportedHttpMethods.addAll(Arrays.asList(httpMethods));
- return this;
- }
-
- public <T> Builder addRequestParam(TypedKey<T> param) {
- reqParamsSpecBuilder.put(param.getName(), param.getClassOfT());
- return this;
- }
-
- public <T> Builder addRequestBodyParam(TypedKey<T> param) {
- reqBodySpecBuilder.add(param.getName(), param.getClassOfT());
- return this;
- }
-
- public <T> Builder addResponseParam(TypedKey<T> param) {
- resParamsSpecBuilder.put(param.getName(), param.getClassOfT());
- return this;
- }
-
- public <T> Builder addResponseBodyParam(TypedKey<T> param) {
- resBodySpecBuilder.add(param.getName(), param.getClassOfT());
- return this;
- }
-
- public WebServiceCallSpec build() {
- if (supportedHttpMethods.isEmpty()) {
- supportedHttpMethods.addAll(Arrays.asList(HttpMethod.values()));
- }
- RequestSpec requestSpec =
- new RequestSpec(reqParamsSpecBuilder.build(), reqBodySpecBuilder.build());
- ResponseSpec responseSpec =
- new ResponseSpec(resParamsSpecBuilder.build(), resBodySpecBuilder.build());
- WebServiceCallSpec callSpec = new WebServiceCallSpec(supportedHttpMethods, callPath,
- requestSpec, responseSpec);
- return callSpec;
- }
- }
-
- private final Set<HttpMethod> supportedHttpMethods;
- private final CallPath path;
- private final ResponseSpec responseSpec;
- private final RequestSpec requestSpec;
-
- private WebServiceCallSpec(Set<HttpMethod> supportedHttpMethods, CallPath path,
- RequestSpec requestSpec, ResponseSpec responseSpec) {
- Preconditions.checkArgument(!supportedHttpMethods.isEmpty());
- Preconditions.checkNotNull(path);
-
- this.supportedHttpMethods = supportedHttpMethods;
- this.path = path;
- this.requestSpec = requestSpec;
- this.responseSpec = responseSpec;
- }
-
- public CallPath getPath() {
- return path;
- }
-
- public Set<HttpMethod> getSupportedHttpMethods() {
- return supportedHttpMethods;
- }
-
- public ResponseSpec getResponseSpec() {
- return responseSpec;
- }
-
- public RequestSpec getRequestSpec() {
- return requestSpec;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder("{path:");
- sb.append(path).append(",supportedHttpMethods:[");
- boolean first = true;
- for (HttpMethod method : supportedHttpMethods) {
- if (first) {
- first = false;
- } else {
- sb.append(",");
- }
- sb.append(method);
- }
- sb.append("],requestSpec:").append(requestSpec);
- sb.append(",responseSpec:").append(responseSpec).append("}");
- return sb.toString();
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceRequest.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceRequest.java
deleted file mode 100644
index b5db785..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceRequest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import com.google.gson.webservice.definition.ContentBodySpec;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HttpMethod;
-import com.google.gson.webservice.definition.TypedKey;
-
-/**
- * The data associated with a Web service request. This includes HTTP request header parameters
- * (form and URL parameters), and {@link RequestBody}.
- *
- * @author inder
- */
-public final class WebServiceRequest {
- private final HttpMethod method;
- private final HeaderMap headers;
- private final RequestBody body;
- private final RequestSpec spec;
-
- public WebServiceRequest(HttpMethod method, HeaderMap requestHeaders, RequestBody requestBody) {
- this.method = method;
- this.body = requestBody;
- this.headers = requestHeaders;
- this.spec = new RequestSpec(requestHeaders.getSpec(), requestBody.getSpec());
- }
-
- public HttpMethod getMethod() {
- return method;
- }
-
- public RequestSpec getSpec() {
- return spec;
- }
-
- public HttpMethod getHttpMethod() {
- return method;
- }
-
- public RequestBody getBody() {
- return body;
- }
-
- public HeaderMap getHeaders() {
- return headers;
- }
-
- public String getContentType() {
- return ContentBodySpec.JSON_CONTENT_TYPE;
- }
-
- public <T> T getHeader(TypedKey<T> headerKey) {
- return headers.get(headerKey);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder("{");
- sb.append(method).append(",");
- sb.append(",headers:").append(headers);
- sb.append(",body:").append(body);
- sb.append("}");
- return sb.toString();
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceResponse.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceResponse.java
deleted file mode 100644
index 66132ef..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceResponse.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.TypedKey;
-
-import java.lang.reflect.Type;
-
-/**
- * The data associated with a Web service response. This includes http response header parameters,
- * and {@link ResponseBody}.
- *
- * @author inder
- */
-public final class WebServiceResponse {
-
- private final HeaderMap headers;
- private final ResponseBody body;
- private final ResponseSpec spec;
-
- public static class Builder {
- private final HeaderMap.Builder headers;
- private final ResponseBody.Builder body;
- private final ResponseSpec spec;
-
- public Builder(ResponseSpec spec) {
- this.spec = spec;
- headers = new HeaderMap.Builder(spec.getHeadersSpec());
- body = new ResponseBody.Builder(spec.getBodySpec());
- }
-
- public Builder putHeader(String paramName, Object content) {
- headers.put(paramName, content);
- return this;
- }
-
- public Builder putHeader(String paramName, Object content, Type typeOfContent) {
- headers.put(paramName, content, typeOfContent);
- return this;
- }
-
- public <T> Builder putBody(TypedKey<T> paramName, T content) {
- return putBody(paramName.getName(), content);
- }
-
- public Builder putBody(String paramName, Object content) {
- body.put(paramName, content);
- return this;
- }
-
- public Builder put(String paramName, Object content, Type typeOfContent) {
- body.put(paramName, content, typeOfContent);
- return this;
- }
-
- public WebServiceResponse build() {
- return new WebServiceResponse(spec, headers.build(), body.build());
- }
- }
-
- private WebServiceResponse(ResponseSpec spec, HeaderMap headers, ResponseBody body) {
- this.spec = spec;
- this.headers = headers;
- this.body = body;
- }
-
- public WebServiceResponse(HeaderMap responseHeaders, ResponseBody responseBody) {
- this.spec = new ResponseSpec(responseHeaders.getSpec(), responseBody.getSpec());
- this.headers = responseHeaders;
- this.body = responseBody;
- }
-
- public ResponseSpec getSpec() {
- return spec;
- }
-
- public HeaderMap getHeaders() {
- return headers;
- }
-
- public ResponseBody getBody() {
- return body;
- }
-
- @SuppressWarnings("unchecked")
- public <T> T getHeader(String headerName) {
- return (T) headers.get(headerName);
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder("{headers:");
- sb.append(headers);
- sb.append(",body:").append(body);
- sb.append("}");
- return sb.toString();
- }
-}
diff --git a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceSpec.java b/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceSpec.java
deleted file mode 100644
index 7cd5d89..0000000
--- a/wsdef/src/main/java/com/google/gson/webservice/definition/procedural/WebServiceSpec.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2008 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.webservice.definition.procedural;
-
-import com.google.gson.webservice.definition.CallPathMap;
-
-/**
- * Specification of the Web service. This contains a specification of all the
- * {@link WebServiceCall}s supported by this Web service.
- *
- * @author inder
- */
-public interface WebServiceSpec {
- public CallPathMap<WebServiceCallSpec> getCalls();
-}
diff --git a/wsdef/src/test/java/com/google/gson/rest/definition/IdTest.java b/wsdef/src/test/java/com/google/gson/rest/definition/IdTest.java
deleted file mode 100644
index 9a2e72b..0000000
--- a/wsdef/src/test/java/com/google/gson/rest/definition/IdTest.java
+++ /dev/null
@@ -1,55 +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.rest.definition;
-
-import java.lang.reflect.ParameterizedType;
-
-import junit.framework.TestCase;
-
-import com.google.gson.reflect.TypeToken;
-import com.google.gson.rest.definition.ValueBasedId;
-
-/**
- * Unit test for {@link ValueBasedId}
- *
- * @author inder
- */
-public class IdTest extends TestCase {
-
- public void testRawTypeNotEqualToParameterizedOfConcreteType() {
- ParameterizedType type = (ParameterizedType) new TypeToken<ValueBasedId<Foo>>(){}.getType();
- assertFalse(ValueBasedId.areEquivalentTypes(type, ValueBasedId.class));
- }
-
- public void testRawTypeEqualToParameterizedOfWildcardType() {
- ParameterizedType fooType = (ParameterizedType) new TypeToken<ValueBasedId<?>>(){}.getType();
- assertTrue(ValueBasedId.areEquivalentTypes(fooType, ValueBasedId.class));
- }
-
- public void testStaticEquals() {
- ValueBasedId<Foo> id1 = ValueBasedId.get(3L, Foo.class);
- ValueBasedId<Foo> id2 = ValueBasedId.get(3L, Foo.class);
- ValueBasedId<Foo> id3 = ValueBasedId.get(4L, Foo.class);
- assertTrue(ValueBasedId.equals(id1, id2));
- assertFalse(ValueBasedId.equals(null, id2));
- assertFalse(ValueBasedId.equals(id1, null));
- assertTrue(ValueBasedId.equals(null, null));
- assertFalse(ValueBasedId.equals(id1, id3));
- }
-
- private static class Foo {
- }
-}
diff --git a/wsdef/src/test/java/com/google/gson/rest/definition/IdTypeAdapterTest.java b/wsdef/src/test/java/com/google/gson/rest/definition/IdTypeAdapterTest.java
deleted file mode 100644
index 98f4b5e..0000000
--- a/wsdef/src/test/java/com/google/gson/rest/definition/IdTypeAdapterTest.java
+++ /dev/null
@@ -1,133 +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.rest.definition;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.reflect.TypeToken;
-import com.google.gson.rest.definition.ValueBasedId;
-
-/**
- * Unit tests for {@link ValueBasedId.GsonTypeAdapter}
- *
- * @author inder
- */
-public class IdTypeAdapterTest extends TestCase {
- private static final ValueBasedId<Student> STUDENT1_ID = ValueBasedId.get(5L, Student.class);
- private static final ValueBasedId<Student> STUDENT2_ID = ValueBasedId.get(6L, Student.class);
- private static final Student STUDENT1 = new Student(STUDENT1_ID, "first");
- private static final Student STUDENT2 = new Student(STUDENT2_ID, "second");
- private static final Type TYPE_COURSE_HISTORY =
- new TypeToken<Course<HistoryCourse>>(){}.getType();
- private static final ValueBasedId<Course<HistoryCourse>> COURSE_ID = ValueBasedId.get(10L, TYPE_COURSE_HISTORY);
-
- private Gson gson;
- private Course<HistoryCourse> course;
-
- @Override
- protected void setUp() {
- gson = new GsonBuilder()
- .registerTypeAdapter(ValueBasedId.class, new ValueBasedId.GsonTypeAdapter())
- .create();
- course = new Course<HistoryCourse>(COURSE_ID, 4,
- new Assignment<HistoryCourse>(null, null), createList(STUDENT1, STUDENT2));
- }
-
- public void testSerializeId() {
- String json = gson.toJson(course, TYPE_COURSE_HISTORY);
- assertTrue(json.contains(String.valueOf(COURSE_ID.getValue())));
- assertTrue(json.contains(String.valueOf(STUDENT1_ID.getValue())));
- assertTrue(json.contains(String.valueOf(STUDENT2_ID.getValue())));
- }
-
- public void testDeserializeId() {
- String json = "{courseId:1,students:[{id:1,name:'first'},{id:6,name:'second'}],"
- + "numAssignments:4,assignment:{}}";
- Course<HistoryCourse> target = gson.fromJson(json, TYPE_COURSE_HISTORY);
- assertEquals(1, target.getStudents().get(0).id.getValue());
- assertEquals(6, target.getStudents().get(1).id.getValue());
- assertEquals(1, target.getId().getValue());
- }
-
- @SuppressWarnings("unused")
- private static class Student {
- ValueBasedId<Student> id;
- String name;
-
- private Student() {
- this(null, null);
- }
- public Student(ValueBasedId<Student> id, String name) {
- this.id = id;
- this.name = name;
- }
- }
- @SuppressWarnings("unused")
- private static class Course<T> {
- final List<Student> students;
- private final ValueBasedId<Course<T>> courseId;
- private final int numAssignments;
- private final Assignment<T> assignment;
-
- private Course() {
- this(null, 0, null, new ArrayList<Student>());
- }
-
- public Course(ValueBasedId<Course<T>> courseId, int numAssignments,
- Assignment<T> assignment, List<Student> players) {
- this.courseId = courseId;
- this.numAssignments = numAssignments;
- this.assignment = assignment;
- this.students = players;
- }
- public ValueBasedId<Course<T>> getId() {
- return courseId;
- }
- List<Student> getStudents() {
- return students;
- }
- }
-
- @SuppressWarnings("unused")
- private static class Assignment<T> {
- private final ValueBasedId<Assignment<T>> id;
- private final T data;
-
- private Assignment() {
- this(null, null);
- }
- public Assignment(ValueBasedId<Assignment<T>> id, T data) {
- this.id = id;
- this.data = data;
- }
- }
-
- @SuppressWarnings("unused")
- private static class HistoryCourse {
- int numClasses;
- }
-
- private static <T> List<T> createList(T ...items) {
- return Arrays.asList(items);
- }
-}
diff --git a/wsdef/src/test/java/com/google/gson/webservice/definition/CallPathTest.java b/wsdef/src/test/java/com/google/gson/webservice/definition/CallPathTest.java
deleted file mode 100644
index eae6d6d..0000000
--- a/wsdef/src/test/java/com/google/gson/webservice/definition/CallPathTest.java
+++ /dev/null
@@ -1,82 +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.webservice.definition;
-
-import com.google.gson.rest.definition.ID;
-
-import junit.framework.TestCase;
-
-/**
- * Unit test for {@link CallPath}
- *
- * @author inder
- */
-public class CallPathTest extends TestCase {
-
- public void testVersionIsSkipped() {
- CallPath path = new CallPath("/1.0/rest/service1");
- assertEquals("/rest/service1", path.get());
- assertEquals(1D, path.getVersion());
- assertEquals(ID.INVALID_ID, path.getResourceId());
- }
-
- public void testVersionNotPresent() {
- CallPath path = new CallPath("/rest/service1");
- assertEquals("/rest/service1", path.get());
- assertEquals(CallPath.IGNORE_VERSION, path.getVersion());
- assertEquals(ID.INVALID_ID, path.getResourceId());
- }
-
- public void testResourceIdPresent() {
- CallPath path = new CallPath("/rest/service/3");
- assertEquals("/rest/service", path.get());
- assertEquals(3L, path.getResourceId());
- }
-
- public void testResourceIdWithEndSlashPresent() {
- CallPath path = new CallPath("/rest/service/3/");
- assertEquals("/rest/service", path.get());
- assertEquals(3L, path.getResourceId());
- }
-
- public void testVersionAndResourceIdPresent() {
- CallPath path = new CallPath("/3.1/rest/service53/323222");
- assertEquals(3.1D, path.getVersion());
- assertEquals("/rest/service53", path.get());
- assertEquals(323222L, path.getResourceId());
- }
-
- public void testNullPath() {
- CallPath path = new CallPath(null);
- assertEquals(CallPath.IGNORE_VERSION, path.getVersion());
- assertEquals(ID.INVALID_ID, path.getResourceId());
- assertNull(path.get());
- }
-
- public void testEmptyPath() {
- CallPath path = new CallPath("");
- assertEquals(CallPath.IGNORE_VERSION, path.getVersion());
- assertEquals(ID.INVALID_ID, path.getResourceId());
- assertEquals("", path.get());
- }
-
- public void testWhiteSpacePath() {
- CallPath path = new CallPath("\r\n");
- assertEquals(CallPath.IGNORE_VERSION, path.getVersion());
- assertEquals(ID.INVALID_ID, path.getResourceId());
- assertEquals("\r\n", path.get());
- }
-}
diff --git a/wsdef/src/test/java/com/google/gson/webservice/definition/TypedKeyTest.java b/wsdef/src/test/java/com/google/gson/webservice/definition/TypedKeyTest.java
deleted file mode 100644
index 309f3aa..0000000
--- a/wsdef/src/test/java/com/google/gson/webservice/definition/TypedKeyTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2010 Google Inc. All Rights Reserved.
-
-package com.google.gson.webservice.definition;
-
-import junit.framework.TestCase;
-
-/**
- * Unit tests for {@link TypedKey}
- *
- * @author inder
- */
-public class TypedKeyTest extends TestCase {
-
- public void testEqualsForSameName() {
- assertEquals(new TypedKey<String>("name", String.class),
- new TypedKey<String>(new String("name"), String.class));
- }
-
- public void testEqualsFailsForDifferentClasses() {
- assertFalse(new TypedKey<Object>("name", Object.class).equals(
- new TypedKey<String>("name", String.class)));
- }
-}
diff --git a/wsexample/client/pom.xml b/wsexample/client/pom.xml
index e2602c0..fe13a86 100644
--- a/wsexample/client/pom.xml
+++ b/wsexample/client/pom.xml
@@ -56,9 +56,9 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>wsdef</artifactId>
- <version>0.1</version>
+ <groupId>com.google.code.greaze</groupId>
+ <artifactId>greaze-definition</artifactId>
+ <version>0.5</version>
<scope>compile</scope>
</dependency>
<dependency>
diff --git a/wsexample/client/src/main/java/com/google/gson/example/client/ExampleClient.java b/wsexample/client/src/main/java/com/google/gson/example/client/ExampleClient.java
index 176dc3e..84790b2 100644
--- a/wsexample/client/src/main/java/com/google/gson/example/client/ExampleClient.java
+++ b/wsexample/client/src/main/java/com/google/gson/example/client/ExampleClient.java
@@ -15,6 +15,12 @@
*/
package com.google.gson.example.client;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HttpMethod;
+import com.google.greaze.definition.webservice.RequestBody;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.WebServiceRequest;
+import com.google.greaze.definition.webservice.WebServiceResponse;
import com.google.gson.example.model.Cart;
import com.google.gson.example.model.LineItem;
import com.google.gson.example.model.Order;
@@ -22,12 +28,6 @@
import com.google.gson.example.service.SampleJsonService;
import com.google.gson.webservice.client.ServerConfig;
import com.google.gson.webservice.client.WebServiceClient;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HttpMethod;
-import com.google.gson.webservice.definition.procedural.RequestBody;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
-import com.google.gson.webservice.definition.procedural.WebServiceResponse;
import java.util.ArrayList;
import java.util.List;
diff --git a/wsexample/client/src/main/java/com/google/gson/example/rest/client/OrderClient.java b/wsexample/client/src/main/java/com/google/gson/example/rest/client/OrderClient.java
index 037224f..4e39948 100644
--- a/wsexample/client/src/main/java/com/google/gson/example/rest/client/OrderClient.java
+++ b/wsexample/client/src/main/java/com/google/gson/example/rest/client/OrderClient.java
@@ -14,6 +14,8 @@
* limitations under the License.
*/package com.google.gson.example.rest.client;
+import com.google.greaze.definition.CallPath;
+import com.google.greaze.definition.rest.ValueBasedId;
import com.google.gson.Gson;
import com.google.gson.example.model.Cart;
import com.google.gson.example.model.LineItem;
@@ -21,11 +23,9 @@
import com.google.gson.example.model.QueryOrdersByItemName;
import com.google.gson.rest.client.ResourceDepotClient;
import com.google.gson.rest.client.RestClientStub;
-import com.google.gson.rest.definition.ValueBasedId;
import com.google.gson.rest.query.client.ResourceQueryClient;
import com.google.gson.webservice.client.ServerConfig;
import com.google.gson.webservice.client.WebServiceClient;
-import com.google.gson.webservice.definition.CallPath;
import java.util.ArrayList;
import java.util.List;
diff --git a/wsexample/definition/pom.xml b/wsexample/definition/pom.xml
index 13ca6fa..a77122f 100644
--- a/wsexample/definition/pom.xml
+++ b/wsexample/definition/pom.xml
@@ -56,9 +56,9 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>wsdef</artifactId>
- <version>0.1</version>
+ <groupId>com.google.code.greaze</groupId>
+ <artifactId>greaze-definition</artifactId>
+ <version>0.5</version>
<scope>compile</scope>
</dependency>
diff --git a/wsexample/definition/src/main/java/com/google/gson/example/model/Cart.java b/wsexample/definition/src/main/java/com/google/gson/example/model/Cart.java
index 2f44184..430cb07 100644
--- a/wsexample/definition/src/main/java/com/google/gson/example/model/Cart.java
+++ b/wsexample/definition/src/main/java/com/google/gson/example/model/Cart.java
@@ -15,8 +15,8 @@
*/
package com.google.gson.example.model;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.rest.definition.ValueBasedId;
+import com.google.greaze.definition.rest.RestResource;
+import com.google.greaze.definition.rest.ValueBasedId;
import java.util.List;
diff --git a/wsexample/definition/src/main/java/com/google/gson/example/model/Order.java b/wsexample/definition/src/main/java/com/google/gson/example/model/Order.java
index 6bf61f6..04d07f4 100644
--- a/wsexample/definition/src/main/java/com/google/gson/example/model/Order.java
+++ b/wsexample/definition/src/main/java/com/google/gson/example/model/Order.java
@@ -15,8 +15,8 @@
*/
package com.google.gson.example.model;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.rest.definition.ValueBasedId;
+import com.google.greaze.definition.rest.RestResource;
+import com.google.greaze.definition.rest.ValueBasedId;
/**
* An order
diff --git a/wsexample/definition/src/main/java/com/google/gson/example/model/TypedKeys.java b/wsexample/definition/src/main/java/com/google/gson/example/model/TypedKeys.java
index bc03fcb..5345afa 100644
--- a/wsexample/definition/src/main/java/com/google/gson/example/model/TypedKeys.java
+++ b/wsexample/definition/src/main/java/com/google/gson/example/model/TypedKeys.java
@@ -15,7 +15,7 @@
*/
package com.google.gson.example.model;
-import com.google.gson.webservice.definition.TypedKey;
+import com.google.greaze.definition.TypedKey;
/**
* Definition of various constants to be used for parameter names of request and response headers,
diff --git a/wsexample/definition/src/main/java/com/google/gson/example/service/SampleJsonService.java b/wsexample/definition/src/main/java/com/google/gson/example/service/SampleJsonService.java
index b438f3d..45ab183 100644
--- a/wsexample/definition/src/main/java/com/google/gson/example/service/SampleJsonService.java
+++ b/wsexample/definition/src/main/java/com/google/gson/example/service/SampleJsonService.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
package com.google.gson.example.service;
+import com.google.greaze.definition.CallPath;
+import com.google.greaze.definition.HttpMethod;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
import com.google.gson.example.model.TypedKeys;
-import com.google.gson.webservice.definition.CallPath;
-import com.google.gson.webservice.definition.HttpMethod;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
/**
* An example of a web-service definition
diff --git a/wsexample/definition/src/main/java/com/google/gson/example/service/ServicePaths.java b/wsexample/definition/src/main/java/com/google/gson/example/service/ServicePaths.java
index c8c3584..d09439b 100644
--- a/wsexample/definition/src/main/java/com/google/gson/example/service/ServicePaths.java
+++ b/wsexample/definition/src/main/java/com/google/gson/example/service/ServicePaths.java
@@ -15,7 +15,7 @@
*/
package com.google.gson.example.service;
-import com.google.gson.webservice.definition.CallPath;
+import com.google.greaze.definition.CallPath;
/**
* An enum describing all paths for this service
diff --git a/wsexample/server/pom.xml b/wsexample/server/pom.xml
index 926e8f7..2bdf8d0 100644
--- a/wsexample/server/pom.xml
+++ b/wsexample/server/pom.xml
@@ -56,9 +56,9 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>wsdef</artifactId>
- <version>0.1</version>
+ <groupId>com.google.code.greaze</groupId>
+ <artifactId>greaze-definition</artifactId>
+ <version>0.5</version>
<scope>compile</scope>
</dependency>
<dependency>
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
index bd9163b..ac6f948 100644
--- 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
@@ -19,7 +19,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import com.google.gson.webservice.definition.CallPath;
+import com.google.greaze.definition.CallPath;
/**
* An example servlet that receives JSON web-service requests
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
index a1b9501..8660fe6 100644
--- 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
@@ -18,22 +18,22 @@
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.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.example.model.Cart;
import com.google.gson.example.model.Order;
import com.google.gson.example.model.TypedKeys;
import com.google.gson.example.service.SampleJsonService;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.procedural.RequestBody;
-import com.google.gson.webservice.definition.procedural.RequestBodyGsonConverter;
-import com.google.gson.webservice.definition.procedural.RequestSpec;
-import com.google.gson.webservice.definition.procedural.ResponseBody;
-import com.google.gson.webservice.definition.procedural.ResponseBodyGsonConverter;
-import com.google.gson.webservice.definition.procedural.ResponseSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
-import com.google.gson.webservice.definition.procedural.WebServiceResponse;
import com.google.gson.wsf.server.procedural.RequestReceiver;
import com.google.gson.wsf.server.procedural.ResponseSender;
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
index 06a43f6..3e13737 100644
--- 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
@@ -18,25 +18,25 @@
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.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.example.model.Cart;
import com.google.gson.example.model.Order;
import com.google.gson.example.service.ServicePaths;
-import com.google.gson.rest.definition.IDFactory;
-import com.google.gson.rest.definition.MetaData;
-import com.google.gson.rest.definition.ResourceMap;
-import com.google.gson.rest.definition.RestCallSpec;
-import com.google.gson.rest.definition.RestRequest;
-import com.google.gson.rest.definition.RestResponse;
-import com.google.gson.rest.definition.ValueBasedId;
import com.google.gson.rest.server.Repository;
import com.google.gson.rest.server.RepositoryInMemory;
import com.google.gson.rest.server.ResponseBuilderMap;
import com.google.gson.rest.server.RestRequestReceiver;
import com.google.gson.rest.server.RestResponseBuilder;
import com.google.gson.rest.server.RestResponseSender;
-import com.google.gson.webservice.definition.CallPath;
/**
* A dispatcher for all the REST requests
diff --git a/wsf/pom.xml b/wsf/pom.xml
index ff89197..c05d2f2 100755
--- a/wsf/pom.xml
+++ b/wsf/pom.xml
@@ -64,9 +64,9 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>wsdef</artifactId>
- <version>0.1</version>
+ <groupId>com.google.code.greaze</groupId>
+ <artifactId>greaze-definition</artifactId>
+ <version>0.5</version>
<scope>compile</scope>
</dependency>
diff --git a/wsf/src/main/java/com/google/gson/rest/server/IdMap.java b/wsf/src/main/java/com/google/gson/rest/server/IdMap.java
index 3e03b72..8bc99dc 100644
--- a/wsf/src/main/java/com/google/gson/rest/server/IdMap.java
+++ b/wsf/src/main/java/com/google/gson/rest/server/IdMap.java
@@ -21,9 +21,9 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import com.google.gson.rest.definition.HasId;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.IDFactory;
+import com.google.greaze.definition.rest.HasId;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.IDFactory;
/**
* This class provides a type-safe map to access values associated with Ids
diff --git a/wsf/src/main/java/com/google/gson/rest/server/MetaDataMap.java b/wsf/src/main/java/com/google/gson/rest/server/MetaDataMap.java
index 38771a8..3846566 100644
--- a/wsf/src/main/java/com/google/gson/rest/server/MetaDataMap.java
+++ b/wsf/src/main/java/com/google/gson/rest/server/MetaDataMap.java
@@ -18,9 +18,9 @@
import java.util.HashMap;
import java.util.Map;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.MetaData;
-import com.google.gson.rest.definition.RestResource;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.MetaData;
+import com.google.greaze.definition.rest.RestResource;
/**
* A map of resources to their MetaData
diff --git a/wsf/src/main/java/com/google/gson/rest/server/Repository.java b/wsf/src/main/java/com/google/gson/rest/server/Repository.java
index bec767e..e19fd65 100644
--- a/wsf/src/main/java/com/google/gson/rest/server/Repository.java
+++ b/wsf/src/main/java/com/google/gson/rest/server/Repository.java
@@ -15,8 +15,8 @@
*/
package com.google.gson.rest.server;
-import com.google.gson.rest.definition.HasId;
-import com.google.gson.rest.definition.ID;
+import com.google.greaze.definition.rest.HasId;
+import com.google.greaze.definition.rest.ID;
/**
* An interface for a repository of rest resources. Meant for abstracting the server-side
diff --git a/wsf/src/main/java/com/google/gson/rest/server/RepositoryInMemory.java b/wsf/src/main/java/com/google/gson/rest/server/RepositoryInMemory.java
index b512aad..259fbce 100644
--- a/wsf/src/main/java/com/google/gson/rest/server/RepositoryInMemory.java
+++ b/wsf/src/main/java/com/google/gson/rest/server/RepositoryInMemory.java
@@ -16,9 +16,9 @@
package com.google.gson.rest.server;
import com.google.common.base.Preconditions;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.MetaData;
-import com.google.gson.rest.definition.RestResource;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.MetaData;
+import com.google.greaze.definition.rest.RestResource;
/**
* An in-memory map of rest resources
diff --git a/wsf/src/main/java/com/google/gson/rest/server/ResponseBuilderMap.java b/wsf/src/main/java/com/google/gson/rest/server/ResponseBuilderMap.java
index e4c6b86..8043b21 100644
--- a/wsf/src/main/java/com/google/gson/rest/server/ResponseBuilderMap.java
+++ b/wsf/src/main/java/com/google/gson/rest/server/ResponseBuilderMap.java
@@ -19,9 +19,9 @@
import java.util.HashMap;
import java.util.Map;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.RestCallSpec;
-import com.google.gson.rest.definition.RestResource;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.RestCallSpec;
+import com.google.greaze.definition.rest.RestResource;
/**
* A map of {@link RestCallSpec}, {@link RestResponseBuilder} to help figure out which
diff --git a/wsf/src/main/java/com/google/gson/rest/server/RestRequestReceiver.java b/wsf/src/main/java/com/google/gson/rest/server/RestRequestReceiver.java
index 7461415..8be4384 100644
--- a/wsf/src/main/java/com/google/gson/rest/server/RestRequestReceiver.java
+++ b/wsf/src/main/java/com/google/gson/rest/server/RestRequestReceiver.java
@@ -24,16 +24,16 @@
import javax.servlet.http.HttpServletRequest;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HeaderMapSpec;
+import com.google.greaze.definition.HttpMethod;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.RestRequest;
+import com.google.greaze.definition.rest.RestRequestSpec;
+import com.google.greaze.definition.rest.RestResource;
import com.google.gson.Gson;
import com.google.gson.JsonParseException;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.RestRequest;
-import com.google.gson.rest.definition.RestRequestSpec;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.HttpMethod;
-import com.google.gson.webservice.definition.WebServiceSystemException;
/**
* Receives and parses a request at the server side on a {@link HttpServletRequest}.
diff --git a/wsf/src/main/java/com/google/gson/rest/server/RestResponseBuilder.java b/wsf/src/main/java/com/google/gson/rest/server/RestResponseBuilder.java
index 9902fd8..ae9bd7d 100644
--- a/wsf/src/main/java/com/google/gson/rest/server/RestResponseBuilder.java
+++ b/wsf/src/main/java/com/google/gson/rest/server/RestResponseBuilder.java
@@ -15,12 +15,12 @@
*/
package com.google.gson.rest.server;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.RestCallSpec;
-import com.google.gson.rest.definition.RestRequest;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.rest.definition.RestResponse;
-import com.google.gson.webservice.definition.HttpMethod;
+import com.google.greaze.definition.HttpMethod;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.RestCallSpec;
+import com.google.greaze.definition.rest.RestRequest;
+import com.google.greaze.definition.rest.RestResource;
+import com.google.greaze.definition.rest.RestResponse;
public class RestResponseBuilder<I extends ID, R extends RestResource<I, R>> {
protected final Repository<I, R> resources;
diff --git a/wsf/src/main/java/com/google/gson/rest/server/RestResponseSender.java b/wsf/src/main/java/com/google/gson/rest/server/RestResponseSender.java
index 623dd52..e34dbd6 100644
--- a/wsf/src/main/java/com/google/gson/rest/server/RestResponseSender.java
+++ b/wsf/src/main/java/com/google/gson/rest/server/RestResponseSender.java
@@ -22,13 +22,13 @@
import javax.servlet.http.HttpServletResponse;
+import com.google.greaze.definition.ContentBodySpec;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HeaderMapSpec;
+import com.google.greaze.definition.rest.ID;
+import com.google.greaze.definition.rest.RestResource;
+import com.google.greaze.definition.rest.RestResponse;
import com.google.gson.Gson;
-import com.google.gson.rest.definition.ID;
-import com.google.gson.rest.definition.RestResource;
-import com.google.gson.rest.definition.RestResponse;
-import com.google.gson.webservice.definition.ContentBodySpec;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HeaderMapSpec;
/**
* Sends a JSON web service response on {@link HttpServletResponse}.
diff --git a/wsf/src/main/java/com/google/gson/wsf/inject/CallPathProvider.java b/wsf/src/main/java/com/google/gson/wsf/inject/CallPathProvider.java
index 7f39b9a..3e74ee0 100644
--- a/wsf/src/main/java/com/google/gson/wsf/inject/CallPathProvider.java
+++ b/wsf/src/main/java/com/google/gson/wsf/inject/CallPathProvider.java
@@ -17,7 +17,7 @@
import javax.servlet.http.HttpServletRequest;
-import com.google.gson.webservice.definition.CallPath;
+import com.google.greaze.definition.CallPath;
import com.google.inject.Inject;
import com.google.inject.Provider;
diff --git a/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/RequestBodySpecProvider.java b/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/RequestBodySpecProvider.java
index d68393a..6bdd987 100644
--- a/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/RequestBodySpecProvider.java
+++ b/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/RequestBodySpecProvider.java
@@ -15,8 +15,8 @@
*/
package com.google.gson.wsf.inject.server.procedural;
-import com.google.gson.webservice.definition.procedural.RequestBodySpec;
-import com.google.gson.webservice.definition.procedural.RequestSpec;
+import com.google.greaze.definition.webservice.RequestBodySpec;
+import com.google.greaze.definition.webservice.RequestSpec;
import com.google.inject.Inject;
import com.google.inject.Provider;
diff --git a/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/RequestSpecProvider.java b/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/RequestSpecProvider.java
index 22a8731..495a300 100644
--- a/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/RequestSpecProvider.java
+++ b/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/RequestSpecProvider.java
@@ -15,8 +15,8 @@
*/
package com.google.gson.wsf.inject.server.procedural;
-import com.google.gson.webservice.definition.procedural.RequestSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.RequestSpec;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
import com.google.inject.Inject;
import com.google.inject.Provider;
diff --git a/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/WebServiceCallServerProvider.java b/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/WebServiceCallServerProvider.java
index b79e417..02eb3df 100755
--- a/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/WebServiceCallServerProvider.java
+++ b/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/WebServiceCallServerProvider.java
@@ -17,11 +17,11 @@
import javax.servlet.http.HttpServletRequest;
+import com.google.greaze.definition.webservice.WebServiceCall;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.WebServiceRequest;
+import com.google.greaze.definition.webservice.WebServiceResponse;
import com.google.gson.Gson;
-import com.google.gson.webservice.definition.procedural.WebServiceCall;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
-import com.google.gson.webservice.definition.procedural.WebServiceResponse;
import com.google.gson.wsf.server.procedural.RequestReceiver;
import com.google.gson.wsf.server.procedural.WebServiceCallServerBuilder;
import com.google.inject.Inject;
diff --git a/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/WebServiceCallSpecProvider.java b/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/WebServiceCallSpecProvider.java
index 51113c5..dbd5bb2 100755
--- a/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/WebServiceCallSpecProvider.java
+++ b/wsf/src/main/java/com/google/gson/wsf/inject/server/procedural/WebServiceCallSpecProvider.java
@@ -15,9 +15,9 @@
*/
package com.google.gson.wsf.inject.server.procedural;
-import com.google.gson.webservice.definition.CallPath;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceSpec;
+import com.google.greaze.definition.CallPath;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.WebServiceSpec;
import com.google.inject.Inject;
import com.google.inject.Provider;
diff --git a/wsf/src/main/java/com/google/gson/wsf/server/procedural/RequestReceiver.java b/wsf/src/main/java/com/google/gson/wsf/server/procedural/RequestReceiver.java
index a8feec0..5c24c2b 100644
--- a/wsf/src/main/java/com/google/gson/wsf/server/procedural/RequestReceiver.java
+++ b/wsf/src/main/java/com/google/gson/wsf/server/procedural/RequestReceiver.java
@@ -24,16 +24,16 @@
import javax.servlet.http.HttpServletRequest;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HeaderMapSpec;
+import com.google.greaze.definition.HttpMethod;
+import com.google.greaze.definition.WebServiceSystemException;
+import com.google.greaze.definition.webservice.RequestBody;
+import com.google.greaze.definition.webservice.RequestBodySpec;
+import com.google.greaze.definition.webservice.RequestSpec;
+import com.google.greaze.definition.webservice.WebServiceRequest;
import com.google.gson.Gson;
import com.google.gson.JsonParseException;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.HttpMethod;
-import com.google.gson.webservice.definition.WebServiceSystemException;
-import com.google.gson.webservice.definition.procedural.RequestBody;
-import com.google.gson.webservice.definition.procedural.RequestBodySpec;
-import com.google.gson.webservice.definition.procedural.RequestSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
/**
* Receives and parses a request at the server side on a {@link HttpServletRequest}.
diff --git a/wsf/src/main/java/com/google/gson/wsf/server/procedural/ResponseBuilder.java b/wsf/src/main/java/com/google/gson/wsf/server/procedural/ResponseBuilder.java
index d3a59a6..cb223e6 100644
--- a/wsf/src/main/java/com/google/gson/wsf/server/procedural/ResponseBuilder.java
+++ b/wsf/src/main/java/com/google/gson/wsf/server/procedural/ResponseBuilder.java
@@ -15,9 +15,9 @@
*/
package com.google.gson.wsf.server.procedural;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
-import com.google.gson.webservice.definition.procedural.WebServiceResponse;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.WebServiceRequest;
+import com.google.greaze.definition.webservice.WebServiceResponse;
/**
* An interface describing a class that can build a response
diff --git a/wsf/src/main/java/com/google/gson/wsf/server/procedural/ResponseSender.java b/wsf/src/main/java/com/google/gson/wsf/server/procedural/ResponseSender.java
index 7afe69d..5e15727 100644
--- a/wsf/src/main/java/com/google/gson/wsf/server/procedural/ResponseSender.java
+++ b/wsf/src/main/java/com/google/gson/wsf/server/procedural/ResponseSender.java
@@ -22,11 +22,11 @@
import javax.servlet.http.HttpServletResponse;
+import com.google.greaze.definition.HeaderMap;
+import com.google.greaze.definition.HeaderMapSpec;
+import com.google.greaze.definition.webservice.ResponseBody;
+import com.google.greaze.definition.webservice.WebServiceResponse;
import com.google.gson.Gson;
-import com.google.gson.webservice.definition.HeaderMap;
-import com.google.gson.webservice.definition.HeaderMapSpec;
-import com.google.gson.webservice.definition.procedural.ResponseBody;
-import com.google.gson.webservice.definition.procedural.WebServiceResponse;
/**
* Sends a JSON web service response on {@link HttpServletResponse}.
diff --git a/wsf/src/main/java/com/google/gson/wsf/server/procedural/WebServiceCallServerBuilder.java b/wsf/src/main/java/com/google/gson/wsf/server/procedural/WebServiceCallServerBuilder.java
index b3ba944..ea3cbdc 100644
--- a/wsf/src/main/java/com/google/gson/wsf/server/procedural/WebServiceCallServerBuilder.java
+++ b/wsf/src/main/java/com/google/gson/wsf/server/procedural/WebServiceCallServerBuilder.java
@@ -15,9 +15,9 @@
*/
package com.google.gson.wsf.server.procedural;
-import com.google.gson.webservice.definition.procedural.WebServiceCallSpec;
-import com.google.gson.webservice.definition.procedural.WebServiceRequest;
-import com.google.gson.webservice.definition.procedural.WebServiceResponse.Builder;
+import com.google.greaze.definition.webservice.WebServiceCallSpec;
+import com.google.greaze.definition.webservice.WebServiceRequest;
+import com.google.greaze.definition.webservice.WebServiceResponse.Builder;
public class WebServiceCallServerBuilder {