You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2015/04/23 16:02:05 UTC
[11/11] olingo-odata4 git commit: [OLINGO-564] Renamed client edm
classes
[OLINGO-564] Renamed client edm classes
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/754e23ab
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/754e23ab
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/754e23ab
Branch: refs/heads/OLINGO-564
Commit: 754e23abee9918bf6eca6bcbf97e4d1007b0b910
Parents: cceceaf
Author: Michael Bolz <mi...@sap.com>
Authored: Thu Apr 23 15:57:22 2015 +0200
Committer: Michael Bolz <mi...@sap.com>
Committed: Thu Apr 23 15:57:22 2015 +0200
----------------------------------------------------------------------
.../retrieve/XMLMetadataRequestImpl.java | 10 +-
.../edm/xml/AbstractClientEdmDeserializer.java | 62 ++++
.../core/edm/xml/AbstractEdmDeserializer.java | 61 ----
.../olingo/client/core/edm/xml/ActionImpl.java | 68 ----
.../client/core/edm/xml/ActionImportImpl.java | 58 ---
.../client/core/edm/xml/AnnotationImpl.java | 67 ----
.../client/core/edm/xml/AnnotationsImpl.java | 62 ----
.../client/core/edm/xml/ClientAction.java | 68 ++++
.../client/core/edm/xml/ClientActionImport.java | 58 +++
.../client/core/edm/xml/ClientAnnotation.java | 67 ++++
.../client/core/edm/xml/ClientAnnotations.java | 62 ++++
.../client/core/edm/xml/ClientComplexType.java | 72 ++++
.../client/core/edm/xml/ClientDataServices.java | 93 +++++
.../olingo/client/core/edm/xml/ClientEdmx.java | 95 +++++
.../core/edm/xml/ClientEntityContainer.java | 72 ++++
.../client/core/edm/xml/ClientEntityKey.java | 63 ++++
.../client/core/edm/xml/ClientEntitySet.java | 65 ++++
.../client/core/edm/xml/ClientEntityType.java | 76 ++++
.../client/core/edm/xml/ClientEnumMember.java | 57 +++
.../client/core/edm/xml/ClientEnumType.java | 65 ++++
.../client/core/edm/xml/ClientFunction.java | 69 ++++
.../core/edm/xml/ClientFunctionImport.java | 64 ++++
.../client/core/edm/xml/ClientInclude.java | 76 ++++
.../core/edm/xml/ClientIncludeAnnotations.java | 88 +++++
.../core/edm/xml/ClientNavigationProperty.java | 80 +++++
.../xml/ClientNavigationPropertyBinding.java | 66 ++++
.../client/core/edm/xml/ClientOnDelete.java | 54 +++
.../client/core/edm/xml/ClientParameter.java | 84 +++++
.../client/core/edm/xml/ClientProperty.java | 88 +++++
.../client/core/edm/xml/ClientPropertyRef.java | 54 +++
.../client/core/edm/xml/ClientReference.java | 98 +++++
.../edm/xml/ClientReferentialConstraint.java | 54 +++
.../client/core/edm/xml/ClientReturnType.java | 78 ++++
.../client/core/edm/xml/ClientSchema.java | 86 +++++
.../client/core/edm/xml/ClientSingleton.java | 62 ++++
.../olingo/client/core/edm/xml/ClientTerm.java | 83 +++++
.../core/edm/xml/ClientTypeDefinition.java | 74 ++++
.../client/core/edm/xml/ClientXMLMetadata.java | 75 ++++
.../client/core/edm/xml/ComplexTypeImpl.java | 72 ----
.../client/core/edm/xml/DataServicesImpl.java | 93 -----
.../olingo/client/core/edm/xml/EdmxImpl.java | 95 -----
.../core/edm/xml/EntityContainerImpl.java | 72 ----
.../client/core/edm/xml/EntityKeyImpl.java | 63 ----
.../client/core/edm/xml/EntitySetImpl.java | 65 ----
.../client/core/edm/xml/EntityTypeImpl.java | 76 ----
.../client/core/edm/xml/EnumMemberImpl.java | 57 ---
.../client/core/edm/xml/EnumTypeImpl.java | 65 ----
.../client/core/edm/xml/FunctionImpl.java | 69 ----
.../client/core/edm/xml/FunctionImportImpl.java | 64 ----
.../core/edm/xml/IncludeAnnotationsImpl.java | 88 -----
.../olingo/client/core/edm/xml/IncludeImpl.java | 76 ----
.../edm/xml/NavigationPropertyBindingImpl.java | 66 ----
.../core/edm/xml/NavigationPropertyImpl.java | 80 -----
.../client/core/edm/xml/OnDeleteImpl.java | 54 ---
.../client/core/edm/xml/ParameterImpl.java | 84 -----
.../client/core/edm/xml/PropertyImpl.java | 88 -----
.../client/core/edm/xml/PropertyRefImpl.java | 54 ---
.../client/core/edm/xml/ReferenceImpl.java | 98 -----
.../core/edm/xml/ReferentialConstraintImpl.java | 54 ---
.../client/core/edm/xml/ReturnTypeImpl.java | 78 ----
.../olingo/client/core/edm/xml/SchemaImpl.java | 86 -----
.../client/core/edm/xml/SingletonImpl.java | 62 ----
.../olingo/client/core/edm/xml/TermImpl.java | 83 -----
.../client/core/edm/xml/TypeDefinitionImpl.java | 74 ----
.../client/core/edm/xml/XMLMetadataImpl.java | 75 ----
...tAnnotatableDynamicAnnotationExpression.java | 38 --
.../AbstractAnnotationExpression.java | 49 ---
...tAnnotatableDynamicAnnotationExpression.java | 38 ++
.../AbstractClientAnnotationExpression.java | 49 +++
...stractClientDynamicAnnotationExpression.java | 357 +++++++++++++++++++
...tractClientElementOrAttributeExpression.java | 37 ++
.../AbstractDynamicAnnotationExpression.java | 356 ------------------
.../AbstractElementOrAttributeExpression.java | 37 --
.../edm/xml/annotation/AnnotationPathImpl.java | 27 --
.../core/edm/xml/annotation/ApplyImpl.java | 82 -----
.../core/edm/xml/annotation/CastImpl.java | 139 --------
.../xml/annotation/ClientAnnotationPath.java | 27 ++
.../core/edm/xml/annotation/ClientApply.java | 82 +++++
.../core/edm/xml/annotation/ClientCast.java | 139 ++++++++
.../edm/xml/annotation/ClientCollection.java | 65 ++++
.../ClientConstantAnnotationExpression.java | 52 +++
.../core/edm/xml/annotation/ClientIf.java | 61 ++++
.../core/edm/xml/annotation/ClientIsOf.java | 138 +++++++
.../xml/annotation/ClientLabeledElement.java | 81 +++++
.../ClientLabeledElementReference.java | 28 ++
.../ClientNavigationPropertyPath.java | 28 ++
.../core/edm/xml/annotation/ClientNot.java | 39 ++
.../core/edm/xml/annotation/ClientNull.java | 53 +++
.../core/edm/xml/annotation/ClientPath.java | 27 ++
.../edm/xml/annotation/ClientPropertyPath.java | 27 ++
.../edm/xml/annotation/ClientPropertyValue.java | 82 +++++
.../core/edm/xml/annotation/ClientRecord.java | 78 ++++
...tTwoParamsOpDynamicAnnotationExpression.java | 62 ++++
.../core/edm/xml/annotation/ClientUrlRef.java | 66 ++++
.../core/edm/xml/annotation/CollectionImpl.java | 65 ----
.../ConstantAnnotationExpressionImpl.java | 52 ---
.../client/core/edm/xml/annotation/IfImpl.java | 61 ----
.../core/edm/xml/annotation/IsOfImpl.java | 138 -------
.../edm/xml/annotation/LabeledElementImpl.java | 81 -----
.../annotation/LabeledElementReferenceImpl.java | 28 --
.../annotation/NavigationPropertyPathImpl.java | 27 --
.../client/core/edm/xml/annotation/NotImpl.java | 39 --
.../core/edm/xml/annotation/NullImpl.java | 53 ---
.../core/edm/xml/annotation/PathImpl.java | 27 --
.../edm/xml/annotation/PropertyPathImpl.java | 27 --
.../edm/xml/annotation/PropertyValueImpl.java | 82 -----
.../core/edm/xml/annotation/RecordImpl.java | 78 ----
...ParamsOpDynamicAnnotationExpressionImpl.java | 62 ----
.../core/edm/xml/annotation/UrlRefImpl.java | 66 ----
.../ClientODataDeserializerImpl.java | 6 +-
.../olingo/client/core/uri/URIEscapeTest.java | 4 +-
.../client/core/uri/v4/FilterFactoryTest.java | 4 +-
.../olingo/client/core/v4/MetadataTest.java | 10 +-
113 files changed, 3941 insertions(+), 3938 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/XMLMetadataRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/XMLMetadataRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/XMLMetadataRequestImpl.java
index 20d1da1..510c9e6 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/XMLMetadataRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/XMLMetadataRequestImpl.java
@@ -31,8 +31,8 @@ import org.apache.olingo.client.api.edm.xml.Include;
import org.apache.olingo.client.api.edm.xml.IncludeAnnotations;
import org.apache.olingo.client.api.edm.xml.Reference;
import org.apache.olingo.client.api.edm.xml.XMLMetadata;
-import org.apache.olingo.client.core.edm.xml.AnnotationsImpl;
-import org.apache.olingo.client.core.edm.xml.SchemaImpl;
+import org.apache.olingo.client.core.edm.xml.ClientAnnotations;
+import org.apache.olingo.client.core.edm.xml.ClientSchema;
import org.apache.olingo.commons.api.edm.provider.Annotation;
import org.apache.olingo.commons.api.edm.provider.Annotations;
import org.apache.olingo.commons.api.edm.provider.Schema;
@@ -68,7 +68,7 @@ public class XMLMetadataRequestImpl
if (includedSchema != null) {
response.getBody().getSchemas().add(includedSchema);
if (StringUtils.isNotBlank(include.getAlias())) {
- ((SchemaImpl) includedSchema).setAlias(include.getAlias());
+ ((ClientSchema) includedSchema).setAlias(include.getAlias());
}
}
}
@@ -77,7 +77,7 @@ public class XMLMetadataRequestImpl
for (IncludeAnnotations include : reference.getIncludeAnnotations()) {
for (Schema schema : includeMetadata.getSchemas()) {
// create empty schema that will be fed with edm:Annotations that match the criteria in IncludeAnnotations
- final SchemaImpl forInclusion = new SchemaImpl();
+ final ClientSchema forInclusion = new ClientSchema();
forInclusion.setNamespace(schema.getNamespace());
forInclusion.setAlias(schema.getAlias());
@@ -91,7 +91,7 @@ public class XMLMetadataRequestImpl
&& (StringUtils.isBlank(include.getQualifier())
|| include.getQualifier().equals(annotationGroup.getQualifier()))) {
- final AnnotationsImpl toBeIncluded = new AnnotationsImpl();
+ final ClientAnnotations toBeIncluded = new ClientAnnotations();
toBeIncluded.setTarget(annotationGroup.getTarget());
toBeIncluded.setQualifier(annotationGroup.getQualifier());
// only import annotations with terms matching the given TermNamespace
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractClientEdmDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractClientEdmDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractClientEdmDeserializer.java
new file mode 100644
index 0000000..e02c054
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractClientEdmDeserializer.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.client.core.edm.xml;
+
+import java.io.IOException;
+
+import org.apache.olingo.client.core.edm.xml.annotation.ClientConstantAnnotationExpression;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser;
+
+public abstract class AbstractClientEdmDeserializer<T> extends JsonDeserializer<T> {
+
+ protected boolean isAnnotationConstExprConstruct(final JsonParser jp) throws IOException {
+ return ClientConstantAnnotationExpression.Type.fromString(jp.getCurrentName()) != null;
+ }
+
+ protected ClientConstantAnnotationExpression parseAnnotationConstExprConstruct(final JsonParser jp)
+ throws IOException {
+ final ClientConstantAnnotationExpression constExpr = new ClientConstantAnnotationExpression();
+ constExpr.setType(ClientConstantAnnotationExpression.Type.fromString(jp.getCurrentName()));
+ constExpr.setValue(jp.nextTextValue());
+ return constExpr;
+ }
+
+ protected ClientReturnType parseReturnType(final JsonParser jp, final String elementName) throws IOException {
+ final ClientReturnType returnType;
+ if (elementName.equals(((FromXmlParser) jp).getStaxReader().getLocalName())) {
+ returnType = new ClientReturnType();
+ returnType.setType(jp.nextTextValue());
+ } else {
+ jp.nextToken();
+ returnType = jp.readValueAs(ClientReturnType.class);
+ }
+ return returnType;
+ }
+
+ protected abstract T doDeserialize(JsonParser jp, DeserializationContext ctxt) throws IOException;
+
+ @Override
+ public T deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException {
+ return doDeserialize(jp, ctxt);
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEdmDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEdmDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEdmDeserializer.java
deleted file mode 100644
index 6453431..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEdmDeserializer.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.client.core.edm.xml;
-
-import java.io.IOException;
-
-import org.apache.olingo.client.core.edm.xml.annotation.ConstantAnnotationExpressionImpl;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser;
-
-public abstract class AbstractEdmDeserializer<T> extends JsonDeserializer<T> {
-
- protected boolean isAnnotationConstExprConstruct(final JsonParser jp) throws IOException {
- return ConstantAnnotationExpressionImpl.Type.fromString(jp.getCurrentName()) != null;
- }
-
- protected ConstantAnnotationExpressionImpl parseAnnotationConstExprConstruct(final JsonParser jp) throws IOException {
- final ConstantAnnotationExpressionImpl constExpr = new ConstantAnnotationExpressionImpl();
- constExpr.setType(ConstantAnnotationExpressionImpl.Type.fromString(jp.getCurrentName()));
- constExpr.setValue(jp.nextTextValue());
- return constExpr;
- }
-
- protected ReturnTypeImpl parseReturnType(final JsonParser jp, final String elementName) throws IOException {
- final ReturnTypeImpl returnType;
- if (elementName.equals(((FromXmlParser) jp).getStaxReader().getLocalName())) {
- returnType = new ReturnTypeImpl();
- returnType.setType(jp.nextTextValue());
- } else {
- jp.nextToken();
- returnType = jp.readValueAs(ReturnTypeImpl.class);
- }
- return returnType;
- }
-
- protected abstract T doDeserialize(JsonParser jp, DeserializationContext ctxt) throws IOException;
-
- @Override
- public T deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException {
- return doDeserialize(jp, ctxt);
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImpl.java
deleted file mode 100644
index 3aaedba..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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.client.core.edm.xml;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.commons.api.edm.provider.Action;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-import java.io.IOException;
-
-@JsonDeserialize(using = ActionImpl.ActionDeserializer.class)
-public class ActionImpl extends Action {
-
- private static final long serialVersionUID = 5321541275349234088L;
-
- static class ActionDeserializer extends AbstractEdmDeserializer<ActionImpl> {
-
- @Override
- protected ActionImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException {
-
- final ActionImpl action = new ActionImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Name".equals(jp.getCurrentName())) {
- action.setName(jp.nextTextValue());
- } else if ("IsBound".equals(jp.getCurrentName())) {
- action.setBound(BooleanUtils.toBoolean(jp.nextTextValue()));
- } else if ("EntitySetPath".equals(jp.getCurrentName())) {
- action.setEntitySetPath(jp.nextTextValue());
- } else if ("Parameter".equals(jp.getCurrentName())) {
- jp.nextToken();
- action.getParameters().add(jp.readValueAs(ParameterImpl.class));
- } else if ("ReturnType".equals(jp.getCurrentName())) {
- action.setReturnType(parseReturnType(jp, "Action"));
- } else if ("Annotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- action.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
- }
- }
- }
-
- return action;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImportImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImportImpl.java
deleted file mode 100644
index 7b834a0..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImportImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * 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.client.core.edm.xml;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.commons.api.edm.provider.ActionImport;
-
-import java.io.IOException;
-
-@JsonDeserialize(using = ActionImportImpl.ActionImportDeserializer.class)
-public class ActionImportImpl extends ActionImport {
-
- private static final long serialVersionUID = 2971468441177647068L;
-
- static class ActionImportDeserializer extends AbstractEdmDeserializer<ActionImportImpl> {
-
- @Override
- protected ActionImportImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException {
-
- final ActionImportImpl action = new ActionImportImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Action".equals(jp.getCurrentName())) {
- action.setAction(jp.nextTextValue());
- } else if ("Name".equals(jp.getCurrentName())) {
- action.setName(jp.nextTextValue());
- } else if ("EntitySet".equals(jp.getCurrentName())) {
- action.setEntitySet(jp.nextTextValue());
- }
- }
- }
-
- return action;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationImpl.java
deleted file mode 100644
index 95939ec..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationImpl.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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.client.core.edm.xml;
-
-import java.io.IOException;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import org.apache.olingo.client.core.edm.xml.annotation.AbstractDynamicAnnotationExpression;
-import org.apache.olingo.commons.api.edm.provider.Annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = AnnotationImpl.AnnotationDeserializer.class)
-public class AnnotationImpl extends Annotation {
-
- private static final long serialVersionUID = 5464714417411058033L;
-
- static class AnnotationDeserializer extends AbstractEdmDeserializer<Annotation> {
-
- @Override
- protected Annotation doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException {
-
- final AnnotationImpl annotation = new AnnotationImpl();
-
- for (; jp.getCurrentToken() != null && jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Term".equals(jp.getCurrentName())) {
- annotation.setTerm(jp.nextTextValue());
- } else if ("Qualifier".equals(jp.getCurrentName())) {
- annotation.setQualifier(jp.nextTextValue());
- } else if ("Annotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- annotation.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
- } else if (isAnnotationConstExprConstruct(jp)) {
- // Constant Expressions
- annotation.setExpression(parseAnnotationConstExprConstruct(jp));
- } else {
- // Dynamic Expressions
- annotation.setExpression(jp.readValueAs(AbstractDynamicAnnotationExpression.class));
- }
- }
- }
-
- return annotation;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationsImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationsImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationsImpl.java
deleted file mode 100644
index 21aff68..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationsImpl.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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.client.core.edm.xml;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import org.apache.olingo.commons.api.edm.provider.Annotations;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-import java.io.IOException;
-
-@JsonDeserialize(using = AnnotationsImpl.AnnotationsDeserializer.class)
-public class AnnotationsImpl extends Annotations {
-
- private static final long serialVersionUID = -5961207981571644200L;
-
- static class AnnotationsDeserializer extends AbstractEdmDeserializer<AnnotationsImpl> {
-
- @Override
- protected AnnotationsImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException {
-
- final AnnotationsImpl annotations = new AnnotationsImpl();
-
- for (; jp.getCurrentToken() != null && jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Target".equals(jp.getCurrentName())) {
- annotations.setTarget(jp.nextTextValue());
- } else if ("Qualifier".equals(jp.getCurrentName())) {
- annotations.setQualifier(jp.nextTextValue());
- } else if ("Annotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- annotations.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
- }
- }
- }
-
- return annotations;
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAction.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAction.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAction.java
new file mode 100644
index 0000000..57bdad6
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAction.java
@@ -0,0 +1,68 @@
+/*
+ * 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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.commons.api.edm.provider.Action;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientAction.ActionDeserializer.class)
+public class ClientAction extends Action {
+
+ private static final long serialVersionUID = 5321541275349234088L;
+
+ static class ActionDeserializer extends AbstractClientEdmDeserializer<ClientAction> {
+
+ @Override
+ protected ClientAction doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientAction action = new ClientAction();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ action.setName(jp.nextTextValue());
+ } else if ("IsBound".equals(jp.getCurrentName())) {
+ action.setBound(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("EntitySetPath".equals(jp.getCurrentName())) {
+ action.setEntitySetPath(jp.nextTextValue());
+ } else if ("Parameter".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ action.getParameters().add(jp.readValueAs(ClientParameter.class));
+ } else if ("ReturnType".equals(jp.getCurrentName())) {
+ action.setReturnType(parseReturnType(jp, "Action"));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ action.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ }
+ }
+ }
+
+ return action;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientActionImport.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientActionImport.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientActionImport.java
new file mode 100644
index 0000000..8c251f3
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientActionImport.java
@@ -0,0 +1,58 @@
+/*
+ * 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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.commons.api.edm.provider.ActionImport;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientActionImport.ActionImportDeserializer.class)
+public class ClientActionImport extends ActionImport {
+
+ private static final long serialVersionUID = 2971468441177647068L;
+
+ static class ActionImportDeserializer extends AbstractClientEdmDeserializer<ClientActionImport> {
+
+ @Override
+ protected ClientActionImport doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientActionImport action = new ClientActionImport();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Action".equals(jp.getCurrentName())) {
+ action.setAction(jp.nextTextValue());
+ } else if ("Name".equals(jp.getCurrentName())) {
+ action.setName(jp.nextTextValue());
+ } else if ("EntitySet".equals(jp.getCurrentName())) {
+ action.setEntitySet(jp.nextTextValue());
+ }
+ }
+ }
+
+ return action;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAnnotation.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAnnotation.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAnnotation.java
new file mode 100644
index 0000000..85b866d
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAnnotation.java
@@ -0,0 +1,67 @@
+/*
+ * 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.client.core.edm.xml;
+
+import java.io.IOException;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.olingo.client.core.edm.xml.annotation.AbstractClientDynamicAnnotationExpression;
+import org.apache.olingo.commons.api.edm.provider.Annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = ClientAnnotation.AnnotationDeserializer.class)
+public class ClientAnnotation extends Annotation {
+
+ private static final long serialVersionUID = 5464714417411058033L;
+
+ static class AnnotationDeserializer extends AbstractClientEdmDeserializer<Annotation> {
+
+ @Override
+ protected Annotation doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientAnnotation annotation = new ClientAnnotation();
+
+ for (; jp.getCurrentToken() != null && jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Term".equals(jp.getCurrentName())) {
+ annotation.setTerm(jp.nextTextValue());
+ } else if ("Qualifier".equals(jp.getCurrentName())) {
+ annotation.setQualifier(jp.nextTextValue());
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ annotation.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ } else if (isAnnotationConstExprConstruct(jp)) {
+ // Constant Expressions
+ annotation.setExpression(parseAnnotationConstExprConstruct(jp));
+ } else {
+ // Dynamic Expressions
+ annotation.setExpression(jp.readValueAs(AbstractClientDynamicAnnotationExpression.class));
+ }
+ }
+ }
+
+ return annotation;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAnnotations.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAnnotations.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAnnotations.java
new file mode 100644
index 0000000..55d9cbd
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientAnnotations.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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.olingo.commons.api.edm.provider.Annotations;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientAnnotations.AnnotationsDeserializer.class)
+public class ClientAnnotations extends Annotations {
+
+ private static final long serialVersionUID = -5961207981571644200L;
+
+ static class AnnotationsDeserializer extends AbstractClientEdmDeserializer<ClientAnnotations> {
+
+ @Override
+ protected ClientAnnotations doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientAnnotations annotations = new ClientAnnotations();
+
+ for (; jp.getCurrentToken() != null && jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Target".equals(jp.getCurrentName())) {
+ annotations.setTarget(jp.nextTextValue());
+ } else if ("Qualifier".equals(jp.getCurrentName())) {
+ annotations.setQualifier(jp.nextTextValue());
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ annotations.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ }
+ }
+ }
+
+ return annotations;
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientComplexType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientComplexType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientComplexType.java
new file mode 100644
index 0000000..ebc0452
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientComplexType.java
@@ -0,0 +1,72 @@
+/*
+ * 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 >ied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.commons.api.edm.provider.ComplexType;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientComplexType.ComplexTypeDeserializer.class)
+public class ClientComplexType extends ComplexType {
+
+ private static final long serialVersionUID = 4076944306925840115L;
+
+ static class ComplexTypeDeserializer extends AbstractClientEdmDeserializer<ComplexType> {
+
+ @Override
+ protected ComplexType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientComplexType complexType = new ClientComplexType();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ complexType.setName(jp.nextTextValue());
+ } else if ("Abstract".equals(jp.getCurrentName())) {
+ complexType.setAbstract(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("BaseType".equals(jp.getCurrentName())) {
+ complexType.setBaseType(jp.nextTextValue());
+ } else if ("OpenType".equals(jp.getCurrentName())) {
+ complexType.setOpenType(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("Property".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ complexType.getProperties().add(jp.readValueAs(ClientProperty.class));
+ } else if ("NavigationProperty".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ complexType.getNavigationProperties().add(jp.readValueAs(ClientNavigationProperty.class));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ complexType.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ }
+ }
+ }
+
+ return complexType;
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientDataServices.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientDataServices.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientDataServices.java
new file mode 100644
index 0000000..f68c457
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientDataServices.java
@@ -0,0 +1,93 @@
+/*
+ * 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.client.core.edm.xml;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.olingo.client.api.edm.xml.DataServices;
+import org.apache.olingo.commons.api.edm.provider.AbstractEdmItem;
+import org.apache.olingo.commons.api.edm.provider.Schema;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = ClientDataServices.DataServicesDeserializer.class)
+public class ClientDataServices extends AbstractEdmItem implements DataServices {
+
+ private static final long serialVersionUID = 4200317286476885204L;
+
+ private final List<Schema> schemas = new ArrayList<Schema>();
+
+ private String dataServiceVersion;
+
+ private String maxDataServiceVersion;
+
+ @Override
+ public String getDataServiceVersion() {
+ return dataServiceVersion;
+ }
+
+ public void setDataServiceVersion(final String version) {
+ this.dataServiceVersion = version;
+ }
+
+ @Override
+ public String getMaxDataServiceVersion() {
+ return maxDataServiceVersion;
+ }
+
+ public void setMaxDataServiceVersion(final String version) {
+ this.maxDataServiceVersion = version;
+ }
+
+ @Override
+ public List<Schema> getSchemas() {
+ return schemas;
+ }
+
+ static class DataServicesDeserializer extends AbstractClientEdmDeserializer<ClientDataServices> {
+
+ @Override
+ protected ClientDataServices doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientDataServices dataServices = new ClientDataServices();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("DataServiceVersion".equals(jp.getCurrentName())) {
+ dataServices.setDataServiceVersion(jp.nextTextValue());
+ } else if ("MaxDataServiceVersion".equals(jp.getCurrentName())) {
+ dataServices.setMaxDataServiceVersion(jp.nextTextValue());
+ } else if ("Schema".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ dataServices.getSchemas().add(jp.readValueAs(ClientSchema.class));
+ }
+ }
+ }
+
+ return dataServices;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEdmx.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEdmx.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEdmx.java
new file mode 100644
index 0000000..29a399c
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEdmx.java
@@ -0,0 +1,95 @@
+/*
+ * 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.client.core.edm.xml;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.olingo.client.api.edm.xml.DataServices;
+import org.apache.olingo.client.api.edm.xml.Edmx;
+import org.apache.olingo.client.api.edm.xml.Reference;
+import org.apache.olingo.commons.api.edm.provider.AbstractEdmItem;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = ClientEdmx.EdmxDeserializer.class)
+public class ClientEdmx extends AbstractEdmItem implements Edmx {
+
+ private static final long serialVersionUID = -6293476719276092572L;
+
+ private final List<Reference> references = new ArrayList<Reference>();
+
+ private String version;
+
+ private DataServices dataServices;
+
+ @Override
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(final String version) {
+ this.version = version;
+ }
+
+ @Override
+ public DataServices getDataServices() {
+ return dataServices;
+ }
+
+ public void setDataServices(final DataServices dataServices) {
+ this.dataServices = dataServices;
+ }
+
+ @Override
+ public List<Reference> getReferences() {
+ return references;
+ }
+
+ static class EdmxDeserializer extends AbstractClientEdmDeserializer<ClientEdmx> {
+
+ @Override
+ protected ClientEdmx doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientEdmx edmx = new ClientEdmx();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Version".equals(jp.getCurrentName())) {
+ edmx.setVersion(jp.nextTextValue());
+ } else if ("DataServices".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ edmx.setDataServices(jp.readValueAs(ClientDataServices.class));
+ } else if ("Reference".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ edmx.getReferences().add(jp.readValueAs(ClientReference.class));
+ }
+ }
+ }
+
+ return edmx;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityContainer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityContainer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityContainer.java
new file mode 100644
index 0000000..d91f8d3
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityContainer.java
@@ -0,0 +1,72 @@
+/*
+ * 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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.olingo.commons.api.edm.provider.EntityContainer;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientEntityContainer.EntityContainerDeserializer.class)
+public class ClientEntityContainer extends EntityContainer {
+
+ private static final long serialVersionUID = 5631432527646955795L;
+
+ static class EntityContainerDeserializer extends AbstractClientEdmDeserializer<ClientEntityContainer> {
+
+ @Override
+ protected ClientEntityContainer doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientEntityContainer entityContainer = new ClientEntityContainer();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ entityContainer.setName(jp.nextTextValue());
+ } else if ("Extends".equals(jp.getCurrentName())) {
+ entityContainer.setExtendsContainer(jp.nextTextValue());
+ } else if ("EntitySet".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entityContainer.getEntitySets().add(jp.readValueAs(ClientEntitySet.class));
+ } else if ("Singleton".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entityContainer.getSingletons().add(jp.readValueAs(ClientSingleton.class));
+ } else if ("ActionImport".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entityContainer.getActionImports().add(jp.readValueAs(ClientActionImport.class));
+ } else if ("FunctionImport".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entityContainer.getFunctionImports().add(jp.readValueAs(ClientFunctionImport.class));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entityContainer.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ }
+ }
+ }
+
+ return entityContainer;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityKey.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityKey.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityKey.java
new file mode 100644
index 0000000..f238699
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityKey.java
@@ -0,0 +1,63 @@
+/*
+ * 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.client.core.edm.xml;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.olingo.commons.api.edm.provider.AbstractEdmItem;
+import org.apache.olingo.commons.api.edm.provider.PropertyRef;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = ClientEntityKey.EntityKeyDeserializer.class)
+public class ClientEntityKey extends AbstractEdmItem {
+
+ private static final long serialVersionUID = 520227585458843347L;
+
+ private final List<PropertyRef> propertyRefs = new ArrayList<PropertyRef>();
+
+ public List<PropertyRef> getPropertyRefs() {
+ return propertyRefs;
+ }
+
+ static class EntityKeyDeserializer extends AbstractClientEdmDeserializer<ClientEntityKey> {
+ @Override
+ protected ClientEntityKey doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientEntityKey entityKey = new ClientEntityKey();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+
+ if (token == JsonToken.FIELD_NAME && "PropertyRef".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entityKey.getPropertyRefs().add(jp.readValueAs(ClientPropertyRef.class));
+ }
+ }
+
+ return entityKey;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntitySet.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntitySet.java
new file mode 100644
index 0000000..655f80d
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntitySet.java
@@ -0,0 +1,65 @@
+/*
+ * 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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.commons.api.edm.provider.EntitySet;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientEntitySet.EntitySetDeserializer.class)
+public class ClientEntitySet extends EntitySet {
+
+ private static final long serialVersionUID = -5553885465204370676L;
+
+ static class EntitySetDeserializer extends AbstractClientEdmDeserializer<EntitySet> {
+ @Override
+ protected EntitySet doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientEntitySet entitySet = new ClientEntitySet();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ entitySet.setName(jp.nextTextValue());
+ } else if ("EntityType".equals(jp.getCurrentName())) {
+ entitySet.setType(jp.nextTextValue());
+ } else if ("IncludeInServiceDocument".equals(jp.getCurrentName())) {
+ entitySet.setIncludeInServiceDocument(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("NavigationPropertyBinding".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entitySet.getNavigationPropertyBindings().add(jp.readValueAs(ClientNavigationPropertyBinding.class));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entitySet.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ }
+ }
+ }
+
+ return entitySet;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityType.java
new file mode 100644
index 0000000..9089bc9
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEntityType.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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.commons.api.edm.provider.EntityType;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientEntityType.EntityTypeDeserializer.class)
+public class ClientEntityType extends EntityType {
+
+ private static final long serialVersionUID = -3986417775876689669L;
+
+ static class EntityTypeDeserializer extends AbstractClientEdmDeserializer<EntityType> {
+ @Override
+ protected EntityType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientEntityType entityType = new ClientEntityType();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ entityType.setName(jp.nextTextValue());
+ } else if ("Abstract".equals(jp.getCurrentName())) {
+ entityType.setAbstract(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("BaseType".equals(jp.getCurrentName())) {
+ entityType.setBaseType(jp.nextTextValue());
+ } else if ("OpenType".equals(jp.getCurrentName())) {
+ entityType.setOpenType(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("HasStream".equals(jp.getCurrentName())) {
+ entityType.setHasStream(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("Key".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ ClientEntityKey keyImpl = jp.readValueAs(ClientEntityKey.class);
+ entityType.setKey(keyImpl.getPropertyRefs());
+ } else if ("Property".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entityType.getProperties().add(jp.readValueAs(ClientProperty.class));
+ } else if ("NavigationProperty".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entityType.getNavigationProperties().add(jp.readValueAs(ClientNavigationProperty.class));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ entityType.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ }
+ }
+ }
+
+ return entityType;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEnumMember.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEnumMember.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEnumMember.java
new file mode 100644
index 0000000..af6f64d
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEnumMember.java
@@ -0,0 +1,57 @@
+/*
+ * 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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.commons.api.edm.provider.EnumMember;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientEnumMember.EnumMemberDeserializer.class)
+public class ClientEnumMember extends EnumMember {
+
+ private static final long serialVersionUID = -6138606817225829791L;
+
+ static class EnumMemberDeserializer extends AbstractClientEdmDeserializer<EnumMember> {
+ @Override
+ protected EnumMember doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final EnumMember member = new EnumMember();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ member.setName(jp.nextTextValue());
+ } else if ("Value".equals(jp.getCurrentName())) {
+ member.setValue(jp.nextTextValue());
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ member.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ }
+ }
+ }
+ return member;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEnumType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEnumType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEnumType.java
new file mode 100644
index 0000000..284b5c9
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientEnumType.java
@@ -0,0 +1,65 @@
+/*
+ * 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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.commons.api.edm.provider.EnumType;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientEnumType.EnumTypeDeserializer.class)
+public class ClientEnumType extends EnumType {
+
+ private static final long serialVersionUID = 9191189755592743333L;
+
+ static class EnumTypeDeserializer extends AbstractClientEdmDeserializer<ClientEnumType> {
+ @Override
+ protected ClientEnumType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientEnumType enumType = new ClientEnumType();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ enumType.setName(jp.nextTextValue());
+ } else if ("UnderlyingType".equals(jp.getCurrentName())) {
+ enumType.setUnderlyingType(jp.nextTextValue());
+ } else if ("IsFlags".equals(jp.getCurrentName())) {
+ enumType.setFlags(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("Member".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ enumType.getMembers().add(jp.readValueAs(ClientEnumMember.class));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ enumType.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ }
+ }
+ }
+
+ return enumType;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientFunction.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientFunction.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientFunction.java
new file mode 100644
index 0000000..c9260f1
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientFunction.java
@@ -0,0 +1,69 @@
+/*
+ * 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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.commons.api.edm.provider.Function;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientFunction.FunctionDeserializer.class)
+public class ClientFunction extends Function {
+
+ private static final long serialVersionUID = -5494898295282843362L;
+
+ static class FunctionDeserializer extends AbstractClientEdmDeserializer<ClientFunction> {
+ @Override
+ protected ClientFunction doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientFunction functionImpl = new ClientFunction();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ functionImpl.setName(jp.nextTextValue());
+ } else if ("IsBound".equals(jp.getCurrentName())) {
+ functionImpl.setBound(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("IsComposable".equals(jp.getCurrentName())) {
+ functionImpl.setComposable(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("EntitySetPath".equals(jp.getCurrentName())) {
+ functionImpl.setEntitySetPath(jp.nextTextValue());
+ } else if ("Parameter".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ functionImpl.getParameters().add(jp.readValueAs(ClientParameter.class));
+ } else if ("ReturnType".equals(jp.getCurrentName())) {
+ functionImpl.setReturnType(parseReturnType(jp, "Function"));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ functionImpl.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ }
+ }
+ }
+
+ return functionImpl;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientFunctionImport.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientFunctionImport.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientFunctionImport.java
new file mode 100644
index 0000000..3a7230f
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientFunctionImport.java
@@ -0,0 +1,64 @@
+/*
+ * 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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.commons.api.edm.provider.FunctionImport;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientFunctionImport.FunctionImportDeserializer.class)
+public class ClientFunctionImport extends FunctionImport {
+
+ private static final long serialVersionUID = -1686801084142932402L;
+
+ static class FunctionImportDeserializer extends AbstractClientEdmDeserializer<ClientFunctionImport> {
+ @Override
+ protected ClientFunctionImport doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientFunctionImport functImpImpl = new ClientFunctionImport();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ functImpImpl.setName(jp.nextTextValue());
+ } else if ("Function".equals(jp.getCurrentName())) {
+ functImpImpl.setFunction(jp.nextTextValue());
+ } else if ("EntitySet".equals(jp.getCurrentName())) {
+ functImpImpl.setEntitySet(jp.nextTextValue());
+ } else if ("IncludeInServiceDocument".equals(jp.getCurrentName())) {
+ functImpImpl.setIncludeInServiceDocument(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ functImpImpl.getAnnotations().add(jp.readValueAs(ClientAnnotation.class));
+ }
+ }
+ }
+
+ return functImpImpl;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientInclude.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientInclude.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientInclude.java
new file mode 100644
index 0000000..01984e0
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientInclude.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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.client.api.edm.xml.Include;
+import org.apache.olingo.commons.api.edm.provider.AbstractEdmItem;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientInclude.IncludeDeserializer.class)
+public class ClientInclude extends AbstractEdmItem implements Include {
+
+ private static final long serialVersionUID = -5450008299655584221L;
+
+ private String namespace;
+ private String alias;
+
+ @Override
+ public String getNamespace() {
+ return namespace;
+ }
+
+ public void setNamespace(final String namespace) {
+ this.namespace = namespace;
+ }
+
+ @Override
+ public String getAlias() {
+ return alias;
+ }
+
+ public void setAlias(final String alias) {
+ this.alias = alias;
+ }
+
+ static class IncludeDeserializer extends AbstractClientEdmDeserializer<Include> {
+ @Override
+ protected Include doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientInclude include = new ClientInclude();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Namespace".equals(jp.getCurrentName())) {
+ include.setNamespace(jp.nextTextValue());
+ } else if ("Alias".equals(jp.getCurrentName())) {
+ include.setAlias(jp.nextTextValue());
+ }
+ }
+ }
+ return include;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/754e23ab/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientIncludeAnnotations.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientIncludeAnnotations.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientIncludeAnnotations.java
new file mode 100644
index 0000000..4cf80c0
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ClientIncludeAnnotations.java
@@ -0,0 +1,88 @@
+/*
+ * 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.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.client.api.edm.xml.IncludeAnnotations;
+import org.apache.olingo.commons.api.edm.provider.AbstractEdmItem;
+
+import java.io.IOException;
+
+@JsonDeserialize(using = ClientIncludeAnnotations.IncludeAnnotationsDeserializer.class)
+public class ClientIncludeAnnotations extends AbstractEdmItem implements IncludeAnnotations {
+
+ private static final long serialVersionUID = -8157841387011422396L;
+
+ private String termNamespace;
+ private String qualifier;
+ private String targetNamespace;
+
+ @Override
+ public String getTermNamespace() {
+ return termNamespace;
+ }
+
+ public void setTermNamespace(final String termNamespace) {
+ this.termNamespace = termNamespace;
+ }
+
+ @Override
+ public String getQualifier() {
+ return qualifier;
+ }
+
+ public void setQualifier(final String qualifier) {
+ this.qualifier = qualifier;
+ }
+
+ @Override
+ public String getTargetNamespace() {
+ return targetNamespace;
+ }
+
+ public void setTargetNamespace(final String targetNamespace) {
+ this.targetNamespace = targetNamespace;
+ }
+
+ static class IncludeAnnotationsDeserializer extends AbstractClientEdmDeserializer<IncludeAnnotations> {
+ @Override
+ protected IncludeAnnotations doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException {
+
+ final ClientIncludeAnnotations member = new ClientIncludeAnnotations();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("TermNamespace".equals(jp.getCurrentName())) {
+ member.setTermNamespace(jp.nextTextValue());
+ } else if ("Qualifier".equals(jp.getCurrentName())) {
+ member.setQualifier(jp.nextTextValue());
+ } else if ("TargetNamespace".equals(jp.getCurrentName())) {
+ member.setTargetNamespace(jp.nextTextValue());
+ }
+ }
+ }
+ return member;
+ }
+ }
+}