You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2014/05/12 10:51:59 UTC
[1/2] git commit: [OLINGO-274] fix V4 json error response's
deserializing ("details" & "innererror")
Repository: olingo-odata4
Updated Branches:
refs/heads/master f1cbc4aff -> c32f4a0bb
[OLINGO-274] fix V4 json error response's deserializing ("details" & "innererror")
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/6f1f4d05
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/6f1f4d05
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/6f1f4d05
Branch: refs/heads/master
Commit: 6f1f4d05bda2f3ee75bf2f6fa6a8668f8ab0b18f
Parents: f02d9a0
Author: challenh <ch...@apache.org>
Authored: Wed May 7 12:42:01 2014 +0800
Committer: challenh <ch...@apache.org>
Committed: Wed May 7 12:42:01 2014 +0800
----------------------------------------------------------------------
fit/src/main/resources/V40/badRequest.json | 50 ++++++++-----
fit/src/main/resources/V40/notFound.json | 44 +++++++++---
.../olingo/fit/v4/ErrorResponseTestITCase.java | 76 ++++++++++++++++++++
.../apache/olingo/commons/api/Constants.java | 4 ++
.../olingo/commons/api/domain/ODataError.java | 17 +++++
.../commons/api/domain/ODataErrorDetail.java | 48 +++++++++++++
.../commons/core/data/AbstractODataError.java | 32 +++++++--
.../core/data/JSONODataErrorDeserializer.java | 34 ++++++++-
.../data/JSONODataErrorDetailDeserializer.java | 66 +++++++++++++++++
.../core/data/JSONODataErrorDetailImpl.java | 62 ++++++++++++++++
10 files changed, 402 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6f1f4d05/fit/src/main/resources/V40/badRequest.json
----------------------------------------------------------------------
diff --git a/fit/src/main/resources/V40/badRequest.json b/fit/src/main/resources/V40/badRequest.json
index b6bc3ac..fbc0c63 100644
--- a/fit/src/main/resources/V40/badRequest.json
+++ b/fit/src/main/resources/V40/badRequest.json
@@ -1,17 +1,35 @@
{
- "odata.error":
- {
- "code": "",
- "message":
- {
- "lang": "en-US",
- "value": "Bad request."
- },
- "innererror":
- {
- "message": "Bad request.",
- "type": "Microsoft.Data.OData.BadRequest",
- "stacktrace": " at Microsoft.Data.OData.MediaTypeUtils.GetContentTypeFromSettings...."
- }
- }
-}
\ No newline at end of file
+
+ "error": {
+
+ "code": "400",
+
+ "message": "Bad request.",
+
+ "target": "query",
+
+ "details": [
+
+ {
+
+ "code": "400",
+
+ "target": "$search" ,
+
+ "message": "Microsoft.Data.OData.BadRequest"
+
+ }
+
+ ],
+
+ "innererror": {
+
+ "trace": ["at Microsoft.Data.OData.MediaTypeUtils.GetContentTypeFromSettings....","callmethod2 etc"],
+
+ "context": {"key1":"for debug deployment only"}
+
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6f1f4d05/fit/src/main/resources/V40/notFound.json
----------------------------------------------------------------------
diff --git a/fit/src/main/resources/V40/notFound.json b/fit/src/main/resources/V40/notFound.json
index fba2ac4..2af4618 100644
--- a/fit/src/main/resources/V40/notFound.json
+++ b/fit/src/main/resources/V40/notFound.json
@@ -1,11 +1,35 @@
{
- "odata.error":
- {
- "code": "",
- "message":
- {
- "lang": "en-US",
- "value": "Resource not found for the segment 'Customer'."
- }
- }
-}
\ No newline at end of file
+
+ "error": {
+
+ "code": "501",
+
+ "message": "Unsupported functionality",
+
+ "target": "query",
+
+ "details": [
+
+ {
+
+ "code": "301",
+
+ "target": "$search",
+
+ "message": "$search query option not supported"
+
+ }
+
+ ],
+
+ "innererror": {
+
+ "trace": ["callmethod1 etc","callmethod2 etc"],
+
+ "context": {"key1":"for debug deployment only"}
+
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6f1f4d05/fit/src/test/java/org/apache/olingo/fit/v4/ErrorResponseTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/v4/ErrorResponseTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v4/ErrorResponseTestITCase.java
new file mode 100644
index 0000000..7e576f0
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/v4/ErrorResponseTestITCase.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.olingo.fit.v4;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.net.URI;
+import java.util.Dictionary;
+
+import org.apache.olingo.client.api.communication.ODataClientErrorException;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
+import org.apache.olingo.commons.api.domain.ODataError;
+import org.apache.olingo.commons.api.domain.ODataErrorDetail;
+import org.apache.olingo.commons.api.domain.v4.ODataEntity;
+import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.junit.Test;
+
+public class ErrorResponseTestITCase extends AbstractTestITCase {
+
+ @Test
+ public void jsonError() {
+
+ ODataPubFormat format = ODataPubFormat.JSON;
+ final URI readURI = getClient().getURIBuilder(testStaticServiceRootURL)
+ .appendEntitySetSegment("Customers").appendKeySegment(32)
+ .build();
+
+ final ODataEntityRequest<ODataEntity> req = getClient()
+ .getRetrieveRequestFactory().getEntityRequest(readURI);
+ try {
+ final ODataEntity read = read(format, readURI);
+ } catch (Exception ex) {
+ ODataError err = ((ODataClientErrorException) ex).getODataError();
+
+ // verify details
+ ODataErrorDetail detail = (ODataErrorDetail) err.getDetails()
+ .get(0);
+ assertEquals("Code should be correct", "301", detail.getCode());
+ assertEquals("Target should be correct", "$search",
+ detail.getTarget());
+ assertEquals("Message should be correct",
+ "$search query option not supported", detail.getMessage());
+
+ // verify inner error dictionary
+ Dictionary<String, Object> innerErr = err.getInnerError();
+ assertEquals("innerError dictionary size should be correct", 2,
+ innerErr.size());
+ assertEquals("innerError['context'] should be correct",
+ "{\"key1\":\"for debug deployment only\"}",
+ innerErr.get("context"));
+ assertEquals("innerError['trace'] should be correct",
+ "[\"callmethod1 etc\",\"callmethod2 etc\"]",
+ innerErr.get("trace"));
+ return;
+ }
+
+ assertNotNull("should have got exception", null);
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6f1f4d05/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java
index 17a65eb..cc6907c 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java
@@ -243,6 +243,10 @@ public interface Constants {
public static final String ERROR_TARGET = "target";
+ public static final String ERROR_DETAILS = "details";
+
+ public static final String ERROR_INNERERROR= "innererror";
+
// canonical functions to be applied via dynamic annotation <tt>Apply</tt>
public static final String CANONICAL_FUNCTION_CONCAT = "odata.concat";
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6f1f4d05/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataError.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataError.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataError.java
index fc309d3..f899d9a 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataError.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataError.java
@@ -18,6 +18,9 @@
*/
package org.apache.olingo.commons.api.domain;
+import java.util.Dictionary;
+import java.util.List;
+
/**
* OData error.
*/
@@ -43,5 +46,19 @@ public interface ODataError {
* @return error message.
*/
String getTarget();
+
+
+ /**
+ * Gets error details.
+ *
+ * @return ODataErrorDetail list.
+ */
+ List<ODataErrorDetail> getDetails();
+ /**
+ * Gets server defined key-value pairs for debug environment only.
+ *
+ * @return a Dictionary representing server defined object.
+ */
+ Dictionary<String, Object> getInnerError();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6f1f4d05/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataErrorDetail.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataErrorDetail.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataErrorDetail.java
new file mode 100644
index 0000000..462e91e
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataErrorDetail.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.olingo.commons.api.domain;
+
+/**
+ * OData details, for example - { "error": {..., "details":[
+ * {"code": "301","target": "$search" ,"message": "$search query option not supported"}
+ * ],...}}
+ */
+public interface ODataErrorDetail {
+
+ /**
+ * Gets error code.
+ *
+ * @return error code.
+ */
+ String getCode();
+
+ /**
+ * Gets error message.
+ *
+ * @return error message.
+ */
+ String getMessage();
+
+ /**
+ * Gets error target.
+ *
+ * @return error message.
+ */
+ String getTarget();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6f1f4d05/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractODataError.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractODataError.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractODataError.java
index 931a38b..62cbebf 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractODataError.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractODataError.java
@@ -18,9 +18,12 @@
*/
package org.apache.olingo.commons.core.data;
+import java.util.Dictionary;
+import java.util.List;
+
import org.apache.olingo.commons.api.domain.ODataError;
+import org.apache.olingo.commons.api.domain.ODataErrorDetail;
-// TODO p2 supports V4:
// {
// "error": {
// "code": "501",
@@ -29,10 +32,10 @@ import org.apache.olingo.commons.api.domain.ODataError;
// "details": [
// {
// "code": "301",
-// "target": "$search"
-// "message": "$search query option not supported",
+// "target": "$search",
+// "message": "$search query option not supported"
// }
-// ]
+// ],
// "innererror": {
// "trace": [...],
// "context": {...}
@@ -47,6 +50,10 @@ public abstract class AbstractODataError implements ODataError {
private String target;
+ private List<ODataErrorDetail> details;
+
+ private Dictionary<String,Object> innerError;
+
@Override
public String getCode() {
return code;
@@ -74,4 +81,21 @@ public abstract class AbstractODataError implements ODataError {
this.target = target;
}
+ @Override
+ public List<ODataErrorDetail> getDetails() {
+ return details;
+ }
+
+ public void setDetails(final List<ODataErrorDetail> detail) {
+ this.details = detail;
+ }
+
+ @Override
+ public Dictionary<String,Object> getInnerError() {
+ return innerError;
+ }
+
+ public void setInnerError(final Dictionary<String,Object> innerError) {
+ this.innerError = innerError;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6f1f4d05/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDeserializer.java
index 43ee06c..50fa1f9 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDeserializer.java
@@ -20,13 +20,23 @@ package org.apache.olingo.commons.core.data;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
+
import java.io.IOException;
import java.net.URI;
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+
import org.apache.olingo.commons.api.Constants;
+import org.apache.olingo.commons.api.data.Entity;
import org.apache.olingo.commons.api.data.ResWrap;
+import org.apache.olingo.commons.api.domain.ODataErrorDetail;
public class JSONODataErrorDeserializer extends AbstractJsonDeserializer<JSONODataErrorImpl> {
@@ -54,8 +64,30 @@ public class JSONODataErrorDeserializer extends AbstractJsonDeserializer<JSONODa
if (errorNode.has(Constants.ERROR_TARGET)) {
error.setTarget(errorNode.get(Constants.ERROR_TARGET).textValue());
}
+ if (errorNode.hasNonNull(Constants.ERROR_DETAILS)) {
+ List<ODataErrorDetail> details = new ArrayList<ODataErrorDetail>();
+ for (final Iterator<JsonNode> itor = errorNode.get(Constants.ERROR_DETAILS).iterator(); itor.hasNext();) {
+ details.add(
+ itor.next().traverse(parser.getCodec()).<ResWrap<JSONODataErrorDetailImpl>>readValueAs(
+ new TypeReference<JSONODataErrorDetailImpl>() {
+ }).getPayload());
+ }
+
+ error.setDetails(details);
+ }
+ if (errorNode.hasNonNull(Constants.ERROR_INNERERROR)) {
+ JsonNode innerError = errorNode.get(Constants.ERROR_INNERERROR);
+ Dictionary<String, Object> innerErr = new Hashtable<String, Object>();
+ for (final Iterator<String> itor = innerError.fieldNames(); itor.hasNext();) {
+ String keyTmp = itor.next();
+ String val = innerError.get(keyTmp).toString();
+ innerErr.put(keyTmp,val);
+ }
+
+ error.setInnerError(innerErr);
+ }
}
-
+
return new ResWrap<JSONODataErrorImpl>((URI) null, null, error);
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6f1f4d05/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDetailDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDetailDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDetailDeserializer.java
new file mode 100644
index 0000000..9c2ce7b
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDetailDeserializer.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.olingo.commons.core.data;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.olingo.commons.api.Constants;
+import org.apache.olingo.commons.api.data.Entity;
+import org.apache.olingo.commons.api.data.ResWrap;
+import org.apache.olingo.commons.api.domain.ODataErrorDetail;
+
+public class JSONODataErrorDetailDeserializer extends
+ AbstractJsonDeserializer<JSONODataErrorDetailImpl> {
+
+ @Override
+ protected ResWrap<JSONODataErrorDetailImpl> doDeserialize(
+ final JsonParser parser, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final JSONODataErrorDetailImpl error = new JSONODataErrorDetailImpl();
+ final JsonNode errorNode = parser.getCodec().readTree(parser);
+ if (errorNode.has(Constants.ERROR_CODE)) {
+ error.setCode(errorNode.get(Constants.ERROR_CODE).textValue());
+ }
+ if (errorNode.has(Constants.ERROR_MESSAGE)) {
+ final JsonNode message = errorNode.get(Constants.ERROR_MESSAGE);
+ if (message.isValueNode()) {
+ error.setMessage(message.textValue());
+ } else if (message.isObject()) {
+ error.setMessage(message.get(Constants.VALUE).asText());
+ }
+ }
+ if (errorNode.has(Constants.ERROR_TARGET)) {
+ error.setTarget(errorNode.get(Constants.ERROR_TARGET).textValue());
+ }
+
+ return new ResWrap<JSONODataErrorDetailImpl>((URI) null, null, error);
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6f1f4d05/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDetailImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDetailImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDetailImpl.java
new file mode 100644
index 0000000..2f4585a
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONODataErrorDetailImpl.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.olingo.commons.core.data;
+
+import org.apache.olingo.commons.api.domain.ODataErrorDetail;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+/*
+ * JSONODataErrorDetailImpl, using the JSONODataErrorDetailDeserializer similar to JSONODataErrorImpl's.
+ */
+@JsonDeserialize(using = JSONODataErrorDetailDeserializer.class)
+public class JSONODataErrorDetailImpl implements ODataErrorDetail {
+
+ private String code;
+
+ private String message;
+
+ private String target;
+
+ @Override
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(final String code) {
+ this.code = code;
+ }
+
+ @Override
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(final String message) {
+ this.message = message;
+ }
+
+ @Override
+ public String getTarget() {
+ return target;
+ }
+
+ public void setTarget(final String target) {
+ this.target = target;
+ }
+}
\ No newline at end of file
[2/2] git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/olingo-odata4 into olingo274
Posted by ch...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/olingo-odata4 into olingo274
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/c32f4a0b
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/c32f4a0b
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/c32f4a0b
Branch: refs/heads/master
Commit: c32f4a0bb1bf9fa111bd66b439871f908f327e17
Parents: 6f1f4d0 f1cbc4a
Author: challenh <ch...@apache.org>
Authored: Mon May 12 16:22:10 2014 +0800
Committer: challenh <ch...@apache.org>
Committed: Mon May 12 16:22:10 2014 +0800
----------------------------------------------------------------------
.../ext/proxy/EntityContainerFactory.java | 115 ++
.../olingo/ext/proxy/api/AbstractContainer.java | 32 -
.../apache/olingo/ext/proxy/api/Container.java | 32 +
.../olingo/ext/proxy/api/OperationExecutor.java | 27 +
.../proxy/api/annotations/EntityContainer.java | 2 +
.../ext/proxy/api/annotations/Parameter.java | 5 -
.../commons/AbstractInvocationHandler.java | 242 ++++
.../commons/AbstractTypeInvocationHandler.java | 307 ++++
.../commons/ComplexTypeInvocationHandler.java | 241 +++
.../commons/CompoundKeyElementWrapper.java | 57 +
.../olingo/ext/proxy/commons/ContainerImpl.java | 548 +++++++
.../EntityCollectionInvocationHandler.java | 140 ++
.../EntityContainerInvocationHandler.java | 108 ++
.../commons/EntitySetInvocationHandler.java | 403 +++++
.../ext/proxy/commons/EntitySetIterator.java | 85 ++
.../commons/EntityTypeInvocationHandler.java | 427 ++++++
.../proxy/commons/FactoryInvocationHandler.java | 84 ++
.../commons/OperationInvocationHandler.java | 218 +++
.../olingo/ext/proxy/commons/QueryImpl.java | 173 +++
.../ext/proxy/context/AttachedEntity.java | 41 +
.../ext/proxy/context/AttachedEntityStatus.java | 44 +
.../olingo/ext/proxy/context/Context.java | 37 +
.../olingo/ext/proxy/context/EntityContext.java | 199 +++
.../ext/proxy/context/EntityLinkDesc.java | 104 ++
.../olingo/ext/proxy/context/EntityUUID.java | 102 ++
.../olingo/ext/proxy/utils/ClassUtils.java | 141 ++
.../olingo/ext/proxy/utils/CoreUtils.java | 492 +++++++
ext/pojogen-maven-plugin/pom.xml | 2 +-
.../src/it/actionOverloadingService/pom.xml | 92 --
.../it/actionOverloadingService/verify.groovy | 20 -
.../src/it/defaultService/pom.xml | 92 --
.../src/it/defaultService/verify.groovy | 20 -
.../src/it/keyAsSegmentService/pom.xml | 92 --
.../src/it/keyAsSegmentService/verify.groovy | 20 -
.../src/it/northwind/pom.xml | 92 --
.../src/it/northwind/verify.groovy | 20 -
.../src/it/odataWriterDefaultService/pom.xml | 92 --
.../it/odataWriterDefaultService/verify.groovy | 20 -
.../src/it/openTypeService/pom.xml | 92 --
.../src/it/openTypeService/verify.groovy | 20 -
.../src/it/primitiveKeysService/pom.xml | 92 --
.../src/it/primitiveKeysService/verify.groovy | 20 -
.../src/it/staticServiceV3/pom.xml | 92 --
.../src/it/staticServiceV3/verify.groovy | 20 -
.../src/it/staticServiceV4/pom.xml | 92 --
.../src/it/staticServiceV4/verify.groovy | 20 -
.../ext/pojogen/AbstractMetadataMojo.java | 1 -
.../olingo/ext/pojogen/AbstractUtility.java | 31 +-
.../olingo/ext/pojogen/V3MetadataMojo.java | 244 ++--
.../olingo/ext/pojogen/V4MetadataMojo.java | 260 ++--
.../src/main/resources/complexType.vm | 3 +-
.../src/main/resources/container.vm | 8 +-
.../src/main/resources/entityCollection.vm | 7 +-
.../src/main/resources/entitySet.vm | 6 +-
.../src/main/resources/entityType.vm | 40 +-
.../src/main/resources/entityTypeKey.vm | 3 +-
.../src/main/resources/singleton.vm | 3 +-
.../src/main/resources/v30/complexType.vm | 30 +-
.../src/main/resources/v40/complexType.vm | 29 +-
fit/pom.xml | 6 +
fit/src/it/staticServiceV3/pom.xml | 2 +-
fit/src/it/staticServiceV3/verify.groovy | 2 +-
fit/src/it/staticServiceV4/pom.xml | 2 +-
fit/src/it/staticServiceV4/verify.groovy | 2 +-
.../org/apache/olingo/fit/AbstractServices.java | 98 +-
.../apache/olingo/fit/V3ActionOverloading.java | 2 +-
.../java/org/apache/olingo/fit/V3OpenType.java | 7 +-
.../java/org/apache/olingo/fit/V3Services.java | 7 +-
.../main/java/org/apache/olingo/fit/V4Demo.java | 171 +++
.../java/org/apache/olingo/fit/V4OpenType.java | 9 +-
.../java/org/apache/olingo/fit/V4Services.java | 55 +-
.../org/apache/olingo/fit/V4Vocabularies.java | 8 +-
.../apache/olingo/fit/metadata/EntityType.java | 24 +-
.../apache/olingo/fit/metadata/Metadata.java | 42 +-
.../olingo/fit/utils/AbstractUtilities.java | 76 +-
.../org/apache/olingo/fit/utils/Commons.java | 20 +-
.../org/apache/olingo/fit/utils/Constants.java | 1 +
.../org/apache/olingo/fit/utils/DataBinder.java | 61 +-
.../org/apache/olingo/fit/utils/FSManager.java | 6 +-
.../apache/olingo/fit/utils/JSONUtilities.java | 5 +-
.../apache/olingo/fit/utils/XMLUtilities.java | 7 +-
.../resources/V30/AllGeoTypesSet/-10/entity.xml | 161 ++
.../main/resources/V30/AllGeoTypesSet/feed.xml | 1371 ++++++++++++++++++
fit/src/main/resources/V30/Computer/feed.xml | 207 +++
.../V30/CustomerInfo/16/entity.full.json | 11 +
.../resources/V30/CustomerInfo/16/entity.xml | 37 +
fit/src/main/resources/V30/Message/feed.xml | 277 ++++
.../feed.full.json | 30 +
.../feed.xml | 69 +
fit/src/main/resources/V30/Person/feed.xml | 307 ++++
.../$value.bin | 0
.../entity.full.json | 16 +
.../entity.xml | 40 +
.../resources/V40/Advertisements/feed.full.json | 31 +
.../main/resources/V40/Advertisements/feed.xml | 65 +
.../feed.full.json | 96 ++
.../feed.xml | 103 ++
.../feed.full.json | 159 ++
.../feed.xml | 109 ++
fit/src/main/resources/V40/demoMetadata.xml | 172 +++
fit/src/main/resources/V40/openTypeMetadata.xml | 10 +-
.../main/webapp/WEB-INF/applicationContext.xml | 1 +
.../olingo/fit/proxy/v3/AbstractTest.java | 150 ++
.../proxy/v3/AuthEntityRetrieveTestITCase.java | 50 +
.../fit/proxy/v3/EntityCreateTestITCase.java | 210 +++
.../fit/proxy/v3/EntityRetrieveTestITCase.java | 247 ++++
.../fit/proxy/v3/EntitySetTestITCase.java | 98 ++
.../AllGeoCollectionTypesSet.java | 55 +
.../astoriadefaultservice/AllGeoTypesSet.java | 53 +
.../services/astoriadefaultservice/Car.java | 53 +
.../astoriadefaultservice/Computer.java | 53 +
.../astoriadefaultservice/ComputerDetail.java | 53 +
.../astoriadefaultservice/Customer.java | 53 +
.../astoriadefaultservice/CustomerInfo.java | 53 +
.../astoriadefaultservice/DefaultContainer.java | 160 ++
.../services/astoriadefaultservice/Driver.java | 53 +
.../astoriadefaultservice/LastLogin.java | 53 +
.../services/astoriadefaultservice/License.java | 53 +
.../services/astoriadefaultservice/Login.java | 53 +
.../astoriadefaultservice/MappedEntityType.java | 53 +
.../services/astoriadefaultservice/Message.java | 53 +
.../MessageAttachment.java | 53 +
.../services/astoriadefaultservice/Order.java | 53 +
.../astoriadefaultservice/OrderLine.java | 57 +
.../astoriadefaultservice/PageView.java | 55 +
.../services/astoriadefaultservice/Person.java | 59 +
.../astoriadefaultservice/PersonMetadata.java | 53 +
.../services/astoriadefaultservice/Product.java | 55 +
.../astoriadefaultservice/ProductDetail.java | 53 +
.../astoriadefaultservice/ProductPhoto.java | 53 +
.../astoriadefaultservice/ProductReview.java | 53 +
.../astoriadefaultservice/RSAToken.java | 53 +
.../astoriadefaultservice/package-info.java | 21 +
.../astoriadefaultservice/types/Aliases.java | 59 +
.../types/AllSpatialCollectionTypes.java | 91 ++
.../AllSpatialCollectionTypesCollection.java | 47 +
.../types/AllSpatialCollectionTypes_Simple.java | 230 +++
...SpatialCollectionTypes_SimpleCollection.java | 47 +
.../types/AllSpatialTypes.java | 459 ++++++
.../types/AllSpatialTypesCollection.java | 47 +
.../astoriadefaultservice/types/AuditInfo.java | 81 ++
.../types/BackOrderLine.java | 204 +++
.../types/BackOrderLine2.java | 204 +++
.../types/BackOrderLine2Collection.java | 47 +
.../types/BackOrderLineCollection.java | 47 +
.../astoriadefaultservice/types/Car.java | 163 +++
.../types/CarCollection.java | 47 +
.../types/ComplexToCategory.java | 73 +
.../types/ComplexWithAllPrimitiveTypes.java | 150 ++
.../astoriadefaultservice/types/Computer.java | 135 ++
.../types/ComputerCollection.java | 47 +
.../types/ComputerDetail.java | 259 ++++
.../types/ComputerDetailCollection.java | 47 +
.../types/ConcurrencyInfo.java | 66 +
.../types/ContactDetails.java | 114 ++
.../astoriadefaultservice/types/Contractor.java | 217 +++
.../types/ContractorCollection.java | 47 +
.../astoriadefaultservice/types/Customer.java | 295 ++++
.../types/CustomerCollection.java | 47 +
.../types/CustomerInfo.java | 117 ++
.../types/CustomerInfoCollection.java | 47 +
.../astoriadefaultservice/types/Dimensions.java | 73 +
.../types/DiscontinuedProduct.java | 383 +++++
.../types/DiscontinuedProductCollection.java | 47 +
.../astoriadefaultservice/types/Driver.java | 124 ++
.../types/DriverCollection.java | 47 +
.../astoriadefaultservice/types/Employee.java | 214 +++
.../types/EmployeeCollection.java | 59 +
.../astoriadefaultservice/types/LastLogin.java | 170 +++
.../types/LastLoginCollection.java | 47 +
.../astoriadefaultservice/types/License.java | 193 +++
.../types/LicenseCollection.java | 47 +
.../astoriadefaultservice/types/Login.java | 164 +++
.../types/LoginCollection.java | 47 +
.../types/MappedEntityType.java | 544 +++++++
.../types/MappedEntityTypeCollection.java | 47 +
.../astoriadefaultservice/types/Message.java | 259 ++++
.../types/MessageAttachment.java | 114 ++
.../types/MessageAttachmentCollection.java | 47 +
.../types/MessageCollection.java | 47 +
.../astoriadefaultservice/types/MessageKey.java | 74 +
.../astoriadefaultservice/types/Order.java | 165 +++
.../types/OrderCollection.java | 47 +
.../astoriadefaultservice/types/OrderLine.java | 203 +++
.../types/OrderLineCollection.java | 47 +
.../types/OrderLineKey.java | 74 +
.../astoriadefaultservice/types/PageView.java | 193 +++
.../types/PageViewCollection.java | 47 +
.../astoriadefaultservice/types/Person.java | 124 ++
.../types/PersonCollection.java | 47 +
.../types/PersonMetadata.java | 170 +++
.../types/PersonMetadataCollection.java | 47 +
.../astoriadefaultservice/types/Phone.java | 66 +
.../astoriadefaultservice/types/Product.java | 296 ++++
.../types/ProductCollection.java | 47 +
.../types/ProductDetail.java | 124 ++
.../types/ProductDetailCollection.java | 47 +
.../types/ProductPageView.java | 240 +++
.../types/ProductPageViewCollection.java | 47 +
.../types/ProductPhoto.java | 137 ++
.../types/ProductPhotoCollection.java | 47 +
.../types/ProductPhotoKey.java | 74 +
.../types/ProductReview.java | 170 +++
.../types/ProductReviewCollection.java | 47 +
.../types/ProductReviewKey.java | 85 ++
.../astoriadefaultservice/types/RSAToken.java | 124 ++
.../types/RSATokenCollection.java | 47 +
.../types/SpecialEmployee.java | 283 ++++
.../types/SpecialEmployeeCollection.java | 47 +
.../types/package-info.java | 21 +
.../olingo/fit/proxy/v4/AbstractTest.java | 81 ++
.../proxy/v4/AuthEntityRetrieveTestITCase.java | 49 +
.../fit/proxy/v4/EntityRetrieveTestITCase.java | 163 +++
.../fit/proxy/v4/EntitySetTestITCase.java | 75 +
.../services/odatawcfservice/Accounts.java | 53 +
.../odata/services/odatawcfservice/Boss.java | 54 +
.../odata/services/odatawcfservice/Company.java | 53 +
.../services/odatawcfservice/Customers.java | 53 +
.../odatawcfservice/DefaultStoredPI.java | 52 +
.../services/odatawcfservice/Departments.java | 53 +
.../services/odatawcfservice/Employees.java | 53 +
.../odatawcfservice/InMemoryEntities.java | 165 +++
.../services/odatawcfservice/LabourUnion.java | 52 +
.../services/odatawcfservice/OrderDetails.java | 53 +
.../odata/services/odatawcfservice/Orders.java | 53 +
.../odata/services/odatawcfservice/People.java | 57 +
.../odatawcfservice/ProductDetails.java | 53 +
.../odatawcfservice/ProductReviews.java | 53 +
.../services/odatawcfservice/Products.java | 53 +
.../services/odatawcfservice/PublicCompany.java | 53 +
.../services/odatawcfservice/StoredPIs.java | 53 +
.../odatawcfservice/SubscriptionTemplates.java | 53 +
.../services/odatawcfservice/VipCustomer.java | 52 +
.../services/odatawcfservice/package-info.java | 21 +
.../odatawcfservice/types/AccessLevel.java | 47 +
.../services/odatawcfservice/types/Account.java | 211 +++
.../types/AccountCollection.java | 47 +
.../odatawcfservice/types/AccountInfo.java | 89 ++
.../services/odatawcfservice/types/Address.java | 106 ++
.../services/odatawcfservice/types/Asset.java | 137 ++
.../odatawcfservice/types/AssetCollection.java | 47 +
.../services/odatawcfservice/types/Club.java | 114 ++
.../odatawcfservice/types/ClubCollection.java | 47 +
.../services/odatawcfservice/types/Color.java | 45 +
.../services/odatawcfservice/types/Company.java | 250 ++++
.../odatawcfservice/types/CompanyAddress.java | 134 ++
.../odatawcfservice/types/CompanyCategory.java | 46 +
.../types/CompanyCollection.java | 47 +
.../odatawcfservice/types/CreditCardPI.java | 293 ++++
.../types/CreditCardPICollection.java | 47 +
.../odatawcfservice/types/CreditRecord.java | 160 ++
.../types/CreditRecordCollection.java | 47 +
.../odatawcfservice/types/Customer.java | 361 +++++
.../types/CustomerCollection.java | 47 +
.../odatawcfservice/types/Department.java | 124 ++
.../types/DepartmentCollection.java | 47 +
.../odatawcfservice/types/Employee.java | 328 +++++
.../types/EmployeeCollection.java | 47 +
.../odatawcfservice/types/GiftCard.java | 173 +++
.../types/GiftCardCollection.java | 47 +
.../odatawcfservice/types/HomeAddress.java | 124 ++
.../odatawcfservice/types/LabourUnion.java | 114 ++
.../types/LabourUnionCollection.java | 47 +
.../services/odatawcfservice/types/Order.java | 190 +++
.../odatawcfservice/types/OrderCollection.java | 47 +
.../odatawcfservice/types/OrderDetail.java | 203 +++
.../types/OrderDetailCollection.java | 47 +
.../odatawcfservice/types/OrderDetailKey.java | 74 +
.../types/PaymentInstrument.java | 167 +++
.../types/PaymentInstrumentCollection.java | 47 +
.../services/odatawcfservice/types/Person.java | 290 ++++
.../odatawcfservice/types/PersonCollection.java | 47 +
.../services/odatawcfservice/types/Product.java | 305 ++++
.../types/ProductCollection.java | 60 +
.../odatawcfservice/types/ProductDetail.java | 192 +++
.../types/ProductDetailCollection.java | 47 +
.../odatawcfservice/types/ProductDetailKey.java | 74 +
.../odatawcfservice/types/ProductReview.java | 206 +++
.../types/ProductReviewCollection.java | 47 +
.../odatawcfservice/types/ProductReviewKey.java | 96 ++
.../odatawcfservice/types/PublicCompany.java | 286 ++++
.../types/PublicCompanyCollection.java | 47 +
.../odatawcfservice/types/Statement.java | 160 ++
.../types/StatementCollection.java | 47 +
.../odatawcfservice/types/StoredPI.java | 160 ++
.../types/StoredPICollection.java | 47 +
.../odatawcfservice/types/Subscription.java | 183 +++
.../types/SubscriptionCollection.java | 47 +
.../odatawcfservice/types/package-info.java | 21 +
.../olingo/fit/v3/AbstractTestITCase.java | 2 +-
.../apache/olingo/fit/v3/AsyncTestITCase.java | 2 +-
.../apache/olingo/fit/v3/BatchTestITCase.java | 13 +
.../olingo/fit/v3/EntityRetrieveTestITCase.java | 24 +-
.../olingo/fit/v3/MediaEntityTestITCase.java | 109 +-
.../olingo/fit/v3/QueryOptionsTestITCase.java | 2 +-
.../olingo/fit/v4/AbstractTestITCase.java | 9 +-
.../fit/v4/BoundOperationInvokeTestITCase.java | 20 +-
.../olingo/fit/v4/DerivedTypeTestITCase.java | 145 ++
.../olingo/fit/v4/EntityCreateTestITCase.java | 2 +-
.../olingo/fit/v4/EntityRetrieveTestITCase.java | 32 +-
.../olingo/fit/v4/EntitySetTestITCase.java | 13 +-
.../olingo/fit/v4/KeyAsSegmentTestITCase.java | 9 +-
.../olingo/fit/v4/MediaEntityTestITCase.java | 181 +++
.../olingo/fit/v4/OpenTypeTestITCase.java | 12 +-
.../olingo/fit/v4/PropertyTestITCase.java | 32 +-
.../olingo/fit/v4/PropertyValueTestITCase.java | 4 +-
.../olingo/fit/v4/QueryOptionsTestITCase.java | 53 +-
.../olingo/fit/v4/SingletonTestITCase.java | 102 ++
...che.olingo.ext.proxy.api.AbstractComplexType | 14 +
.../client/api/CommonEdmEnabledODataClient.java | 7 +
.../olingo/client/api/CommonODataClient.java | 4 +-
.../batch/CommonBatchRequestFactory.java | 8 +
.../request/batch/v3/BatchRequestFactory.java | 8 +-
.../request/batch/v4/BatchRequestFactory.java | 8 +-
.../request/cud/v4/CUDRequestFactory.java | 8 +
.../retrieve/v4/RetrieveRequestFactory.java | 5 +-
.../streamed/CommonStreamedRequestFactory.java | 67 -
.../streamed/StreamedRequestFactory.java | 67 +
.../streamed/v3/StreamedRequestFactory.java | 24 -
.../streamed/v4/StreamedRequestFactory.java | 24 -
.../olingo/client/api/op/CommonODataBinder.java | 9 +
.../olingo/client/api/uri/QueryOption.java | 7 +
.../olingo/client/api/uri/v4/SearchFactory.java | 31 +
.../olingo/client/api/uri/v4/URIBuilder.java | 12 +-
.../olingo/client/api/uri/v4/URISearch.java | 32 +
.../olingo/client/api/v3/ODataClient.java | 4 -
.../olingo/client/api/v4/ODataClient.java | 7 +-
.../request/cud/v4/CUDRequestFactoryImpl.java | 17 +
.../request/retrieve/ODataMediaRequestImpl.java | 3 +-
.../retrieve/v4/RetrieveRequestFactoryImpl.java | 6 +
.../AbstractStreamedRequestFactory.java | 77 -
.../streamed/StreamedRequestFactoryImpl.java | 77 +
.../streamed/v3/StreamedRequestFactoryImpl.java | 33 -
.../streamed/v4/StreamedRequestFactoryImpl.java | 33 -
.../olingo/client/core/edm/EdmClientImpl.java | 6 +-
.../olingo/client/core/edm/EdmSchemaImpl.java | 24 +-
.../client/core/edm/v3/EdmOperationProxy.java | 10 +-
.../client/core/op/AbstractODataBinder.java | 85 +-
.../client/core/op/impl/v3/ODataBinderImpl.java | 15 +-
.../client/core/op/impl/v4/ODataBinderImpl.java | 199 ++-
.../client/core/uri/AbstractURIBuilder.java | 15 +-
.../client/core/uri/v3/URIBuilderImpl.java | 5 -
.../client/core/uri/v4/URIBuilderImpl.java | 19 +-
.../core/v3/EdmEnabledODataClientImpl.java | 7 +
.../olingo/client/core/v3/ODataClientImpl.java | 4 +-
.../apache/olingo/client/core/v4/AndSearch.java | 42 +
.../core/v4/EdmEnabledODataClientImpl.java | 10 +-
.../olingo/client/core/v4/LiteralSearch.java | 35 +
.../apache/olingo/client/core/v4/NotSearch.java | 35 +
.../olingo/client/core/v4/ODataClientImpl.java | 12 +-
.../apache/olingo/client/core/v4/OrSearch.java | 42 +
.../client/core/v4/SearchFactoryImpl.java | 46 +
.../client/core/uri/v4/URIBuilderTest.java | 29 +-
.../olingo/client/core/v3/EntityTest.java | 2 +-
.../olingo/client/core/v3/MetadataTest.java | 33 +-
.../client/core/v3/PrimitiveValueTest.java | 2 +-
.../olingo/client/core/v4/EntityTest.java | 79 +-
.../apache/olingo/client/core/v4/JSONTest.java | 1 +
.../olingo/client/core/v4/MetadataTest.java | 10 +-
.../client/core/v3/ComputerDetail_-10.json | 29 +-
.../client/core/v3/PersonDetails_0_Person.json | 2 +-
.../core/v3/Product_-10_Dimensions_Width.json | 5 +-
.../apache/olingo/client/core/v4/annotated.json | 62 +
.../apache/olingo/client/core/v4/annotated.xml | 76 +
.../apache/olingo/commons/api/Constants.java | 2 +
.../olingo/commons/api/data/Annotatable.java | 29 +
.../olingo/commons/api/data/Annotation.java | 29 +
.../olingo/commons/api/data/DeletedEntity.java | 36 +
.../apache/olingo/commons/api/data/Delta.java | 8 +-
.../olingo/commons/api/data/DeltaLink.java | 36 +
.../apache/olingo/commons/api/data/Entity.java | 6 +-
.../olingo/commons/api/data/EntitySet.java | 2 +-
.../apache/olingo/commons/api/data/Link.java | 2 +-
.../apache/olingo/commons/api/data/Linked.java | 16 +
.../commons/api/data/LinkedComplexValue.java | 5 +-
.../olingo/commons/api/data/Property.java | 10 +-
.../olingo/commons/api/data/Valuable.java | 30 +
.../commons/api/domain/CommonODataEntity.java | 10 +-
.../api/domain/CommonODataObjectFactory.java | 4 +
.../olingo/commons/api/domain/ODataItem.java | 9 -
.../olingo/commons/api/domain/ODataLink.java | 20 +-
.../commons/api/domain/ODataPrimitiveValue.java | 4 +
.../api/domain/v4/ODataAnnotatatable.java | 26 +
.../commons/api/domain/v4/ODataAnnotation.java | 30 +
.../commons/api/domain/v4/ODataDeltaLink.java | 2 +-
.../commons/api/domain/v4/ODataEntity.java | 2 +-
.../commons/api/domain/v4/ODataEntitySet.java | 2 +-
.../olingo/commons/api/domain/v4/ODataLink.java | 74 +
.../api/domain/v4/ODataLinkedComplexValue.java | 3 +-
.../api/domain/v4/ODataObjectFactory.java | 14 +
.../commons/api/domain/v4/ODataProperty.java | 39 +-
.../commons/api/domain/v4/ODataValuable.java | 104 ++
.../olingo/commons/api/domain/v4/Singleton.java | 22 +
.../core/data/AbstractAnnotatedObject.java | 37 +
.../commons/core/data/AbstractAtomDealer.java | 4 +
.../commons/core/data/AbstractEntity.java | 32 +-
.../core/data/AbstractJsonDeserializer.java | 101 +-
.../core/data/AbstractJsonSerializer.java | 34 +-
.../commons/core/data/AbstractODataObject.java | 2 +-
.../commons/core/data/AbstractProperty.java | 23 +-
.../commons/core/data/AnnotationImpl.java | 63 +
.../commons/core/data/AtomDeserializer.java | 104 +-
.../core/data/AtomGeoValueDeserializer.java | 5 +
.../commons/core/data/AtomSerializer.java | 47 +-
.../commons/core/data/DeletedEntityImpl.java | 50 +
.../olingo/commons/core/data/DeltaLinkImpl.java | 64 +
.../core/data/JSONDeltaDeserializer.java | 11 +-
.../core/data/JSONEntityDeserializer.java | 59 +-
.../commons/core/data/JSONEntitySerializer.java | 17 +-
.../core/data/JSONEntitySetDeserializer.java | 18 +
.../core/data/JSONEntitySetSerializer.java | 5 +
.../core/data/JSONPropertyDeserializer.java | 19 +
.../core/data/JSONPropertySerializer.java | 11 +-
.../olingo/commons/core/data/LinkImpl.java | 2 +-
.../core/data/LinkedComplexValueImpl.java | 29 +
.../commons/core/data/v4/AbstractDelta.java | 16 +-
.../core/domain/AbstractODataEntity.java | 22 +-
.../core/domain/AbstractODataObjectFactory.java | 14 -
.../domain/AbstractODataPrimitiveValue.java | 12 +-
.../core/domain/AbstractODataProperty.java | 9 -
.../core/domain/v3/ODataObjectFactoryImpl.java | 24 +
.../core/domain/v4/ODataAnnotationImpl.java | 102 ++
.../core/domain/v4/ODataComplexValueImpl.java | 9 +
.../core/domain/v4/ODataDeletedEntityImpl.java | 8 +-
.../core/domain/v4/ODataDeltaLinkImpl.java | 22 +-
.../commons/core/domain/v4/ODataEntityImpl.java | 11 +-
.../core/domain/v4/ODataEntitySetImpl.java | 12 +-
.../core/domain/v4/ODataObjectFactoryImpl.java | 32 +
.../core/domain/v4/ODataPropertyImpl.java | 37 +-
.../core/domain/v4/ODataValuableImpl.java | 120 ++
.../core/edm/primitivetype/EdmDateTime.java | 30 +-
pom.xml | 4 +-
432 files changed, 31220 insertions(+), 2380 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c32f4a0b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/Constants.java
----------------------------------------------------------------------